很多人在回答为什么要开展自动化测试时,立即回想到的答案是提高测试效率。这种回答本身并没有错,但我想这只是问题的次要方面。在经过数次的自动化测试时间投入与效益比来看,可以基本得出,基于某个场景的测试脚本,在没有变更与维护情况下,脚本执行频率大于5-7次才基本能够收回投入成本,产生自动化效益。基于互联网的产品条件下,一个项目或系统如果包含 > =100个测试场景,事实远超这个数据的N倍,其实很难能够保证在收回自动化效益后,场景业务或数据才变更,通常变更是无法预期的或难以控制。

从技术的手段来保证:

曾经我们大胆试图在技术上创新,尝试如下技术攻关点:

1、能否通过手工用例,自动化生成脚本?

2、业务对象变更自动识别,与脚本自动化维护?

技术点1与2看起来很有挑战,很值得做,曾经为这样的Idea 也热血,与冷静思考过,并开始一步步逼近实现。但现在可以告诉大家四个字:“得不偿失”,其实上面技术点的本质,是在客观上用技术来代替现实世界中人的主观。

对于技术1,事实上很难能够找到通用的建模方式,来描述用例生成脚本;

对于技术2,   自动化技术是永远落后开发实现技术的发展,任何新的操作对象产生,必须跟进自动化识别技术,但搞自动化一帮人不可能在office意淫明天会有什么新的对象面世。即,真正意义上的做到完全无人职守,脚本自动生成或通过对象嗅探自动维护脚本,几乎是“布尔什维克”主义, 或者可以说实现上述两种技术方法,要先诞生实验室研究或论文阶段,类似于企业或像阿里巴巴,华为这样的大的公司来说,也不会有人站出来说这样做肯定有收益。

从流程的手段来保证:通过自动化测试体系中流程来约束变更的发现机制?如果,任何变更的源头来自于需求或者业务,他们可以在变更时告诉软件生命周期后期测试环节的QA工程师来维护脚本么?答案也是几乎很难,所以从上述技术与流程两个方面来看,就会涉及到测试效率提高的被动性,当然和重复生成测试数据与较稳定功能的回归,测试效率还是有提高的,但和刚才提到的测试效率提高的被动性来比,通过自动化测试来提高效率,其局限性就不言而喻了。

举例来看:

上个月发布了功能点A,有2000个case,这个月发布了功能点B又新增1000个case。

对于QA手工测试来讲,如果没有自动化测试介入的情况下,我们只是测试与后面1000个case相关的功能,如果时间允许的情况下,我们把顶多把A功能其中主要的500case测试一遍,就可以认为尽力测试到放心上线了,但问题恰恰出现在A功能2000减去500后的1500个case中,但如果我们用了自动化测试角度来看,但我们用了2000个case脚本,我们只要开发功能点B又新增1000个case的脚本,那么我们是可以保证在发布之前,用自动化来check 2000+ 1000=3000case的,手工测试的发布时间,肯定要早于用了自动化测试的发布时间,但测试的覆盖与范围从1500case增加到3000case

那么最后当然得出结论自动化测试更适合缺陷预防,而不是提高测试效率,希望看完这篇文章的同学,能够和我悟出同样结论与观点,也帮助影响你的主管或身边的同事。

