1.什么是自动化测试
2.常见测自动化测试工具
3.自动化工具和自动化框架的区别
4.自动化测试的适用对象
5.自动化测试方法
6.UI自动化
7.接口自动化
8.如何实施自动化
9.自动化测试的优势
一、什么是自动化测试?
自动化测试是指,软件测试的自动化,在预设状态下运行应用程序或者系统,
预设条件包括正常和异常,最后评估运行结果。是一个将人为驱动测试行为转换为机器执行的过程。
二、常见测自动化测试工具有哪些?
QTP:功能性自动化测试工具,适合BC和CS框架
selenium:WEB自动化测试工具,BC框架
Ration Robot:功能性自动化测试工具,CS、BS框架
jmeter:性能化接口测试工具,CS、BS框架
appium:APP自动化测试工具,不太常用
soapu:接口自动化测试工具,也是功能性自动化测试工具
三、自动化工具和自动化框架的区别
自动化测试框架一般可以分为两个层次:
上层是管理整个自动化测试的开发、执行以及维护,在比较庞大的项目中,它能体现出重要的作用。它能管理整个自动化测试,包括自动化测试用例执行的次数、测试脚本的维护、以及集中管理测试用例、测试报告和测试任务等。
下层主要是测试脚本的开发,充分的使用相关的测试工具,构建测试驱动,并完成测试业务逻辑。
由此我们可以看出,测试工具只是测试框架的一部分
自动化测试的演变:
测试工具–>数据驱动–>关键字驱动–>测试框架–>测试平台
四、自动化测试的适用对象
实施自动化测试的前提条件:需求变动不频繁、项目周期足够长、自动化测试脚本可重复使用
适合做自动化的项目
产品型项目:产品型的项目,新版本是在旧版本的基础上进行改进,功能变不大的项目,但项目的新老功能都必须重复的进行回归测试。回归测试是自动化测试的强项,它能够很好的验证你是否引入了新的缺陷,老的缺陷是否修改过来了。在某种程度上可以把自动化测试工具叫做回归测试工具。
机械并频繁的测试:每次需要输入相同、大量的一些数据,并且在一个项目中运行的周期比较长。
冒烟测试结束后就可以开始自动化测试了,这个我们之前也说过了。
五、自动化测试方法
测试对象:UI、接口、代码
测试过程:系统测试、集成测试、单元测试
执行人员:测试人员、开发人员
六、UI自动化
用例维护量大
页面相关性强,必须后期介入
UI测试适合于界面变动较小的项目
七、接口自动化
可在产品前期介入
用例维护量小
页面相关性小
适合接口变动较小,界面变动频繁的项目
八、如何实施自动化测试
自动化测试分为七个过程,重点是前五个:
分析:总体把握系统逻辑,分析系统的核心体系架构。
设计:设计测试用例,测试用例要足够明确和清晰,覆盖面广而精。
实现:实现脚本,有两个要求:一是断言,二是合理的运用参数化。
执行:脚本的执行过程中异常需要仔细分析原因。
总结:测试结果的分析,和测试过程的总结是自动化测试的关键。
维护:自动化测试脚本的维护是一个难以解决但又必须要解决的问题。
分析:在自动化测试过程中深刻的分析自动化用例的覆盖风险和脚本的维护成本。
如果对软件测试、接口测试、自动化测试、面试经验交流。感兴趣可以加软件测试交流:1140267353,还会有同行一起技术交流,同时还有海量免费学习资料
九、自动化测试的优势
减少重复测试的时间,实现快速回归测试
创建优良可靠的测试过程,减少人为错误
可以在运行更多更繁琐的测试
可以执行一些手工困难或不可能进行的测试
更好的利用资源
测试具有一致性和重复性
优点:
(1)对程序的回归测试更方便。这可能是自动化测试最主要的任务,特别是在程序修改比较频繁时,效果是非常明显的。由于回归测试的动作和用例是完全设计好的,测试期望的结果也是完全可以预料的,将回归测试自动运行,可以极大提高测试效率,缩短回归测试时间。
(2)可以运行更多更繁琐的测试。自动化的一个明显的好处是可以在较少的时间内运行更多的测试。
(3)可以执行一些手工测试困难或不可能进行的测试。比如,对于大量用户的测试,不可能同时让足够多的测试人员同时进行测试,但是却可以通过自动化测试模拟同时有许多用户,从而达到测试的目的。
(4)更好地利用资源。将繁琐的任务自动化,可以提高准确性和测试人员的积极性,将测试技术人员解脱出来投入更多精力设计更好的测试用例。有些测试不适合于自动测试,仅适合于手工测试,将可自动测试的测试自动化后,可以让测试人员专注于手工测试部分,提高手工测试的效率。
(5)测试具有一致性和可重复性。由于测试是自动执行的,每次测试的结果和执行的内容的一致性是可以得到保障的,从而达到测试的可重复的效果。
(6)测试的复用性。由于自动测试通常采用脚本技术,领测认为这样就有可能只需要做少量的甚至不做修改,实现在不同的测试过程中使用相同的用例。
(7)增加软件信任度。由于测试是自动执行的,所以不存在执行过程中的疏忽和错误,完全取决于测试的设计质量。一旦软件通过了强有力的自动测试后,软件的信任度自然会增加。
缺点:
(1)不能取代手工测试,有很多需要人脑判断结果的测试用例无法用自动工具实现,或者代价太大
(2)手工测试比自动测试发现的缺陷更多
(3)对测试质量的依赖性极大
(4)测试自动化不能提高有效性
(5)测试自动化可能会制约软件开发。由于自动测试比手动测试更脆弱,所以维护会受到限制,从而制约软件的开发。
(6)工具本身并无想像力