1、什么是自动化测试?
自动化测试,是把人对软件的测试行为转化为由机器执行测试行为的一种实践。如 ui自动化。
自动化测试的本质是先写一段代码,然后去测试另一段代码,所以实现自动化测试用例本身属于开发工作,需要投入大量的时间和精力,并且已经开发完成的用例还必须随着被测对象的改变而不断更新,你还需要为此付出维护测试用例的成本。
维护成本高于节省的测试成本时,我们就需要评估是否使用自动化.
2、为什么需要测自动化测试?
优势:
1、自动化测试可以代替大量的手工机械重复性操作。测试可以把更多时间投入到用例设计和新功能测试。
2、自动化测试可以大幅提升回归测试的效率。
3、自动化测试可以更好地利用无人值守时间,去频繁的执行测试。
4、自动化测试可以高效的完成或者代价巨大的测试类型。 7*24,并发,接口等。
5、自动化测试可以保证每次测试执行的操作以及验证的一致性和可重复性,避免遗漏。
劣势:
1、只能做重复、机械化的重复步骤
2、自动化比手工测试脆弱。无法应对变化。
3、自动化测试的用例开发工作量远大于单次手工测试时间,自动化执行次数大于5次时,才能回收成本。
4、自动化测试发现的缺陷数量通常比手工测试少。
5、需要测试即懂业务又懂自动化技术
3、什么样的项目适合自动化?
1、需求稳定,不会频繁变更。
2、研发和维护周期长,需要频繁执行回归测试
3、需要在多种平台上重复运行相同测试的场景。
4、某些测试项目通过手工测试无法实现,或者手工成本太高。
5、被测软件的开发较为规范,能够保证系统的可测性。
4、自动化测试方法
1、单元测试
2、接口自动化
3、UI自动化
4、压力并发测试
5、可靠性测试
5、自动化测试工具
postman、 jmeter、selenium、rest assured、testng等。
6、UI自动化
1、用例参照手工测试用例
2、脚本构建以Java+selenium为例 web UI自动化,可操作包括打开、关闭、最大化、最小化、元素定位、元素点击、上传文件等,Selenium 工作原理:
环境搭建:
Maven引入selenium 依赖:
脚本编写:
7、接口自动化
1、接口自动化测试用例设计:
2、脚本构建rest assured单接口测试为例:
8、并发测试
- 并发测试可分为单接口,多接口,全链路。
- 脚本构建以jmeter 多接口为例
3、并发测试关注点:吞吐量、响应时间、CPU、内存、负载、部署方式、服务器软硬件配置。
9、自动化测试展望
持续集成测试(回归测试):持续集成工具+自动构建+自动部署+自动化测试。