关于手工测试与自动化的两难问题
从今年年初的版本开始,项目要求各特性测试用例的自动化百分比要达到80%以上,于是乎我们花了很多时间在写自动化脚本上。最近的一个项目,因为考虑到后面还有好多轮迭代以及回归,因此我们鼓励尽早做自动化,甚至在第一版本转测的时候,我就开始埋头写自动化了,而不是先把用例手工执行一遍。
自动化的时机,到底在什么时候做自动化,其实,这涉及到一个两难的问题。
一种做法是一开始早就做自动化,这样做的好处是后面的多轮迭代可以充分利用这些自动化的成果,使你后面的测试工作更轻松。但是它的缺点就是干开始要耗费太多的时间,以至于第一轮测试你没办法去做一个充分的漫游和发散,错过了及早发现BUG的机会。
另一种做法是,一开始你就先手动测试,等手动测试完成后有闲暇时间再开始写自动化脚本。这样做刚好和上面相反,它有助于你及早发现错误,但是由于你前面自动化的用例太少,导致你第二轮第三轮测试可能还要做大量的重复性的手工测试。
这个问题困扰了我一段时间了,期间我基本上采用的是第一种方法。但后来在实践中证明,这并不是一种很好的方法,这种方法不但找到的BUG更晚一些而且更少一些。晚一些的原因上面已经说过。少一些有以下原因,原因一:杀虫剂效应,当这些用例一遍又一遍地执行的时候,已经很难再找出新BUG了;原因二:我一直在想自动化完成后,后面有的是时间,我可以进行一些发散测试,不过实践证明我并没有我想的那么勤劳,经常是把用例自动化完了就停滞不前了。
鉴于越早发现BUG修复的代价越小以及我不是个很勤劳的人这两点来看,第二种做法可能会更合适一些。最近也接触了一些探索测试的东西,现在总体的想法是,在第一轮测试的时候,先用探索测试的方法在已有用例基础上进行一些探索测试,快速将特性测试一遍。以便尽早地找出一些严重或显而易见的BUG。在这期间,每天还要安排一部分时间来写一点自动化用例,这可能需要我多付出一些时间和精力,但从对后面的工作提供的帮助来说,这绝对是值得的。总得来说,是更倾向于第二种方法,并把探索测试融合进来,但也要预留一定时间来写自动化。至于之间的时间分配比例,没有一个万能的值,实践出真知吧。
关于手工测试与自动化的两难问题相关推荐
- 如何从手工测试转自动化或测试开发
首先,我们需要明确一下手工测试干的好好地,为啥非要转到自动化测试或者测试开发领域.总结一下有以下几条原因: 1.手工测试重复性很强,不断地从键盘或者鼠标输入,或者用手直接点手机,点了好几年了,心灵难免 ...
- 自动化横行的今天,手工测试如何杀出一条血路?
自动化测试是每个软件公司反复提及的,放眼望去,测试岗位的招聘要求里十有八九都会有一条"掌握自动化测试技巧",甚至有的公司把用例自动化率(实现自动化的用例数/总用例数*100%)当作 ...
- 让天下没有难做的研发:解读阿里CI/CD、DevOps、分层自动化技术
在互联网时代,产品快速迭代的重要性不言而喻.不管是传统企业还是初创企业,在提升研发效能方面都有很强的需求,如果能使用一套对项目流程管理和专项自动化提效工具,来支持项目的快速迭代发布,实现24小时持续集 ...
- UI自动化框架如何设计及搭建?
目录 UI自动化框架 自动化原则: 如何减少自动化维护成本? UI自动化框架优化方案:(在不增加维护成本前提下) UI自动化脚本可分为3种: 已经实现自动化的模块可以不做手工测试了吗? UI自动化公式 ...
- 测试技能整理-python自动化
pycharm工具基本使用及python基本 python简介 Python是一种跨平台.简单易学.面向对象的编程语言一门计算机语言 自动化测试-通过代码取代手工测试 市场自动化语言:python . ...
- 【自动化经验谈】自动化测试成长之路
最近,小编拜读了测试同行Young的一篇博客园文章<写给想做自动化测试的人>,文中介绍了自动化测试是什么.为什么要进行自动化测试.什么样的人适合做自动化.怎么做自动化测试等内容.这篇文章作 ...
- 学习软件测试需要掌握哪些内容?这篇文章告诉你
学习软件测试需要掌握哪些内容,主要取决于该岗位现在需要的技能有哪些,只有掌握了岗位需要的技能才能顺利地找到适合自己的工作,技术在不断更新,我们需要学习在实际工作中能够用到的企业级技术.那么学习软件测试 ...
- 花了我一天一夜整理出的软件测试学习路线
目前软件测试这个行业大学还没有专门的课程,不像开发.想要进去这个行业无非自学和培训两种途径.发展到2018年初来说,这个行业已经比较稳定,但是并没有饱和,缺口依然很大,在未来的5~10年内发展会很快, ...
- python脚本语言采用声音作为手段_LKJ自动化测试脚本定义及生成技术研究
LKJ 自动化测试脚本定义及生成技术研究 白鸿钧,张明凯,李冠军,杨清祥 [摘 要] 摘要:为实现对列车运行控制系统软件的自动化测试,在通用脚本语 言的基础上定义专用的脚本语言,讨论专用脚本语言的结构 ...
最新文章
- 组合计数 ---- 2020 EC final B. Rectangle Flip 2(枚举+组合计数)
- Python与PHP的区别?
- CSS-home.htm
- leetcode 155. 最小栈
- Docker最全教程——Redis容器化以及排行榜实战(十三)
- Java:GB18030字节数组与UTF8互转
- Linux 软件包管理
- froala 的使用
- TeamViewer安装——好用的远程办公软件
- 谷歌浏览器书签保存在哪里以及书签导入导出方法
- MySQL的日志 - relay log
- 【win10】win10值不值得升级?
- UltraEdit32常用快捷键
- Unity3D——游戏序列化
- 《Armv8/armv9架构入门指南》-【第四章】- ARMv8 寄存器
- 教育平台项目后台管理系统:课程内容模块
- 网站策划文案-新闻发布系统简介
- 轻松学Python数据分析3-数据处理
- L1-051 打折 (5 分)
- 马拉松成绩和体重的关系