测试管理工具
(1) ALM:应用程序生命周期管理软件,顾名思义,该产品用于软件研发活动的整个生命周期管理。早期版本Test Direct及Quality Center。
(2) 禅道:类似ALM,测试主要用测试模块,包括用例、用例库、Bug、报告等功能。
(3) SVN:用于多个人共同开发同一个项目,实现共享资源,实现最终集中式的管理。可以把SVN理解为一个库,里面存放各种文件,SVN给每个文件打上标签,记录文件的每次变动,方便你查找、获取最新的文件。
(4) git:类似SVN,但SVN是集中式的,必须联网才能正常工作。而git是分布式的,所以git支持离线工作,分支管理比SVN好用。但是git的命令繁多且复杂,没有SVN简单易用。
单元测试工具
(1) Junit,传统的单元测试,需要针对被测对象再重新编写调用断言程序,从而验证被测函数或类的正确性,但项目规模庞大且复杂难以承受。Junit使得单元测试变得非常简单,易于实施。
(2) TestNG:与JUnit一样,属于Java语言中的一个测试框架,TestNG与JUnit相比功能更为强大,JUnit目前仅能实现单元测试,并且在编程语法上具有一定的局限性,而TestNG更为简洁,同时支持多组测试Case及更多的测试应用,如功能测试、自动化测试等。
接口测试工具
1) Jmeter:基于Java语言的压力/负载测试工具,利用Jeter实施接口自动化测试,它提供断言功能,便于测试人员开发脚本验证被测对象的返回结果是否与预期结果一致。通过设置线程池、参数化、关联等类似于LoadRunner的策略设置后,同样可以实现性能测试。
(2) Postman:对于没有UI界面,纯粹是数据传递或业务逻辑处理的接口API时,利用Postman也是个不错的选择。App应用开发初期可能涉及大量的接口数据处理,可利用Postman快速构建请求,设置验证点,在Test模块中实现返回结果与预期结果的比较,从而实现测试目的。
自动化测试工具
(1) Selenium:直接运行于浏览器中,更真实的模拟了用户的业务行为,验证被测对象的功能表现及在不同浏览器中的兼容性特性。没有独立的操作UI界面,支持更多的编程语言。它是一个工具集,其主要由三个核心组件构成:Selenium IDE、Selenium RC(Remote Control )及Selenium Grid。
(2) Appium:开源的移动应用自动化测试工具,则多采用Appium。可以用来测试原生及混合的移动端应用,支持OS、Android。
(3) Fiddler:常用的抓包工具,可以支持众多的http调试任务,并且能够使用.net语言进行扩展。支持断点试技术,还可以显示所有的Http通讯,你可以很轻松地看到你请求的某个页面,总共被请求了多少次,以及多少字节被转换了。同类型的工具还有 httpwatch,wireshark等等。
性能测试工具
(1) LoadRunner:评测软件系统性能的负载/压力测试工具。测试工程师利用该工具模拟成千上万个终端用户实施并发负载查找问题,并利用其自带的Analysis模块进行确认问题。
(2) Jmeter:与Loadrunner区别是,一个是开源免费,一个是付费不开源。但是Loadrunner比Jmeter更加稳定,数据监控的报表也比Jmeter丰富。还有LoadRunner的IP欺骗功能可以更好地模拟实际用户场景。
负载测试工具
Load Ninja:一个性能和负载测试框架,用于诊断 API 和 UI 性能问题。LoadNinja 具有内置的 TrueLoad 技术,与传统的按协议进行的性能测试相比,该技术可使测试终端用户体验的速度提高 60%。