自动化测试分类:
功能(黑盒)自动化测试、功能(白盒)自动化测试、性能测试、压力测试、GUI测试、安全性测试等等
自动化测试的优势:
1. 回归测试更方便、可靠。由于回归测试的业务流程操作和测试用例是预先完全设计好的,预期结果也是完全在项目人员掌握之中的,将回归测试交给计算机自动运行,可以极大提高测试效率,缩短回归测试时
2. 可运行更多、更繁琐的测试,且快速、高效。
3. 可执行一些对于手工测试来说相当困难或根本做不到的测试。
4. 更好地利用资源,使资源的使用更有价值。为测试人员腾出时间进行更加重要的测试和用例的设计。
5. 具有一致性和可重复性的特点。每次测试的结果和执行的内容与操作的一致性是可以得到保障的
6. 自动化测试脚本完全具有复用性。
7. 使软件更有信任度。
8. 多环境下测试。
自动化测试劣势:
1、 永远不可能完全取代手工测试。自动化测试无法做到手工测试的覆盖率。复杂性极强的操作也只能通过手工测试来完成
2、 无法完全保证测试的正确性。自动化测试是由测试脚本组成,它的核心仍然是代码,说的简单点,自动化测试就是程序测试程序。我们知道,是程序就一定会有缺陷
3、 手工测试能发现的缺陷远比自动化测试多。有85%的缺陷是归功于手工测试,而只有15%的缺陷归功于自动化测试
4、 对测试质量的依赖性极大。如果当前版本的测试质量不够稳定,运行自动化测试将会非常不顺利
5、 测试自动化可能会制约软件开发。
6、 自动化测试工具是死的,它本身没有任何想象力。
7、 成本投入过高,风险大。
8、 自动化测试对测试人员的技术要求较高,对测试工具同样有一定要求。
何时适合引入自动化测试
●项目周期长,系统版本不断。
●需求变更不频繁。
●系统中的测试对象基本可以正常识别。
●系统中不存在大批量第三方控件。
●需要反复测试,如可靠性测试需要进行上千次的系统测试。
何时避开引入自动化测试
● 项目周期短,需求变更频繁。
● 在软件版本还没有稳定的情况下。主功能或大量的功能有被重新更改的可能性的话,务必暂时缓一缓,不要随意地开始自动化测试之旅。
● 没有明确的项目测试自动化计划、措施和管理。
● 领导不支持。
● 多数对象无法识别以及脚本维护频繁与艰难,二者有其一,自动化测试注定失败。