软件工程 |自动化测试
自动化测试是一种测试人员自己编写脚本并使用合适的软件或自动化工具来测试软件的技术。它是手动过程的自动化过程。允许在没有手动测试器干预的情况下执行重复性任务。
手动对比自动化测试:
MANUAL TESTING | AUTOMATED TESTING |
---|---|
Not accurate at all times due to Human Error, Therefore Less Reliable. | Since it is performed by third party tools and/or Scripts, therefore More Reliable. |
Heavy Investment for Human Resources. | Investment for Tools rather than for Human Resources. |
Time Consuming. | Faster than Manual Testing as it is executed by Tools. |
Allows for Careful Human Observation. | Practical option when test cases are run repeatedly. |
Initial Investment is lower which in turns Lowers the Returns. | Higher Initial Investment, hence higher Rate of Return. |
自动化测试流程:
- 测试工具选择:
将有一些选择工具的标准。大多数标准包括:我们是否有熟练的资源来分配自动化任务、预算限制、工具是否满足我们的需求? - 定义自动化范围:
这包括几个基本点,例如:框架应该支持自动化脚本,必须减少维护,高投资回报,不太复杂的测试用例 - 规划、设计和开发:
为此,我们需要安装特定的框架或库,开始设计和开发测试用例,例如 NUnit、JUnit、QUnit 或所需的软件自动化工具 - 测试执行:
测试用例的最终执行将在此阶段进行,它取决于语言到语言,例如对于 .NET,我们将使用 NUnit,对于Java,我们将使用 JUnit,对于 JavaScript,我们将使用 QUnit或茉莉花等。 - 维护:
创建测试后生成的报告,并应记录在案,以便在将来进行下一次迭代时参考
流行的自动化工具:
- Selenium
- QTP
- 西库里
- Appium
- 测量仪
- 测试NG
- 和风
- UFT
为什么要从手动测试转变为自动测试?
1994 年,一架完成例行飞行的飞机在着陆前坠毁。这是由于软件中的一些错误或缺陷造成的。测试人员甚至不关心最终测试,因此发生了这次事故。因此,为了取代少数手动测试(强制性),我们需要自动化测试。
转型原因:
- 质量保证
- 没有错误或错误的软件
- 安全保障
- 多操作系统支持
自动化测试的优势:
- 简化测试用例执行
- 提高测试的可靠性
- 增加测试覆盖率
- 最大限度地减少人际互动
- 节省时间和金钱
- 测试结果公开