8年资深测试总结,自动化测试成功实施,你不知道的都在这...


前言

什么项目(功能)适合自动化测试?

1、项目改动小
测试脚本的稳定性决定了自动化测试的维护成本;

如果项目改动频繁,测试人员也要根据改动的需求去修改测试脚本、测试用例,甚至需要修改底层的自动化测试测试框架;

项目中某些模块比较稳定的,就可以针对这些模块进行自动化测试(如:登录、注册等等);

项目生命周期长

自动化测试从 0 到 1 的搭建需要相当长的时间来完成;
包含了确定需求范围、自动化测试框架设计、编写自动化测试用例、调试、运行等工作;
已经可以理解为这是一个测试软件的开发过程;
唯有项目生命周期长才能支持这样一个过程;

2、项目资源充足
自动化测试需要一个 team 来搭配完成,需要一帮人长期维护才能发挥自动化测试的价值;

还得考虑公司的人力、物力(基础设施)能否支撑自动化测试长期运转;

3、需要回归测试的产品项目
项目一般迭代版本时,都需要过一遍全流程的回归测试,这将占用大量的人力时间;

若将回归测试转换为自动化测试,可以发挥自动化测试的最大优势;
为的就是:验证新增的功能是否引入新的问题,而旧的缺陷是否修复成功;

4、重复、机械性的动作
将繁琐又要重复执行的任务转换为自动化测试,可以节省大量人力成本,也是自动化测试的优势;

5、需要频繁的进行测试
需要每天都进行测试的模块,可以将它们转换为自动化测试,7*24 小时都能不间断的运行

什么项目(功能)不适合自动化测试?

1、项目改动太大
项目三天一小改,半月一大改;
有可能自动化测试用例/脚本刚写完,产品功能又发生变动了;
这样维护成本将会极高而且没有任何收益;

2、项目生命周期短
一个项目的生命周期只有一个月;
而这一个月的时间中相当长的时间都要用来看需求文档、改需求文档、编写测试用例等;
真正测试的时间并不多,此时还做自动化测试的话,可能用例都还没写完,项目就要 over 了;

3、定制型项目(一次性)
为客户定制的项目
开发、运行环境、后期维护都是客户说了算,这样很明显也不适合做自动化测试

4、易用性测试
上面也说到了,比如:界面美观性、体验友好程度、产品的易用性,只能人为感官,自动化测试无法完成

5、业务逻辑复杂
业务很复杂的对象,开发实现都很头疼的那种业务,一堆逻辑关系、运算关系,手工测试已经很难了,就没必要自动化测试了

6、不常用的功能模块
很少用到的功能(低优先级),回归测试都不需要测的,做自动化测试就显得多余了

7、软件不稳定
软件本身不稳定的话,比如:偶发崩溃、卡死,这样会很影响自动化测试的执行

8、硬件(物理)交互
和物理设备交互的自动化测试很难完成,比如刷卡、刷脸、插拔等操作

9、插播一个知识点
影响自动化测试的投入产出比的最关键因素就是:变化;
因为变化会导致需要修改自动化测试用例、脚本、框架,增加了维护成本;
如何控制失败、降低维护成本是自动化测试能否可持续性运转下去的关键;
当然,如果一个自动化测试用例永远都运行成功而没有失败也是没有意义的;

如何挑选自动化测试框架/工具?

根据测试类型进行初步区分:
接口自动化测试;
UI自动化测试;
性能测试;

1、接口自动化测试
工具:postman(入门)、jmeter(高级)
若需要结合代码更加推荐用 jmeter

代码:Python + Requests + 单元测试框架(Unittest、Pytest)、Cypress、HttpRunner、RobotFramework

2、UI自动化测试
app 端:Appium、Airtest、RobotFramework
小程序:MiniProgram
Web 端:Selenium、Cypress、RobotFramework
Window 端:Cypress(electron框架的应用)、Airtest

3、性能测试
Jmeter(开源,可二次开发)
Loadrunner(付费)

自动化测试用例覆盖度到什么程度?
回归测试一般都是选取主流程或优先级最高的功能模块进行回归;
而自动化测试又是解决人工回归测试的绝佳方案;
所以一般都会将主流程和优先级最高(使用频率最高)的功能模块的功能测试用例转换为自动化测试用例;

常用自动化测试框架:
接口自动化测试方向:Python+requests+pytest+yaml+alluer+Jenkins;
web自动化测试方向:Python+selenium4+pytest+POM+allure+Jenkins;
app自动化测试方向:Python+appium+POM+pytest+allure+Jenkins;

如果让你来从零主导,如何开展自动化测试?

前期准备
评估被测项目是否适合做自动化测试(什么样的项目、团队适合开展自动化测试?)
评估被测项目适合在哪些功能模块做自动化测试(什么样的功能模块适合开展自动化测试?)
确定使用何种测试工具、测试框架;
评估开展自动化测试需要哪些资源,包括:人员、机器、时间;
当前可用或是可以申请到的资源;
如何在不影响日常测试工作的前提下,开展自动化测试工作;

启动自动化测试工作
确定自动化测试框架的开发原则;
搭建自动化测试框架;
确定自动化测试用例的编写原则;
根据功能测试用例,筛选可转换为自动化测试用例的用例集,评审;
编写自动化测试用例;
评审自动化测试用例;
编写自动化测试脚本;
调试自动化测试脚本;
运行自动化测试脚本;
输出测试结果,将报告发送至同事邮箱;

后期工作
完善自动化测试用例;
定期根据实际情况,调优自动化测试脚本、框架;
集成 CI,定时执行自动化测试脚本,自动发送测试结果到同事邮箱;

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

每一个成功者都有一个开始。勇于迈出第一步,然后坚定地走下去,即使前方道路崎岖不平,也不要放弃追求自己的梦想。相信自己,努力拼搏,你就会成为那个闪耀的人。

不要停下前进的步伐,即便道路崎岖不平;永远保持热情与毅力,成功就在不远处等待你。每一次努力都是累积,每一次尝试都是进步,不断地挑战自我,才能成就更美好的未来。加油!

只有不断地拼搏、努力奋斗,才能迎来属于自己的辉煌时刻。坚持不懈、百折不挠,即使道路再漫长,也会最终到达胜利的彼岸。今天的努力就是为了明天更好的成果,让我们一起加油吧!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值