前言java
随着软件测试技术的发展,人们已经从最初的纯粹的手工测试转变为手工与自动化测试技术相结合的测试方法。近年来自动化测试愈来愈受到人们的重视,对于自动化测试的研究也愈来愈多。python
我在作自动化测试期间经历了很多的坑,有被动的坑,也有本身主动挖的坑,因此在这里作了一些总结。其实主要是总结下自动化测试的一些基础的内容,例如什么时候进行自动化、如何自动化、为什么要自动化等等。web
>>1. 什么是自动化测试app
首先是把人为驱动的测试行为改为机器执行,经过设计的测试用例,由机器按照测试用例的执行步骤对其进行自动操做,输出结果,由测试人员进行比较。框架
其次自动化测试每每经过一些测试工具或框架,编写自动化测试用例,来模拟手工测试。工具
最后自动化测试能极大的节省人力、时间和硬件资源,提升测试效率。post
>>2. 为何要进行自动化测试?单元测试
大体总结为6点测试
1)减小手工测试中的重复性工做,提升测试人员的工做成就感和幸福感ui
2)提升测试用例的执行效率,实现快速的自动化回归测试,快速的给予开发团队质量反馈
3)减小测试人员的数量,提升开发和测试的比例,节省企业的人力成本
4)在线产品的运行状态监控
5)插入大量的测试数据
6)发现更多的BUG
>>3. 什么样的项目须要作自动化?(dev手一抖,auto忙一宿)
1) 需求变动慢
2)周期长
3)脚本可重复利用
4)产品型项目:每一个项目只改进少许的功能,但每一个项目必须反反复复的测试那些没有改动过的功能
最主要的是要结合公司的情况,若是迭代周期过短,时间又不够,那么就不适合。
举例来讲:若是说你花一个月开发自动化系统,但脚本只针对这个系统,若是下一个系统作自动化,脚本又要从新写,成本就会较高,重复利用率较低。
>>4. 工做过程当中对于自动化测试的一些误解
1)有了自动化测试再也不须要手工测试。
2)自动化测试对有些测试好比:本地化测试、用户体验测试、探索性测试,测试环境搭建方面并不能彻底代替手工测试。
3)自动化测试是对产品的运行,对测试点要有必定的手工测试基础,自动化测试和手动测试相辅相成。
4)自动化测试并不只指自动化运行测试产品,数据处理也是很是重要的一个环节。
>>5. 平常的测试工做中,常常会引入新的需求或是修复bug,那么如何肯定新的需求的加入或bug的修复没有在原有功能中引入新的bug呢?
我想为了保证原有功能的正常,对原功能进行测试,这也是测试过程当中很是重要的一个环节。
那么在每次修复bug或新增需求时,咱们都须要手动的测试全部功能吗?在没有更多的成本、资源、时间时,你依旧须要手动的进行测试,但其成效是否能达到要求呢?
因此这个时候自动化测试的需求就来了,在咱们的平常测试工做中,有大量的回归测试须要咱们把它们给自动化了。
>>6. 是否须要系统足够稳定才能够自动化咱们的测试工做?
通常状况下是在手工测试完毕,等系统相对比较稳定的时候才开始自动化测试的。可是有些企业也有同时进行的状况。
>>7. 是否要考虑100%的自动化?
我认为100%的自动化测试太过保守。对于一个项目来讲,应该是有一个合理的自动化测试覆盖区间,具体多少最好,见仁见智。
少的我见过仅仅用自动化测试覆盖冒烟测试的,多的见过自动化测试超过90%的,因人而异,因项目而异。
>>8. 你的自动化套件寿命足够长吗?
若是你选中的自动化场景生命周期不够长,那么请不要自动化它,构建自动化的一个基本准则是让自动化了的测试工做比手工执行成本要明显下降。
固然若是能将实现自动化测试工做作到平常化、版本化,那么其成本下降将是明显的、效率改进也是显著的、是能够得到良好的投资回报率的。
>>9. 常见的自动化测试的工具
自动化测试工具开发语言:Java、Python等
基础测试工具
(1)单元测试:junit(java)、unittest(python)
(2)接口测试:httpclient(java)、 restassure(java)、request(python)
(3)UI测试:selenium webdriver( web )、appium(app)
常见自动化测试工具
(1)接口测试:Jmeter、soapui、postman
(2)UI测试:katalon、Robotframework、Android
>>10. 自动化测试脚本技术
1)线性脚本:录制、回放
2)结构化脚本:含有控制脚本执行的指令,支持顺序、选择和循环三、共享脚本:能够被多个测试用例使用,脚本之间能够互相调用
3)数据驱动脚本:数据驱动脚本是将测试输入存储在独立的文件中,脚本中只存放控制信息。
4)关键字驱动脚本:关键字驱动脚本其实是较重复的数据驱动技术的逻辑扩展 ,即测试用例的执行步骤(操做,操做对象,操做值)存放在文件中,直接执行。
写在最后
自动化测试技术在现代测试技术中是有必定优点的,可是自动化测试不是在任何状况下都必须的,适当的、或者是有效成本投入,须要咱们在合适的时机引入自动化测试,使手工测试和自动化测试实现完美结合。
<END>
关注公众号,回复【资料】可得到自动化,python,jmeter等视频教程