软件自动化测试是通过软件工具来进行软件测试的分析、设计、环境部署、执行和报告的工作,从而帮助软件测试工程师完成软件测试工作。软件测试工具分为自动化测试工具和软件测试管理工具。自动化测试工具是为了提高软件测试的效率,用软件代替一些人工操作;软件测试管理工具是为了复用测试用例,记录缺陷从而提高软件测试的价值。好的自动化测试工具和软件测试管理工具结合起来使用,将会大大地提高软件的测试效率。
(一)普通软件测试工具
1.开源测试工具
开源软件测试管理工具:Bugfree、Bugzilla、TestLink、Mantis、Zentaopms等。
开源功能自动化测试工具:Watir、Selenium 3(本书4.2节将详细介绍)、MaxQ、WebInject等。
开源性能自动化测试工具:JMeter(本书3.2节将详细介绍)、Locust(本书3.3节将详细介绍)、OpenSTA、DBMonster、TPTEST、Web Application Load Simulator、禅道测试管理工具等。其中禅道测试管理工具:它是功能比较全面的软件测试管理工具,涵盖软件研发的全部生命周期,为软件测试和产品研发提供一体化的解决方案,是一款优秀的国产开源软件测试管理工具。
2. 商用测试工具
Quality Center:它是基于Web的测试管理工具,可以组织和管理应用程序测试流程的所有阶段,包括指定测试需求、计划测试、执行测试和跟踪缺陷。
Unified Functional Testing(UTF):即QTP的升级版本,最初是Mercury Interactive公司开发的一种自动化测试工具、在2006年被HP收购,随着UFT11.50版本的发布,QTP 和 Service Test 成为了UFT11.50软件组件中的一部分。UFT主要应用于:功能测试、回归测试、service testing。
LoadRunner:预测系统行为和性能的负载测试工具。(本书3.1节将详细介绍)
静态测试工具:Checkstyle、Findbugs、PMD、Android Lint等。
其他软件测试工具与框架还有Coverity、Rational Functional Tester、Borland Silk系列工具、WinRunner、Robot等。
国内免费软件测试工具有:AutoRunner、TestCenter等。
(二)APP软件测试工具
1.Android APP软件测试工具
Monkey。
MonkeyRunner。
Appium(本书4.3节将详细介绍)。
UiAutomator(本书4.1节将详细介绍)。
Espresso(本书4.4节将详细介绍)。
Robotium。
Robolectric:让Android开发从此摆脱模拟器软件测试的老套路。
AppGrader:Android开发者的意见大师。
2.IOS APP软件测试工具
UI Automation。
Appium(本书4.3节将详细介绍)。
Xcode5。
(三)接口测试工具
JMeter(本书3.2节将详细介绍)。
Postman(本书4.6.1节将详细介绍)。
HttpRunner(本书4.6.2节将详细介绍)。
基于Python的requests类(本书4.5节将详细介绍)。
(四)软件自动化测试框架
基于JAVA的自动化测试框架
JUnit(本书2.1节将详细介绍)。
TestNG(本书2.2节将详细介绍)。
Gradle。
基于Python的自动化测试框架。
unittest(本书2.3节将详细介绍)。
Pytest(本书2.4节将详细介绍)。
nose。
基于C的自动化测试框架。
CUnit。
基于C++的自动化测试框架。
CppUTest。
WindTest。
基于C#的自动化测试框架。
Nunit。
WatiN。
基于PHP的自动化测试框架。
PHPUnit。
Codeception。
Behat。
PHPSpec。
SimpleTest。
Storyplayer。
Peridot。
Atoum。
Kahlan。
(五)软件测试工具的类型
1.软件测试管理的工具支持
软件测试管理工具。
需求管理工具。
事件管理工具(缺陷跟踪工具)。
配置管理工具。
2.静态测试的工具支持
评审工具。
静态分析工具。
建模工具。
软件测试设计工具。
软件测试数据准备工具。
3.软件测试执行和记录工具
软件测试执行工具。
软件测试用例/单元测试框架工具。
软件测试比较器。
覆盖率测量工具。
安全性测试工具。
渗透测试工具。
4.性能和监控工具
动态分析工具。
性能测试、负载测试、压力测试工具。
监控工具。