软件测试工具分为:1、测试管理工具;2、接口测试工具;3、性能测试工具;4、C/S自动化工具;5、白盒测试工具;6、代码扫描工具;7、持续集成工具;8、网络测试工具;9、app自动化工具;10、web安全测试工具。
1、测试管理工具
测试管理工具是在指在软件开发过程中,对测试需求、计划、用例和实施过程进行管理、对软件缺陷进行跟踪处理的工具。通过使用测试管理工具,测试人员或开发人员可以更方便地记录和监控每个测试活动、阶段的结果,找出软件的缺陷和错误,记录测试活动中发现的缺陷和改进建议。通过使用测试管理工具,测试用例可以被多个测试活动或阶段复用,可以输出测试分析报告和统计报表。有些测试管理工具可以更好地支持协同操作,共享中央数据库,支持并行测试和记录,从而大大提高测试效率。
- PingCode :国内的一站式软件研发项目管理工具,在2021年曾被36氪评为国内研发项目管理工具较好1。被广泛用于需求管理、敏捷/瀑布/看板项目管理、测试管理、文档管理等工作领域。PingCode 具有专门的测试管理模块,支持用例创建、用例库、用例评审、测试计划、自动生成测试报告,测试用例还能关联版本、需求、缺陷等。
- 飞蛾:一款集测试用例管理、测试过程管理、测试项目管理、测试结果管理、测试报告管理一体的测试管理工具。飞蛾团队参照了国内外的测试管理工具的优缺点,并结合了国内测试工程师的工作习惯,研发了一款适合国内测试团队的测试管理工具。
- TestLink:开源的测试管理工具,可以进行测试用例管理、测试过程管理、测试结果管理,有条件的团队可以进行二次开发,满足自己测试团队的需求。
- 禅道:是名列前茅款国产的优异开源项目管理软件。它集产品管理、项目管理、质量管理、文档管理、组织管理和事务管理为一体,是一款功能完备的项目管理软件,完美地覆盖了项目管理的核心流程。禅道还首次创造性的将产品、项目、测试这三者的概念明确分开,产品人员、开发团队、测试人员,这三者分立,互相配合,又互相制约,通过需求、任务、bug来进行交相互动,最终通过项目拿到合格的产品。
- Bugzilla:一款缺陷管理工具,是一个比较轻量级的,国内的使用用户比较多。近年来,Bugzilla不光在缺陷管理领域中持续优化产品,还逐步完善了测试管理的其他领域,如测试用例管理、测试流程管理、产品需求管理等,实现了测试的一体化管理。
- Testcenter:一款集测试需求、测试用例、测试过程、测试结果、以及测试报告管理的测试管理工具,最新的版本新增了bug管理,整个界面比较简洁,可以根据需求进行定制化。
2、接口测试工具
接口测试是测试系统组件间接口的一种测试。主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。通俗的说,接口测试通过测试不同情况下的入参与之相应的出参信息来判断接口是否符合或满足相应的功能性、安全性要求。
- Poster:这是火狐浏览器的一个插件,如果你想调试服务器,发出HTTP请求,Poster操作简单,你先设定一个内容类型,数分钟内,你将拥有需要检视HTTP请求结果的所有信息。
- postman:Postman是一款网页调试与发送网页HTTP请求的Chrome插件,它可以利用Chrome插件的形式把各种模拟用户HTTP请求的数据发送到服务器,以便开发人员能够及时地作出正确的响应,或者是对产品发布之前的错误信息提前处理,进而保证产品上线之后的稳定性和安全性,Postman的页面相对用户体验性比较好,有的公司也已这个插件的模板做二次开发,搭建自己的接口测试平台
- RESTClient:RESTClient是用java Swing编写的基于http协议的接口测试工具,工具比较灵巧,便于做接口的调试,源码在官网上可以下到,感兴趣的可以研究一下
- Fiddler:Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的“进出”Fiddler的数据(指cookie,html,js,css等文件,这些都可以让你胡乱修改的意思)。 Fiddler 要比其他的网络调试器要更加简单,因为它不仅仅暴露http通讯还提供了一个用户友好的格式
- SoapUI:soapUI是一个免费、开源、跨平台的功能测试解决方案。一个易于使用的图形界面,和企业级功能,让你轻松和soapUI迅速创建和执行自动化的功能,回归,合规性,测试和负载测试。
3、性能测试工具
- QA Load:主流负载性能测试工具,Compuware公司的QALoad是客户/服务器系统、企业资源配置(ERP)和电子商务应用的自动化负载测试工具。QALoad是QACenter性能版的一部分,它通过可重复的、真实的测试能够彻底地度量应用的可扩展性和性能;
- SilkPerformer:一种在工业领域较高级的企业级负载测试工具。它可以模仿成千上万的用户在多协议和多计算的环境下工作。不管企业电子商务应用的规模大小及其复杂性,通过SilkPerformer,均可以在部署前预测它的性能。可视的用户化界面、实时的性能监控和强大的管理报告可以帮助我们迅速的解决问题;
- LoadRunner:一种较高规模适应性的,自动负载测试工具,它能预测系统行为,优化性能;LoadRunner强调的是整个企业的系统,它通过模拟实际用户的操作行为和实行实时性能监测,来帮助您更快的确认和查找问题。此外,LoadRunner 能支持最宽范的协议和技术,为您的特殊环境,量身定做地提供解决方案。
4、C/S自动化工具
- WinRunner:Mercury Interactive公司的WinRunner是一种企业级的功能测试工具,用于检测应用程序是否能够达到预期的功能及正常运行。通过自动录制、检测和回放用户的应用操作,WinRunner能够有效地帮助测试人员对复杂的企业级应用的不同发布版进行测试,提高测试人员的工作效率和质量,确保跨平台的、复杂的企业级应用无故障发布及长期稳定运行。 企业级应用可能包括Web应用系统,ERP系统,CRM系统等等。这些系统在发布之前,升级之后都要经过测试,确保所有功能都能正常运行,没有任何错误。如何有效地测试不断升级更新且不同环境的应用系统,是每个公司都会面临的问题。
- Rational Robot:是业界最顶尖的功能测试工具,它甚至可以在测试人员学习高级脚本技术之前帮助其进行成功的测试。它集成在测试人员的桌面IBM Rational Test Manager上,在这里测试人员可以计划、组织、执行、管理和报告所有测试活动,包括手动测试报告。这种测试和管理的双重功能是自动化测试的理想开始。
- AdventNet QEngine:AdventNet QEngine是一个应用广泛且独立于平台的自动化软件测试工具,可用于Web功能测试、web性能测试、Java应用功能测试、Java API测试、SOAP测试、回归测试和Java应用性能测试。支持对于使用HTML、JSP、ASP、.NET、PHP、JavaScript/VBScript、XML、SOAP、WSDL、e-commerce、传统客户端/服务器等开发的应用程序进行测试。此工具以Java开发,因此便于移植和提供多平台支持。
- SilkTest:是业界名列前茅的、用于对企业级应用进行功能测试的产品,可用于测试Web、Java或是传统的C/S结构。SilkTest提供了许多功能,使用户能够高效率地进行软件自动化测试。这些功能包括:测试的计划和管理;直接的数据库访问及校验;灵活、强大的4Test脚本语言,内置的恢复系统(Recovery System);以及具有使用同一套脚本进行跨平台、跨浏览器和技术进行测试的能力。
- QA Run:QARun的测试实现方式是通过鼠标移动、键盘点击操作被测应用,即而得到相应的测试脚本,对该脚本可以进行编辑和调试。在记录的过程中可针对被测应用中所包含的功能点进行基线值的建立,换句话说就是在插入检查点的同时建立期望值。在这里检查点是目标系统的一个特殊方面在一特定点的期望状态。通常,检查点在QARun提示目标系统执行一系列事件之后被执行。检查点用于确定实际结果与期望结果是否相同。
- Test Partner:是一个自动化的功能测试工具,它专为测试基于微软、Java和Web技术的复杂应用而设计。它使测试人员和开发人员都可以使用可视的脚本编制和自动向导来生成可重复的测试,用户可以调用VBA的所有功能,并进行任何水平层次和细节的测试。TestPartner的脚本开发采用通用的、分层的方式来进行。没有编程知识的测试人员也可以通过TestPartner的可视化导航器来快速创建测试并执行。通过可视的导航器录制并回放测试,每一个测试都将被展示为树状结构,以清楚地显现测试通过应用的路径。
5、白盒测试工具
- Jtest:是一个代码分析和动态类、组件测试工具,是一个集成的、易于使用和自动化的Java单元测试工具。它增强代码的稳定性,防止软件错误。
- Jcontract:在系统级验证类/部件是否正确工作并被正确使用。Jcontract 是个独立工具,在功能上是Jtest 的补充。可以用Jcontract插装按DbC注解的Java代码。当您将类/部件组装成系统时,Jcontract 在运行时监视并报告错用和功能性问题。Jcontract 帮助每个开发人员有效地考核类/部件的系统级行为。
- C++Test:可以帮助开发人员防止软件错误,保证代码的健全性、可靠性、可维护性和可移植性。C++Test自动测试C和C++类、函数或组件,而无需编写单个测试实例、测试驱动程序或桩调用。
- CodeWizard:代码静态分析工具,先进的C/C++源代码分析工具,使用超过500 个编码规范自动化地标明危险的,但是编译器不能检查到的代码结构。
Insure++:是一个基于C/C++的自动化的内存错误、内存泄漏的精确检测工具。 Insure++能够可视化实时内存操作,准确检测出内存泄漏产生的根源。Insure++还能执行覆盖性分析,清楚地指示那些代码已经测试过。 - .TEST:是专为.NET开发而推出的使用方便的自动化单元级测试与静态分析工具。使用超过200条的工业标准代码规则对所写代码自动执行静态分析。这些规则立即应用.NET 工业专家深入、全面的编程知识到你的代码当中,迅速、彻底地防止错误的出现。自动测试代码构造与功能。 .TEST非常智能。他能提取刚完成的代码,对其进行读取,并提出如何对这些代码进行单元测试,不需要任何的人为干涉。所有由.TEST产生的单元测试都是可以用户自定义的。
6、代码扫描工具
- tBugs (开源):是一个使用静态分析来查找 Java 代码中的错误的程序。它是自由软件,根据GNU 宽通用公共许可证的条款分发。
SpotBugs 是FindBugs(现在是一个废弃的项目)的一个分支,在其社区的支持下从它停止的那一点开始。详情请查看官方手册。 - TScanCode(C/C++、C#、Lua):TscanCode(腾讯开源)是一款静态代码扫描工具,TscanCode旨在助力开发与测试人员从代码层面挖掘问题,将那些长期困扰项目的诸如空指针宕机等问题,扼杀于萌芽阶段。支持用户根据不同需求自定义配置检查项,有极强的扩展性和可维护性。平均扫描速度10W行/分钟。
- pclint(C/C++):由Gimpel Software公司提供(付费)。X PC-lint 是一个强大的静态分析工具,它将检查您的 C/C++ 源代码并发现错误、故障、不一致、不可移植的结构、冗余代码等等。它查看多个模块,因此享有编译器所没有的视角。
- Cppcheck(C/C++):支持图形界面和命令行;Cppcheck是 C/C++ 代码的静态分析工具(开源) 。它提供独特的代码分析来检测错误,并专注于检测未定义的行为和危险的编码结构。目标是减少误报。Cppcheck 旨在能够分析您的 C/C++ 代码,即使它具有非标准语法(在嵌入式项目中很常见)。
- Klocwork(C、C++、C#、Java、JavaScript ):国内使用较广泛的分析工具(付费);适用于 C、C++、C#、Java、JavaScript 和 Python 的Klocwork 静态代码分析和SAST工具可识别软件安全性、质量和可靠性问题,帮助强制遵守标准。
7、持续集成工具
- Jenkins :是一个流行的、开源的自动化服务器,用于持续集成,具有丰富的插件和友好的用户界面。Jenkins 可用于 Windows、Mac OS、Linux 和其他 Unix 版本。它提供了简单的安装和更新过程,并且可以通过图形用户界面轻松配置。
- Bamboo :由 Atlassian 研发。你可能对这个公司比较陌生,但是你一定听过 Jira 和 Trello,这些工具都是有 Atlassian 研发的。
- CircelCI :是一个基于云的 CI 解决方案,支持多平台的,适合分布式,有很多定制选项。它支持许多不同的语言,包括 Java、Python、JS、Haskell、Ruby on Rails 和 Scala,不过他只支持 GitHub 代码管控。
- GoCD :是一个开源 CI 服务器,用于轻松地可视化和构建复杂的工作流。它为构建 CD 管道提供了直观的界面,并以安全的方式将软件部署到生产环境中。
8、网络测试工具
- 思博伦目前流行的一款网络自动化测试商用平台了(而且能够完全顶替loadrunner),基本上能够满足所有的网络产品测试需求了,不过很贵。
- Ixia,也是对网络设备进行性能和压力测试工的平台。
- wireshark 数据包抓取分析和回放测试工具。
- tc 网络丢包和试验模拟工具,非常好用。
- iperf 用来测试tcp和udp的网络质量。
- tcpping工具工作在 TCP 层,通过发送伪造的 TCP SYN 包并侦听来自服务器或中间设备返回的 SYN/ACK 或 RST。
9、app自动化工具
- appium:这个应该算是目前最流行的基于app的自动化测试框架了。
- instruments:ios平台下的自动化测试框架,用java语言写的。
- uiautomator:安卓自动化测试框架,基本上支持安卓的所有事件操作。
- Monkey:安卓自带的测试工具。
- Monkey Runner:Monkey改进版,支持自己编写脚本测试,用Python语言。
- Robotium:一款国外的Android自动化测试框架,用法比较简单。
10、web安全测试工具
- appscan:算是用的非常多的一款工具了,扫描后能够将绝大部分的漏洞找出来。
- Netsparker Community Edition:这个程序可以检测SQL注入和跨页脚本事件。牛逼的是还能提供解决方案。
- Websecurify:这是个简单易用的开源工具,此程序还有一些人插件支持,可以自动检测网页漏洞。运行后可生成多种格式的检测报告。
- Wapiti:这是一个用Python编写的开源的工具,可以检测网页应用程序,探测网页中存在的注入点。
- N-Stalker Free Version:此工具可一次检测100个以上的页面,包括跨页脚本的检测。
- skipfish:这是一个轻量级的安全测试工具,处理速度很快,每秒可处理2000个请求。
- Scrawlr:HP的一款免费软件,可检测SQL注入漏洞。
- Watcher:这个是Fiddler的插件,可在后台静默运行,可检测跨域提交等。
延伸阅读
白盒测试的测试阶段
- 测试计划阶段:根据需求说明书,制定测试进度。
- 测试设计阶段:依据程序设计说明书,按照一定规范化的方法进行软件结构划分和设计测试用例。
- 测试执行阶段:输入测试用例,得到测试结果。
- 测试总结阶段:对比测试的结果和代码的预期结果,分析错误原因,找到并解决错误。
文章标题:软件测试工具都有哪些,发布者:Z, ZLW,转载请注明出处:https://worktile.com/kb/p/34231