测试工具 订阅
软件测试是当前保证软件产品质量控制、管理与检测的重要手段,越来越受到各国企业的关注。随着软件测试的地位逐步提高,测试的重要性逐步显现,测试工具的应用已经成为了普遍的趋势。用于测试的工具种类繁多,一般包括白盒测试、黑盒测试、性能测试,以及测试管理等。 展开全文
软件测试是当前保证软件产品质量控制、管理与检测的重要手段,越来越受到各国企业的关注。随着软件测试的地位逐步提高,测试的重要性逐步显现,测试工具的应用已经成为了普遍的趋势。用于测试的工具种类繁多,一般包括白盒测试、黑盒测试、性能测试,以及测试管理等。
信息
外文名
Test tool
对    象
应用程序
名    词
名词
中文名
测试工具
工    具
WinRunner
测试工具评测工具标准
WinRunner™是一种企业级的功能测试工具,用于检验企业应用程序是否能如期进行。通过自动捕获、检测和重放用户的交互操作,WinRunner能够发现系统缺陷,并确保那些跨越多个应用程序和数据库的业务流程在初次发布就避免故障的出现,并且保持其长期稳定地运行。您的公司的程序开发员刚创建完成一个新的Web应用程序,然而在布署应用程序之前,您必须测试该程序,以确保其正常运行,不会产生错误,但这并非是您唯一需要检测的对象,因为人事部门刚刚升级他们的erp系统,而你的客户不再加一个CRM程序,所以问题就是如何有效的测试不断变化着的多重应用程序,而且这些应用程序存在于您的企业内部的不同环境之下--其实该问题也同样困扰着许多其他的公司。 如果资源有限的话,这个问题就比较棘手。人工测试的工作量大,况且您负担不起额外的时间来培训新的测试人员。为了确保那些复杂的应用程序在不同的环境下都可以可靠的运行,您需要一个易操作的测试工具来自动完成功能测试。MercuryInteractive的WinRunner软件为企业提供一个强大的功能测试工具。通过捕获、检测和重放用户对您企业Web应用程序的互动操作,WinRunner可自动执行功能测试。您因此可以辨认错误,确保应用程序顺利部署,并且能够安排和执行测试。一旦测试计划建立后,TestDirector的TestLabManager为测试日程制订提供一个基于Web的框架。他的SmartScheduler™根据测试计划中创立的指标对运行着的测试计划中创立的指标对运行着的测试执行监控。当网络上任何一台主机空闲,测试能够彻夜执行于其上,SmartScheduler能自动分辨是系统还是应用错误,然后将测试重新安排到网络上的其他机器。 TestDirector,对于不断改变的Web应用,经常性地执行测试是至关重要的,能够追查出错发生的环节并评估应用质量,然而,这些测试运行都要消耗测试资源和测试时间。使用GraphicDesigner图表设计,您可很快的将测试分类以满足不同的测试目的,如功能测试,负载测试,完整性测试等,他的拖动功能可简化设计和排列在多个机器上运行的测试,最终根据设定好的时间、路径或其他测试的成功和否,为序列测试制订执行日程。SmartScheduler能让您在更短的时间内,在更少的机器上完成更多的测试。用Winrunner®、Astra®、QuickTest™、AstraLoadTest或LoadRunner来自运动运行功能或负载测试,无论成功和否,测试信息都会被自动汇集传送到TestDirector的数据储存中央。同样,人工测试也以次方式运行。当测试完成后,项目经理必须解读这些测试数据,并将这些信息用于工作中。当有出错发现时,他们还要指定相关人员及时纠正。TestDirector的错误管理功能直接贯穿并作用于检测的全过程,以提供管理系统终端--终端的出错跟踪包括,从最初的问题发现到修改错误再到检验修改结果。由于同一项目组中的成员经常分布于不同的地方,TestDirector基于浏览器的特征,使出错管理能让多个用户何时何地都可通过Web查询出错跟踪情况。利用出错管理,测试人员只需要进入一个URL,就能够汇报何更新错误。过滤整理错误列表并作出趋势分析。再进入一个出错案例之前,测试人员还能够自动执行一次错误数据库搜寻确是否已有类似的案例记录,这已查寻功能能够避免重复劳动。测试过程的最后一步时分析测试结果,确定应用程式是否已部署成功或需要再次测试。TestDirector常规化的图表和报告和再测试的任何的任一环节帮助你对数据信息进行分析。TestDirector还以标准的HTML或Word形式提供一种生成和发送正式测试报告的一种简单方式。测试分析数据还能够简便地输入到一种工业标准化的报告工具,如Excel,Reportsmith,Crystal,Reports和其他类型的第三方工具。应用测试工具最广为人知的就是自动化工具,它们尝试来取代人力 ——让电脑完成点击并检查。测试自动化最常见的类型就是用户界面驱动的,用户记录一系列操作及其预期结果。用户界面自动化的两大常见类型是记录/回放这里一个工具记录下交互操作并且随后将这些操作自动化,期望得到相同的结果—并且是关键词驱动的—这里用户界面的元素。关键词驱动的测试通常在某个编程语言里创建,但是不一定非得如此;可以在电子表格里记录元素标识符,命令,输入和预期结果。持续集成工具就是支持类工具,可以检测到新代码的check-in,从而开始构建build,创建一个新的虚拟Web服务器—或者更新某个staging服务器—将新代码交付到目标机器上,运行自动化来测试程序,检查结果并且用邮件将失败信息发送给相关团队。对于很简单的软件而言,可以使用便利贴或者电子表格来跟踪bug报告。但是当软件更为复杂时,这就会变得很难用,公司就需要使用为解决此类问题而设计的专业软件。通常来说,专业的bug跟踪工具会报告bug的严重程度,优先级,发现问题的时间,确切的重现步骤,修复问题的人,问题在哪个build上被修复,以及提供搜索和标签的机制来帮助使用者找到某个defect。这些工具不仅仅能够帮助编程人员和项目经理;客户服务和已有用户也可以使用这些工具来查找某个问题是不是已知问题,是否已经计划修复,升级某个已知问题,并且汇报非已知问题。Bug跟踪工具也能够有助于工作流,因为可以将bug分配给编程人员,然后给测试人员重新检查,然后标记为待部署,并且在部署之后,标记为已部署。当我们讨论软件测试领域的覆盖率时,我们实际在探讨两个领域的问题。第一个领域是代码覆盖率,关注于被测试覆盖的软件的代码百分比。代码覆盖率最常见的类型是statement覆盖率,它是在测试流程运行过的statement的百分比——手动测试,自动测试或者两者。第二个领域是应用程序覆盖率,从另外的维度查看测试流程——通常是,被“覆盖”的需求百分比。常见的应用程序覆盖率工具之一是一个可跟踪的矩阵——一个列表,列出哪些测试覆盖了哪些需求。通常来说,测试用例管理软件记录了所有计划的测试,并且允许测试人员为某个给定版本将某个测试用例标记成“已执行”,这使得管理层可以了解多少百分比的测试已经“被覆盖”了。这是一种“质量保证”,检查测试流程,和管理控制一起来确保应用程序的每个部分都被覆盖了。 [1] 
收起全文
精华内容
参与话题
问答
  • 接口测试工具Postman接口测试图文教程

    万次阅读 多人点赞 2018-07-11 13:10:03
    市场上有很多优秀的,完善的接口测试工具,比如SoapUI,Postman等,能够高效的帮助后端开发人员独立进行接口测试。这里使用Postman接口测试工具,此处以请求方式为POST的userLogin登录接口为例。

    目录

    一、前言

    二、Postman安装和使用

    三、请求方式

    四、资金记录接口实例演示


    一、前言

        在前后端分离开发时,后端工作人员完成系统接口开发后,需要与前端人员对接,测试调试接口,验证接口的正确性可用性。而这要求前端开发进度和后端进度保持基本一致,任何一方的进度跟不上,都无法及时完成功能模块的测试。
        做为后端开发人员,要求独立开发完成某个接口后,开发人员自己需要先测试通过后再提交给测试人员进行测试,否则会出现到测试人员哪里业务流程根本就走不通,或者BUG会过多的情况等。
        市场上有很多优秀的,完善的接口测试工具,比如SoapUI,Postman等,能够高效的帮助后端开发人员独立进行接口测试。这里使用Postman接口测试工具,此处以请求方式为POST的userLogin登录接口为例。

    二、Postman安装和使用

        1、这个直接去官网下载即可,我们使用免费版即可满足基本接口测试,根据个人或者公司的项目实际情况考虑是否需要专业版或者其他。
     
    免费版官网链接:https://www.getpostman.com/postman
    下载好的安装程序Postman-Win64-xxx-Setup.exe,双击安装即可。建议安装在非系统盘,即C盘在外的其他盘,另建议使用全英文路径,避免使用中文路径。
     
        2、打开Postman如下图2-1,可以关闭该页面跳过注册账户,非登陆状态下该工具可以直接使用。接下来出现引导页面,类似IDEA,Android Studio等开发工具的引导页。此处关闭即可。
    图2-1注册账户图
     
    图2-2项目创建引导图

    3、进入Postman主页面并创建项目接口集合

        这里是我之前用过,所以左侧文件栏存在几个已有的文件夹。
        选择功能菜单New下的Collection创建项目接口集合。新建一个亿的项目A hundred million,可在Description部分写一下项目描述。

    图2-3Postman主页面
     
    图2-4新建项目接口集合图

    4、创建项目模块文件夹

        一般项目会分多个管理模块或者功能模块进行开发。这里可根据项目具体情况创建子文件夹方便接口管理。此处在A hundred million项目右键创建资产管理assets文件夹、user用户管理文件夹。可将测试的接口实例保存在对于管理模块下。

    图2-5新建资产管理文件夹

    5、后台登录接口演示

        开发完成后台接口,编写正确严谨的逻辑代码处理前端请求。此处登录接口代码如下,运行后台开发项目,使该接口能够访问。接口请求路径为:http://localhost:8080/manage/app/user/login

    @Controller
    @RequestMapping("/manage/app/")
    @Scope("prototype")
    public class AppUserController {
    
       /**
        * 日志
        */
    public static Logger customFile = LoggerFactory.getLogger("manageCustomFile");
    
    @Resource
    private AppUserService appUserService;
    
        /**
         * 用户登录
         * @param baseResult
         * @return
         */
        @RequestMapping(value = "user/login" , produces = "application/json;charset=UTF-8", method = RequestMethod.POST)
        @ResponseBody
        public BaseResult loginUser(@RequestBody BaseResult baseResult) {
            customFile.info("appId:"+ baseResult.getTreasureID()+ "用户登陆访问:" + baseResult.toString());
            return appUserService.loginUser(baseResult);
        }
    }

    6、新建接口测试

        在Postman主页面Content部分点击'+'按钮,新增一个接口测试。在图2-6所示第一部分填写接口请求路径,左侧下拉列表可选择请求方式,此处选择POST请求方式。接口请求路径为http://localhost:8080/manage/app/user/login。第二部分是请求体,即包含接口所需请求参数的Body,此处选择原始数据RAW,数据类型使用JSON数据作为请求数据。点击蓝色Send按钮发送请求,后台项目接口接收请求并响应返回执行结果。此处后台处理数据返回结果仍是JSON数据,这个看实际项目而定,此处仅做演示。第三部分是接口响应体,即接口响应请求处理并返回的数据。点击Pretty自动匹配接口返回的数据格式并对数据美化显示,使数据看起来更加直观。如果接口测试出现异常,则可以通过PreView视图查看浏览器响应接口的页面信息,也可以通过Header了解请求状态等参数。一般出现异常还是直接去后台看控制台的异常信息及项目日志来处理解决异常,再进行接口测试。

    图2-6接口测试图

        接口测试通过后,可Ctrl+S保存接口测试实例,填写接口测试名称和接口描述信息,选择要保存的路径,此处保存在user用户管理模块文件夹。当项目的接口全部测试通过后,可在A hundred million项目右键Export导出接口文档,保存为JSON接口测试文件,该文件可通过Postman导入查看。

    三、请求方式

        对于后台开发的接口,请求方式肯定不止POST一种,Postman也支持多种请求方式。在新建接口测试实例时可选择接口的请求方式,如图3-1。

    图3-1接口请求方式图

        请求类型可以模拟Form表单文本提交,Form表单文件提交,raw原始数据提交,二进制文件提交。对于原始数据类型raw还支持不同文件格式,包括JSON,TXT,HTML等多种文件格式。

    图3-2数据请求类型图

     

    四、资金记录接口实例演示

        后台开发接口如下,服务器部署运行后台项目。接口请求路径为:http://localhost:8080/manage/app/user/asset/withdrawRecord

    @Controller
    @RequestMapping("/manage/app/")
    @Scope("prototype")
    public class AppUserAssetController {
     
        /**
         * 日志
         */
        public static Logger customFile = LoggerFactory.getLogger("manageCustomFile");
    
        @Resource
        private AppUserAssetService appUserAssetService;
        
        /**
         * 获取提现记录
         * 即我的页面中的资金记录
         * @param baseResult
         * @return
         */
        @RequestMapping(value = "user/asset/withdrawRecord" , produces = "application/json;charset=UTF-8", method = RequestMethod.POST)
        @ResponseBody
        public BaseResult getUserWithdrawRecord(@RequestBody BaseResult baseResult){
            customFile.info( "appId:"+ baseResult.getTreasureID() + "用户提现记录获取"+baseResult.toString());
            return appUserAssetService.getUserWithdrawRecord(baseResult);
        }
    }

    新建资金接口测试
    请求方式为POST,
    请求URL为http://localhost:8080/manage/app/user/asset/withdrawRecord
    请求体为JSON类型的原始数据
    点击Send请求接口,接口响应请求处理返回结果如图3-3所示


    图3-3资金记录接口测试图
     
    展开全文
  • 最全渗透测试工具讲解

    千人学习 2018-08-31 08:44:31
    渗透测试工具详解视频教程,该课程分为三个部分,1、针对web扫描工具介绍,2、针对抓包工具介绍,3、针对信息探测介绍。(没章节都会将该章节介绍的工具共享给大家)这三部分基本涵盖了渗透测试中百分之80常见工具的...
  • 压力测试工具

    千次阅读 2018-12-20 16:06:28
    目录 1 性能测试... 2 2 压力测试(Stress Test)... 2 2.1 网站测试... 2 2.2 系统测试要求... 3 3 测试工具... 3 3.1 Webbench. 4 3.1.1 Ubuntu 下载安装... 5 3.1.2 ...

    目录

    1       性能测试... 2

    2       压力测试(Stress Test)... 2

    2.1             网站测试... 2

    2.2             系统测试要求... 3

    3       测试工具... 3

    3.1             Webbench. 4

    3.1.1         Ubuntu 下载安装... 5

    3.1.2         webbench使用... 5

    3.1.3         webbench测试结果... 5

    3.1.4         参考文档... 5

    3.2             ab(apache bench)... 5

    3.2.1         安装... 6

    3.2.2         使用... 6

    3.2.3         测试报告... 7

    3.2.4         参考文档... 8

    3.3             TcpCopy. 8

    3.3.1         TcpCopy简介... 8

    3.3.2         tcpcopy代码下载... 9

    3.3.3         境数据传递流程图... 10

    3.3.4         参考文档... 11

    3.4             LoadRunner 11

    3.4.1         LoadRunner简介... 11

    3.4.2         LoadRunner 常用术语... 12

    3.4.3         参考文档... 12

    3.5             Apache JMeter 12

    3.5.1         JMeter简介... 12

    3.5.2         下载运行... 13

    3.5.3         测试报告... 13

    3.5.4         参考文档... 15

    3.6             wrk. 15

    3.6.1         安装... 15

    3.6.2         使用... 15

    3.6.3         输出... 15

    3.7             腾讯WeTest 15

    3.7.1         WeTest简介... 15

    3.7.2         压测大师推荐的性能测试方法... 15

    3.7.3         付费规则... 16

    3.7.4         测试报告... 16

    3.7.5         参考文档... 18

    3.8             阿里云PTS. 19

    3.8.1         PTS简介... 19

    3.8.2         产品优势... 19

    3.8.3         产品功能... 19

    3.8.4         计费规则... 20

    3.8.5         测试报告... 20

    3.8.6         参考文档... 24

     

     

     

    1. 性能测试

    性能测试是利用产品、人员和流程来降低应用程序、升级程序或补丁程序部署风险的一种手段。性能测试的主要思想是通过模拟产生真实业务的压力对被测系统进行加压,验证被测系统在不同压力情况下的表现,找出其潜在的瓶颈。

    性能测试相关术语:响应时间、并发用户数、事务响应时间、吞吐量、TPS(每秒事务响应数)、性能计数器等。

    性能测试方法:负载测试、压力测试、配置测试、并发测试、可靠性测试等。

    应用领域:能力验证、规划能力、性能调优、缺陷发现。

    性能测试工具架构一般包括:虚拟用户脚本产生器(Virtual User Generator)、压力产生器(player)、用户代理(Agent)、压力调度和监控系统(Controller)、压力结果分析工具(Analysis)。

    1. 压力测试(Stress Test

    在软件测试中:压力测试(Stress Test),也称为强度测试、负载测试。压力测试是模拟实际应用的软硬件环境及用户使用过程的系统负荷,长时间或超大负荷地运行测试软件,来测试被测系统的性能、可靠性、稳定性等。

      1. 网站测试

    压力测试通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大的服务级别的测试。通俗地讲,压力测试是为了发现在什么条件下您的应用程序的性能会变得不可接受。

    极限压力测试举例:

    1) 接收大数据量的数据文件时间;

    2) 大数据恢复时间;

    3) 大数据导入导出时间;

    4) 大批量录入数据时间;

    5) 大数据量的计算时间;

    6) 多客户机同时进行某一个提交操作;

    7) 采用测试工具软件;

    8) 编写测试脚本程序;

    9) 大数据量的查询统计时间。

    实例:

    在一个系统内,仅有一个用户登录使用相同的操作,对不同的数据量进行测试。记录下数据量和对应的资源占用率,响应时间。

      1. 系统测试要求

    数据:1万盏灯

    1. web获取1万盏灯所耗时间(大数据量的查询统计时间)
    2. 轮询获取1万盏灯比较函数所耗时间(大数据量的计算时间)
    3. Node转存数据程序所耗时间(大数据导入时间)
    4. 服务器资源的耗用(CPU)
    1. 测试工具

    软件名称

    是否开源

    简介

    webbench

    开源

    由Lionbridge公司开发,主要测试每秒钟请求数和每秒钟数据传输量,同时支持静态、动态、SSL。

    部署简单,静动态均可测试。适用于小型网站压力测试(单例最多可模拟3万并发)

    apache bench

    开源

    Apache自带的压力测试工具,主要功能用于测试网站每秒钟处理请求个数。

    多见用于静态压力测试,功能较弱,非专业压力测试工具

    tcpcopy

    开源

    基于底层应用请求复制,可转发各种在线请求到测试服务器,具有分布式压力测试功能,所测试数据与实际生产数据较为接近。

    后起之秀,主要用于中大型压力测试,所有基于 tcp的packets均可测试

    loadrunner

    付费软件/破解版本

    压力测试界的泰斗,可以创建虚拟用户,可以模拟用户真实访问流程从而录制成脚本,其测试结果也最为逼真。

    模拟最为逼真,并可进行独立的单元测试,但是部署配置较为复杂,需要专业人员才可以。

    Apache JMeter

    开源免费

    Jmeter  是一款使用Java开发的,开源免费的,测试工具, 主要用来做功能测试和性能测试(压力测试/负载测试).

    而且用Jmeter 来测试 Restful API, 非常好用。

    wrk

    开源

    https://github.com/wg/wrk

    腾讯WeTest

    付费

    腾讯WeTest出品的线上服务器压力测试服务WeTest服务器压力测试 最高可至亿级并发,实时查看性能数据报表,专家级性能优化建议。我们通常要分析的性能数据像TPS,在线人数,事务数,网络吞吐,CPU,内存,磁盘IO等性能报告里都有。

    阿里云PTS

     

    付费

    性能测试PTS(Performance Testing Service)是面向所有技术相关背景人员的云化性能测试工具,有别于传统工具的繁复,PTS以互联网化的交互,面向分布式和云化的设计,更适合当前的主流技术架构。无论是自研还是适配开源的功能,PTS都可以轻松模拟大量用户访问业务的场景,任务随时发起,免去搭建和维护成本。更是紧密结合监控类产品提供一站式监控、定位等附加价值,高效检验和管理业务性能。

     

      1. Webbench

    Webbench是有名的网站压力测试工具,它是由 Lionbridge公司(http://www.lionbridge.com)开发。

    Webbech能测试处在相同硬件上,不同服务的性能以及不同硬件上同一个服务的运行状况。webBech的标准测试可以向我们展示服务器的 两项 内容:每秒钟相应请求数和每秒钟传输数据量。webbench不但能具有便准静态页面的测试能力,还能对动态页面(ASP,PHP,JAVA,CGI)进 行测试的能力。还有就是他支持对含有SSL的安全网站例如电子商务网站进行静态或动态的性能测试。

        1. Ubuntu 下载安装

    1、安装依赖包CTAGS

    apt-get install ctags

    2、安装 Webbench

    下载程序: webbench-1.5.tar.gz

    wget http://home.tiscali.cz/~cz210552/distfiles/webbench-1.5.tar.gz

    make

    sudo make install

        1. webbench使用

    #webbench -? (查看命令帮助)

    常用参数 说明,-c 表示客户端数,-t 表示时间

    测试实例:

    #webbench -c 500  -t  30   http://127.0.0.1/phpionfo.php

    测试静态图片:

    #webbench -c 500 -t 30 http://127.0.0.1/test.jpg

        1. webbench测试结果

    分析:每秒钟响应请求数:3230 pages/min,每秒钟传输数据量11614212 bytes/sec.

        1. 参考文档

    https://www.oschina.net/p/webbench

      1. ab(apache bench)

    ab 命令会创建很多的并发访问线程,模拟多个访问者同时对某一 URL 进行访问,可用来测试 Apache 的负载压力,也可以测试 Nginx、lighthttp、IIS 等其它 Web 服务器的压力。

        1. 安装

       Unix 安装:yum install httpd

       Windows安装:下载 http://pan.baidu.com/s/1mifnlUS 

       在安装目录 bin下可以看到 ab.exe。

        1. 使用

        为了避免因为网络原因而导致服务器压力测试结果不准确,一般可以用 ab -n 100 -c 50 http://127.0.0.1/index.php 来测试自己服务器Web性能。所有 ab 命令的组成遵循此结构:   ab [options] [full path to web document] 。

         ab -n 1000 -c 10 http://www.qq.com/

        “-n”表示:每次请求数,默认不能超过1024个,“-c”表示:1个请求的并发连接数,默认最大不能超过50000

        1. 测试报告

        1. 参考文档

    https://blog.csdn.net/Jerome_s/article/details/47030671

     

      1. TcpCopy
        1. TcpCopy简介

    TcpCopy顾名思义,就是一个可以将tcp流量复制的工具(其实也可以复制UDP)。有了这样一个工具,我们就可以真实的复制线上流量,然后将这些流量复制到我们的测试服务器上。这样就可以很容易模拟线上真实用户的访问,做一些功能上的,性能上的测试。而且经过实际测试发现TCPCopy对线上机器的资源消耗也是极低的。而请求复制,一般分为两类:1)基于应用层的请求复制2)基于底层数据包的请求复制。

    Tcpcopy是由网易技术部王斌(http://weibo.com/tcpcopy)在王波的工作基础上开发的,2011年9月开源的项目(https://github.com/session-replay-tools/tcpcopy  https://github.com/wangbin579/tcpcopy )

        1. tcpcopy代码下载
          1. Online Server 上的操作

     

    下载并安装 tcpcopy 客户端;

    git clone http://github.com/session-replay-tools/tcpcopy

    ./configure

    make && make install

     

    安装完成后的各结构目录:

    Configuration summary

     

      tcpcopy path prefix: "/usr/local/tcpcopy"

      tcpcopy binary file: "/usr/local/tcpcopy/sbin/tcpcopy"

      tcpcopy configuration prefix: "/usr/local/tcpcopy/conf"

      tcpcopy configuration file: "/usr/local/tcpcopy/conf/plugin.conf"

      tcpcopy pid file: "/usr/local/tcpcopy/logs/tcpcopy.pid"

      tcpcopy error log file: "/usr/local/tcpcopy/logs/error_tcpcopy.log"

     

    运行 tcpcopy 客户端,有几种可选方式:

    ./tcpcopy -x 80-172.16.***.52:80 -s 172.16.***.53 -d       #全流量复制

    ./tcpcopy -x 80-172.16.***.52:80 -s 172.16.***.53 -r 20 -d  #复制20%的流量

    ./tcpcopy -x 80-172.16.***.52:80 -s 172.16.***.53 -n 2 -d    #放大2倍流量具体的生产环境和镜像环

     

          1. Test Server 上的操作:

    添加静态路由:

    route add -net 0.0.0.0/0 gw 172.16.***.53

     

          1. Assistant Server 上的操作:

    下载并安装 intercept 服务端;

    git clone http://github.com/session-replay-tools/intercept

    ./configure

    make && make install

     

    安装完成后的各结构目录:

    Configuration summary

      intercept path prefix: "/usr/local/intercept"

      intercept binary file: "/usr/local/intercept/sbin/intercept"

      intercept configuration prefix: "/usr/local"

      intercept configuration file: "/usr/local/intercept/"

      intercept pid file: "/usr/local/intercept/logs/intercept.pid"

      intercept error log file: "/usr/local/intercept/logs/error_intercept.log"

     

    运行 intercept 服务端;

    ./intercept -i eth0 -F 'tcp and src port 80' -d

        1. 境数据传递流程图

    对照上图5,再简单解释一下工作原理:

      1. TCPcopy 从数据链路层 copy 端口请求,然后更改目的 ip 和目的端口。
      2. 将修改过的数据包传送给数据链路层,并且保持 tcp 连接请求。
      3. 通过数据链路层从 online server 发送到 test server。
      4. 在数据链路层解封装后到达 nginx 响应的服务端口。
      5. 等用户请求的数据返回结果后,回包走数据链路层。
      6. 通过数据链路层将返回的结果从 test server 发送到 assistant server。注:test server 只有一条默认路由指向 assistant server。
      7. 数据到达 assistant server 后被 intercept 进程截获。
      8. 过滤相关信息将请求状态发送给 online server 的 tcpcopy,关闭 tcp 连接。
        1. 参考文档

    https://github.com/session-replay-tools/tcpcopy

    https://sq.163yun.com/blog/article/182257750483230720

    https://blog.csdn.net/u012928324/article/details/76216178

    http://www.cnblogs.com/zhengyun_ustc/p/tcpcopy.html

     

      1. LoadRunner
        1. LoadRunner简介

    LoadRunner是一种预测系统行为和性能的负载测试工具,通过模拟实际用户的操作行为进行实时性能监测,来帮助测试人员更快的查找和发现问题。LoadRunner适用于各种体系架构,能支持广泛的协议和技术,为测试提供特殊的解决方案。企业通过LoadRunner能最大限度地缩短测试时间,优化性能并加速应用系统的发布周期。

    LoadRunner提供了3大主要功能模块,既可以作为独立的工具完成各自的功能,又可以作为LoadRunner的一部分彼此衔接,与其他模块共同完成软件性能的整体测试,这3大模块分别是:

    1. Virtual User Generator —— 用于录制性能测试脚本
    2. LoadRunner Controller—— 用于创建、运行和监控场景
    3. LoadRunner Analysis —— 用于分析性能测试结果
        1. LoadRunner 常用术语

    1. 场景(Scenario:即测试场景,在LoadRunner的Controller部件中,可以设计与执行用例的场景,设置场景的步骤主要包括:在Controller中选择虚拟用户脚本、设置虚拟用户数量、配置虚拟用户运行时的行为、选择负载发生器(Load Generator)、设置执行时间等。

    2. 负载发生器(Load Generator):用来产生压力的机器,受Controller控制,可以使用户脚本在不同的主机上执行。在性能测试工作中,通常由一个Controller控制多个Load Generator以对被测试系统进行加压。

    3. 虚拟用户(Virtual User/Vuser):对应于现实中的真实用户,使用LoadRunner模拟的用户称为虚拟用户。性能测试模拟多个用户操作可以理解为这些虚拟用户在跑脚本,以模拟多个真正用户的行为。

    4. 虚拟用户脚本(Vuser script):通过Vuser Generator录制或开发的脚本,这些脚本用来模拟用户的行为。

    5. 事务(Transaction):测试人员可以将一个或多个操作步骤定义为一个事务,可以通俗的理解事务为“人为定义的一系列请求(请求可以是一个或者多个)”。在程序上,事务表现为被开始标记和结束标记圈定的一段代码区块。Loadrunner根据事务的开头和结尾标记,计算事务响应时间、成功/失败的事务数。

    6. 思考时间(Think Time):即请求间的停顿时间。实际中,用户在进行一个操作后往往会停顿然后再进行下一个操作,为了更真实的模拟这种用户行为而引进该概念。在虚拟用户脚本中用函数lr_think_time()来模拟用户处理过程,执行该函数时用户线程会按照相应的time值进行等待。

    7. 集合点(Rendezvous)设集合点是为了更好模拟并发操作。设了集合点后,运行过程中用户可以在集合点等待到一定条件后再一起发后续的请求。集合点在虚拟用户脚本中对应函数lr_rendezvous() 。

    8. 事务响应时间:事务响应时间是一个统计量,是评价系统性能的重要参数。定义好事务后,在场景执行过程和测试结果分析中即可以看到对应事务的响应时间。通过对关键或核心事务的执行情况进行分析,以定位是否存在性能问题。

        1. 参考文档

    https://zhuanlan.zhihu.com/p/24812449

      1. Apache JMeter
        1. JMeter简介

    JMeter 是 Apache 组织的开放源代码项目,它是功能和性能测试的工具(压力测试/负载测试)。而且用Jmeter 来测试 Restful API, 非常好用。它可以用来:

      1. 生成测试负载
      2. 测试性能
      3. 测试功能性的行为

    它包括对 HTTP(S), JDBC, JMS, FTP, LDAP,TCP,本机调用等协议的支持,也可以与用户编写的代码轻松扩展。

        1. 下载运行

    下载地址http://jmeter.apache.org/  点击下载,Windows环境下,下载后解压,在bin目录中,双击 jmeter.bat运行。

        1. 测试报告

    Web项目测试报告中主要三种比较常见的报表,【聚合报告】【查看结果树】【用表格查看结果】

    聚合报告:能显示测试次数、平均请求耗时、请求耗时百分百、最小、最大请求耗时、错误率、吞吐量、数据量等参数。

     

    查看结果树:能查看每个请求的取样器结果、请求、详细返回结果

     

    用表格查看结果:通过请求顺序查看请求地址,耗时、状态、数据量、延迟、连接耗时等信息。

     

        1. 参考文档

    官方网站:http://jmeter.apache.org/

    参考文档:https://www.cnblogs.com/ios9/p/7644951.html

      1. wrk
        1. 安装
        2. 使用

    wrk -t12 -c400 -d30s http://127.0.0.1:8080/index.html

        1. 输出

    https://github.com/wg/wrk

     

      1. 腾讯WeTest
        1. WeTest简介

    腾讯WeTest出品的线上服务器压力测试服务WeTest服务器压力测试 最高可至亿级并发,实时查看性能数据报表,专家级性能优化建议对于简单接口测试和评估容量的,只需要输入url和配置下人数的参数,就可以在一两分钟内快速发起压力。我们通常要分析的性能数据像TPS,在线人数,事务数,网络吞吐,CPU,内存,磁盘IO等性能报告里都有。报告是可视化的图表形式展现的。亦可以自己编写机器人,深度结合自身业务场景进行压测。其他简单的协议测试或是稳定性测试,也可满足。

        1. 压测大师推荐的性能测试方法

    接口测试:单接口的性能评估,找到整体的性能瓶颈,有的放矢地进行优化。

    场景测试:通过设计测试用例模拟实际现网业务逻辑,来测试不同的业务场景下性能是否达标的一种测试类型。

    容量测试:容量测试的目的是通过测试预先分析出反映软件系统应用特征的某项指标的极限值,系统在其极限状态下没有出现任何软件故障或还能保持主要功能正常运行。

    稳定性测试:通过10小时以上的持续测试来了解业务后台的性能状况,测试后台的健壮性。用于验证服务器长期运行的状况,是十分重要的性能测试类型。

        1. 付费规则

     

        1. 测试报告

     

        1. 参考文档

    https://wetest.qq.com/product/gaps

    https://wetest.qq.com/gaps/ConfigRunning?projectid=66bb83e7374dda551afc026c97707efe&i_testid=01265a8ef8c453e2557a9147c5a85e0e

      1. 阿里云PTS
        1. PTS简介

    性能测试PTS(Performance Testing Service)是面向所有技术相关背景人员的云化性能测试工具,孵化自阿里内部平台。有别于传统工具的繁复,PTS以互联网化的交互,面向分布式和云化的设计,更适合当前的主流技术架构。无论是自研还是适配开源的功能,PTS都可以轻松模拟大量用户访问业务的场景,任务随时发起,免去搭建和维护成本。更是紧密结合监控类产品提供一站式监控、定位等附加价值,高效检验和管理业务性能。

        1. 产品优势

    构建足够简单:PTS原生交互0编码支持复杂场景,同样支持开源JMeter脚本进行原生引擎压测或者PTS引擎压测

    流量快速可控:压测任务30秒内发起,同时具备脉冲能力,中途调速即时生效更适合难以预计的压测过程

        1. 产品功能
    1. 压测场景构建

    支持有序串行和并行编排压测API,参数化上支持数据文件、系统函数、字符串、出参和彼此之间的组合,对 cookie 支持非常友好,还有丰富的指令扩展场景的仿真度。调试功能可以便捷地进行复杂场景的数据流向的校验。相应的资源包配套有极易上手的云端录制,非常便于移动端的请求抓取和到压测场景的一键导入。

    1. 压测流量控制

    支持并发和RPS模式,分钟内快速启动压测。极低的误差,同时支持自动和纯手动模式,压测流量的调整秒级生效,支持最高千万级的流量瞬时脉冲。

    1. 监控和压测报告

    陆续丰富中的监控指标,实时监控和报告中包括但不局限于各 API 的并发、TPS、响应时间和采样的日志,请求和响应时间还有不同的细分数据,其他监控能力(如云监控)陆续集成中。

    1. 对开源友好

    除了强大的自研功能,对于开源JMeter的支持也很友好,支持JMeter脚本转化为PTS压测,同样支持原生JMeter引擎进行压测。

        1. 计费规则

    https://www.aliyun.com/price/product?spm=a2c4g.11186623.2.11.75f0665dVZs1GI#/pts/detail

        1. 测试报告

    https://help.aliyun.com/document_detail/65304.html?spm=a2c4g.11186623.6.580.fae11aacuS2TvI

    压测场景概览:压测报告第一部分显示整个压测场景的相关业务指标。

    串联链路概览:压测报告的概览页,显示整个场景下所有的串联链路和 API 的压测情况;如添加了云监控产品,ECS、SLB 或者 RDS,您也可以看到这些产品在压测期间的性能表现。

    串联链路业务详情:压测报告的明细>业务详情页签下,显示全场景视图和串联链路中单个 API 的业务详情,包括请求(TPS)视图、业务(TPS)视图、并发数、响应时间和指令详情等。对相关指标的解读,参考测试指标。

    ECS 监控详情:如添加了云监控 ECS,在压测报告的明细页,可查看整个压测时间内 ECS 的监控数据。具体解读,请参考云监控的监控项说明。

    SLB 监控详情:如添加了云监控 SLB,在压测报告的明细页,可查看整个压测时间内 SLB 的监控数据。关于 SLB 监控详情解读,请参考负载均衡监控。

    ARMS 监控详情:如添加了 ARMS 监控,在压测报告的明细页,可查看整个压测时间内 ARMS 基于应用接口的监控数据。关于 ARMS 监控详情解读,请参考 ARMS 应用接口调用监控。

        1. 参考文档

    https://www.aliyun.com/product/pts/?utm_content=se_1000101958

    https://help.aliyun.com/document_detail/29262.html?spm=a2c4g.11186623.6.542.fae11aacEwmNN6

     

     

     

    展开全文
  • 测试工具

    千次阅读 2020-02-02 18:17:43
    测试工具

     


    1 CentOS7下ab的安装

    yum -y install httpd-tools

    2 windows下ab的安装

    下载地址:https://www.apachehaus.com/cgi-bin/download.plx


    3 ab常用命令

     

     

     

     


    https://blog.csdn.net/qq_40794973/article/details/92383057 

    https://blog.csdn.net/u011415782/article/details/78501799

    展开全文
  • 压力测试工具Jmeter的使用

    万次阅读 2018-08-01 16:30:11
    现在的web项目面向的用户基数比较多,都要考虑高并发的情况,所以进行并发测试,压力测试工具很多,下面介绍一个比较好用的免费的压力测试工具的入门使用,Jmeter: 1、下载: 官网:...

    人工智能,零基础入门!http://www.captainbed.net/inner

    现在的web项目面向的用户基数比较多,都要考虑高并发的情况,所以进行并发测试,压力测试工具很多,下面介绍一个比较好用的免费的压力测试工具的入门使用,Jmeter:

    1、下载:

    官网:http://jmeter.apache.org/download_jmeter.cgi

    记住是下载标记这个:

     2、下载好之后文件结构就是这个样子:

    3、执行在bin目录下面的文件jemter.bat

    4、弹出这个cmd命令界面,不能关闭

    5、然后是下面这个使用界面:

    6、新建测试组

    7、测试组的配置

    8、新建请求示例:

    9、设置请求参数类型等等

    10、新建结果集视图,这个结果集是用来测试并发请求时显示请求的结果的

    11、

     

    展开全文
  • 1.自动化测试简介 1.1 什么是自动化测试 1.2 自动化测试的前提 1.3 自动化测试的优势 1.4 自动化测试的局限 2.自动化测试框架及工具的选择 2.1 主流自动化测试框架及工具介绍 2.2 自动化测试框架及工具的分析与选择
  • Web自动化测试工具选择

    千次阅读 2019-09-23 10:13:29
    1. 主流的Web自动化测试工具 1. QTP QTP是一个商业化的功能测试工具,收费,支持web,桌面自动化测试。 2. Selenium(本阶段学习) Selenium是一个开源的web自动化测试工具,免费,主要做功能测试。 3. Robot...
  • 安全测试工具

    千次阅读 2013-09-26 17:31:49
    测试工具 端口扫描 Nmap 系统层漏洞扫描 Nessus Web安全漏洞扫描 APPSCAN Web安全测试 WebScarab burpsuite 抓包工具 Wireshark 协议健壮性测试 xDefend Codenomicon...
  • 一个简单的monkey测试工具

    万次阅读 多人点赞 2018-11-06 11:20:49
    Monkey的概念: “猴子测试”是指没有测试经验的人甚至对计算机根本不了解的人(就像猴子一样)不需要知道程序的任何用户交互方面的知识,如果给他一个...它是Android系统自带一个命令行工具,可以运行在模拟器里...
  • 并发测试工具

    万次阅读 热门讨论 2019-06-15 14:40:47
    并发测试工具 一、Postman Postman一款非常流行的API调试工具。其实,开发人员用的更多。因为测试人员做接口测试会有更多选择,例如Jmeter、soapUI等。不过,对于开发过程中去调试接口,Postman确实足够的简单方便...
  • Java CORS 和 跨域前端测试工具

    万次阅读 2018-11-01 10:49:10
    参考文档:... import org.springframework.stereotype.Component; import javax.servlet.*; import javax.servlet.annotation.WebFilter;...import javax.s...
  • 接口测试工具Postman使用实践

    万次阅读 多人点赞 2017-12-05 16:18:55
    接口测试工具Postman使用实践本次chat内容包括: 接口的定义 接口的分类 为何要进行接口测试 接口文档示例 Postman工具简介 借助Postman完成HTTP请求接口测试 Postman + Newman + Jenkins 实现接口自动化测试 一、...
  • App测试实战:测试内容、测试工具、测试效果

    万次阅读 多人点赞 2018-09-12 08:45:48
    零、概述 0.1App测试内容: 1、常规的功能和性能:功能遍历、业务响应速度、界面测试等 2、专项测试:主要是系统指标包括耗电、内存占用、流量消耗、CPU(计算量)、启动速度、流畅度... 0.2 App测试工具: ...
  • Modbus测试工具ModbusPoll与Modbus Slave使用方法

    万次阅读 多人点赞 2017-09-14 13:15:39
    Modbus测试工具ModbusPoll与Modbus Slave使用方法
  • Http接口测试工具HttpTestTool

    千次下载 热门讨论 2014-03-27 12:58:46
    项目需要测试http接口,网络上已有的工具,像fiddle、开源小工具这些,都不符合我快速测试要求,于是仿照当时在华为做外包时的一个工具,写了一个简洁版的。 工具支持测试get、post消息,自定义http header,没有...
  • WebSocket测试工具

    千次下载 热门讨论 2015-11-19 15:58:21
    这是一个测试WebSocket的一个小工具,分别有两个连接WebSocket服务端的地址输入,对应的相同的发送按钮,以及有对应的发送消息框和接收消息框!
  • 测试工具大全

    千次阅读 2006-12-12 23:41:00
    测试工具大全Author: Vince 来源:http://blog.csdn.net/vincetest 工具类别 工具名称 生产厂商 相关网站 通用功能自动化
  • 软件测试工具

    千次阅读 2015-02-28 12:53:52
    软件测试工具是通过一些工具能够使软件的一些简单问题直观的显示在读者的面前,这样能使测试人员更好的找出软件错误的所在。软件测试工具分为自动化软件测试工具和测试管理工具。软件测试工具存在的价值是为了提高...
  • 常用测试工具整理

    万次阅读 2018-04-20 10:00:37
    平常测试过程中会用到不少测试工具,有些工具的使用频率还非常的高,以下做个简单的梳理,以供参考:
  • 服务器性能测试有哪些方法? 测试工具有哪些? 如何测试? 服务器压力测试怎么做?
  • 性能测试工具LoadRunner应用

    万人学习 2016-11-20 10:58:55
    【本课程内容涵盖性能测试基本理论、性能测试需求分析、性能测试用例及场景设计、LoadRunner各个技能点具体使用、性能测试案例实战、LoadRunner脚本开发等内容,让您从零学起LoadRunner。本课程以实践驱动学习,以...
  • SocketTool(很好用的socket测试工具)

    千次下载 热门讨论 2012-07-16 07:47:18
    SocketTool(很好用的socket测试工具)
  • 分布式文件系统测试方法与测试工具

    万次阅读 多人点赞 2012-02-07 21:55:34
    现代分布式文件系统普遍具有高性能、高扩展、高可用、高效能、易使用、易管理等特点,架构设计的复杂性使得系统测试也非常复杂。从商业产品ISILON, IBRIX, SONAS, Filestore, NetApp GX, Panasas, StorNext, B
  • 开源测试工具——功能测试工具

    千次阅读 2008-11-05 15:23:00
    开源测试工具——功能测试工具 开源测试工具——功能测试工具Linux Test Project http://ltp.sourceforge.net/ 工具描述: Linux Test Project是一个测试Linux内核和内核相关特性的工具集合。该工具的目的是通过把...
  • 软件测试测试工具总结

    千次阅读 2019-06-14 17:52:48
    在软件测试的过程中,多多少少都是会接触到一些测试工具,作为辅助测试用的,以提高测试工作的效率,使用好了测试工具,能对测试起到一个很好的作用,同时,有些公司,也会要求掌握一些测试工具,或者,是在面试时,...
  • 编写shellcode测试工具

    千次阅读 2015-02-05 23:01:04
    本文编写shellcode测试工具,并对本地shellcode进行测试。
  • Spark性能测试工具

    千次阅读 2017-11-23 09:20:22
    Spark 性能优化方案Spark性能测试工具 •Spark性能测试基准程序Benchmark–https://github.com/intel-hadoop/HiBench•Spark性能测试与分析可视化工具–https://github.com/zhihuili/Dew性能调优的步骤 1.性能测试...
  • 内存测试工具memtester

    千次阅读 2013-07-27 23:42:58
    Memtester是用户态工具,用于测试内存子系统的故障。非常方便,支持32位 或64位Unix-like系统。对于硬件开发开发者来说,memtester可以定位到物理地址。
  • 接口测试工具实现

    千次阅读 2013-03-22 12:36:03
    平台服务器的接口测试用例及测试数据准备完毕后,接下来的工作就是如何去进行接口功能测试了,如果使用客户端来进行平台... 开始对所需要的接口功能测试工具进行设计,根据测试人员能够对每个测试接口输入定制的测

空空如也

1 2 3 4 5 ... 20
收藏数 140,605
精华内容 56,242
关键字:

测试工具