自动化测试理论

一、初识自动化测试
概念
软件测试的定义
在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。

自动化测试的定义
把人对软件的测试行为转化为由机器执行测试行为的一种实践,用代码测试代码。

WebUI自动化测试
由自动化测试工具模拟人工在web程序上各种操作,并自动验证结果是否符合预期。

AppUI自动化测试
由自动化测试工具模拟人工在APP程序上各种操作,并自动验证结果是否符合预期。

接口自动化测试
由自动化测试工具模拟系统或组件之间通过接口传输数据,并自动验证结果是否符合预期。

自动化测试的优缺点
优点
自动化测试理论_第1张图片

缺点

自动化测试理论_第2张图片

 

自动化测试可行性分析

自动化测试理论_第3张图片 

常见的自动化测试工具
Selenium:WebUI自动化测试

QTP/uft:WebUI自动化测试

Appnium/airtest:APP自动化测试

Monkey/MonkeyRunner:app自动化测试

Jmeter:接口、性能测试

Postman:接口测试

SoapUI:接口测试

LoadRunner:性能测试

Jenkins:持续集成

等等等等。

测试金字塔的概念
测试金字塔的概念来自Mike Cohn,在他的书《Succeeding With Agile》中详细描述着:“测试金字塔最底层是单元测试,然后是业务逻辑测试,最后是端到端的测试(GUI或CLI)。
 

自动化测试理论_第4张图片

 

我们应该有更多低级别的单元测试,而不仅仅是用户界面运行的高层的端到端的测试
分层自动化测试倡导的是从黑盒UI单层到黑白盒多层的自动化测试体系,从全面黑盒的自动化测试到对系统的不同阶段、不同层次进行自动化测试。
[小型测试]是指单元测试,用于验证应用的行为,一次验证一个类
[中型测试]指集成测试,用于验证模块内堆栈级别之间的互动或相关模块之间的互动
[大型测试]是指端到端的测试,用于验证跨越了应用的多个模块的用户操作流程
从小型测试到大型测试,各类测试的保真度逐级提高,但维护和调试工作所需的执行时间和工作量也逐级增加。因此,我们编写的单元测试应多于继承测试,集成测试应多于端到端的测试。虽然各类测试的比例可能会因应用的用例不同而异,但通常建议各类测试所占比如下:小型测试70%,中型测试20%,大型测试10%
二、selenium自动化测试流程分析
1.熟悉业务流程

熟悉业务流程是我们做自动化测试的前提,在此基础上我们才能分析出自动化测试能不能做、适不适合做、怎么做等等。

2.选取场景

一个项目中,并不是所有场景的测试都需要去做自动化的,需要我们从人力成本、时间成本、代码稳定性、覆盖率等多个角度综合分析,制定性价比最高的测试策略。

3.确定方案

确定要做自动化之后,就可以进行工具选型了。appium?seleium?airtest?QTP?等等。选能实现需求且自己擅长的就可以了。

4.了解前端

在开始写自动化脚本之前,应该掌握一些前端基础知识并对被测项目的前端结构进行了解,方便后续进行元素定位和脚本编写。(之后文章详解)

5.元素定位

6.编写脚本

7.运行优化

8.产生报告

9.持续维护

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

自动化测试理论_第5张图片

文档获取方式:
 
加入我的软件测试交流群:1007119548免费获取~(同行大佬一起学术交流,每晚都有大佬直播分享技术知识点)

这份文档,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

以上均可以分享,只需要你搜索vx公众号:程序员雨果,即可免费领取

你可能感兴趣的:(软件测试,技术分享,测试用例,测试工具)