自动化测试理论

一、初识自动化测试

概念

  • 软件测试的定义

在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。

  • 自动化测试的定义

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

  • WebUI自动化测试

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

  • AppUI自动化测试

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

  • 接口自动化测试

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

自动化测试的优缺点

优点

缺点

 

自动化测试可行性分析

 

常见的自动化测试工具

Selenium:WebUI自动化测试

QTP/uft:WebUI自动化测试

Appnium/airtest:APP自动化测试

Monkey/MonkeyRunner:app自动化测试

Jmeter:接口、性能测试

Postman:接口测试

SoapUI:接口测试

LoadRunner:性能测试

Jenkins:持续集成

等等等等。

测试金字塔的概念

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

 

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

二、selenium自动化测试流程分析

1.熟悉业务流程

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

2.选取场景

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

3.确定方案

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

4.了解前端

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

5.元素定位

6.编写脚本

7.运行优化

8.产生报告

9.持续维护

​现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:485187702【暗号:csdn11】

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走! 希望能帮助到你!【100%无套路免费领取】

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值