python自动化测试怎么提高效率_自动化测试更适合缺陷预防,而不是提高测试效率...相关推荐

  1. Python自动化测试工具有哪些?哪一个更适合你呢?

    目录 前言 Web UI test automation Web UI 自动化 Mobile test automation 移动端自动化测试工具 Windows UI test automation ...

  2. python写ui自动化测试用例_自动化测试(6) | Web UI 自动化测试方案

    Web项目的 UI 自动化测试方案 有用的链接: 项目讨论 项目中符合自动化测试的部分有哪些?(目标和范围 scope, 准入准出标准) 稳定的需求点.变动较少的页面 每日构建后的测试验证 daily ...

  3. python自动化测试脚本怎么写_自动化测试脚本一般用什么语言写

    1. 自动化测试脚本一般用什么语言写 我主要是做web测试的,最近也在研究自动化测试. 自动化测试主流的工具应该是QTP吧,这个你可以去51testing论坛搜到很多相关的资料.QTP是一个商业软件. ...

  4. 11小时 python自动化测试从入门到_自动化测试实战宝典(Robot Framework+Python从小工到专家)...

    目录 第1部分 入门篇 第1章 大话测试行业 1.1 测试行业现状分析 1.2 未来发展趋势 1.3 测试工程师的核心竞争力 1.4 测试知识体系 1.5 测试发展能力图谱及推荐书单 1.6 本章总结 ...

  5. uft自动化测试工具安装步骤_自动化测试灵魂三问:是什么、为什么和做什么

    什么是自动化测试 在软件测试领域,有两种测试技术:「手动测试」和「自动测试」.两种方法都旨在执行测试用例,然后将实际结果与预期结果进行比较. 概括来讲手动测试是一种人工执行操作的测试技术,可确保软件代 ...

  6. java contains 效率_字符串中判断存在的几种模式和效率(string.contains、string.IndexOf、Regex.Match)...

    通常情况下,我们判断一个字符串中是否存在某值常常会用string.contains,其实判断一个字符串中存在某值的方法有很多种,最常用的就是前述所说的string.contains,相对来说比较常用的 ...

  7. Cisc和Risc哪一个更适合采用流水线技术来提高性能?

    Cisc由于指令功能复杂,规整性不好,不利于采用流水线技术来提升性能.Risc指令集,指令相对规整,功能简单,适合采用流水线技术来提高性能.

  8. python自动读取短信_自动化测试-自动获取手机短信验证码

    最近在做生产环境自动化测试,碰到一个难题就是短信验证码的获取,生产环境短信验证码是真实的,不能采用测试环境将短信验证码写成固定的方法解决,我的思路是:做一个apk小程序,将手机上的短信验证码实时读取出 ...

  9. python关于excel格式刷_这些Excel学会了,你做账的效率将大大提高

    这些功能学会了,工作效率将大大提高. 1.excel的快速访问工具栏: 我的快速访问工具栏由左到右主要是"保存"."新建"."撤销".&qu ...

  10. python自动化办公第二节_自动化测试第二节-jmeter关联+抓包+python基础

    1.jmeter关联:从上一个请求中获取返回值提供给下一个请求使用 2.解决jmeter乱码问题: 打开apache-jmeter-2.11\bin\jmeter.properties文件,搜索&qu ...

最新文章

  1. Vue @import ‘~@/css/reset.css’;报错,解决方案
  2. xml file too big to import to wordpress website
  3. Kafka设计解析(二):Kafka High Availability (上)
  4. aspx 使用什么中间件_.NET Core中间件与依赖注入的一些思考
  5. 《Java 高并发》02 多线程的特性
  6. 清除浮动造成的影响的解决方案总结
  7. 【面试题】HashMap 面试 21 问
  8. linux--history命令
  9. leetcode python3 简单题155. Min Stack
  10. 第J题-=数组中等于K的数对(详解) =======给出一个整数K和一个无序数组A,A的元素为N个互不相同的整数
  11. 机械臂拉格朗日动力学怎么用matlab仿真_Matlab 机器人动力学参数辨识仿真(1)单摆的动力学参数辨识...
  12. 锚点盒子随滚动条浮动
  13. 在HTML中什么表示水平线,HTML中加入水平线的标签是( )
  14. 时间复杂度比较以及额外空间复杂度O(1)
  15. 速学TypeScript-精简划重点手册-下册
  16. Java最牛教材!javaexcel合并单元格样式
  17. ssh 反向代理连接内网服务器并配置开机自启动(解决autossh无法开机自启动)
  18. http劫持的原理与过程,HTTP被劫持怎么办?
  19. Javase多态(对多态的理解、多态的体现)
  20. 观念什么意思_观念是什么意思_观念怎么读_造句_近义词_拼音_解释

热门文章

  1. 判断网页是否是微信浏览器打开
  2. 函数指针的应用学习Demo
  3. 每日一句20191229
  4. 20190608每日一句
  5. 190430每日一句
  6. holotoolkit建立多个客户端
  7. 181112每日一句
  8. Atitit 理财之道 attilax著 1. 融资 3 1.1. 融资账户余渠道 3 2. 风控 3 3. 3 4. 投资 3 5. 线上财富与资源 3 5.1. Jd流量 飞猪流量 3 5.
  9. atitit.React   优缺点 相比angular react是最靠谱的web ui组件化方案了
  10. paip.环境设置 mybatis ibatis cfg 环境设置