第一,需求稳定,不会频繁变更。
自动化测试最怕的就是需求不稳定,过高的需求变更频率会导致自动化测试用例的维护成本直线上升。 刚刚开发完成并调试通过的用例可能因为界面变化,或者是业务流程变化,不得不重新开发调试。所以 自动化测试更适用于需求相对稳定的软件项目。
第二,研发和维护周期长,需要频繁执行回归测试。
1. 在我看来,软件产品比软件项目更适合做自动化测试。
首先,软件产品的生命周期一般都比较长,通常会有多个版本陆续发布,每次版本发布都会有大量的回 归测试需求。
同时,软件产品预留给自动化测试开发的时间也比较充裕,可以和产品一起迭代。
其次,自动化测试用例的执行比高于1:5,即开发完成的用例至少可以被有效执行5次以上时,自动化测 试的优势才可以被更好地体现。
2. 对于软件项目的自动化测试,就要看项目的具体情况了。
如果短期的一次性项目,就算从技术上讲自动化测试的可行性很高,但从投入产出比(ROI)的角度看 并不建议实施自动化,因为千辛万苦开发完成的自动化用例可能执行一两次,项目就结束了。我还遇到 过更夸张的情况,自动化测试用例还没开发完,项目都已经要上线了。
所以,对于这种短期的一次性项目,我觉得你应该选择手工探索式测试,以发现缺陷为第一要务。而对 于一些中长期项目,我的建议是:对比较稳定的软件功能进行自动化测试,对变动较大或者需求暂时不 明确的功能进行手工测试,最终目标是用20%的精力去覆盖80%的回归测试。
第三,需要在多种平台上重复运行相同测试的场景。
这样的场景其实有很多,比如:
对于GUI测试,同样的测试用例需要在多种不同的浏览器上执行; 对于移动端应用测试,同样的测试用例需要在多个不同的Android或者iOS版本上执行,或者是同样 的测试需要在大量不同的移动终端上执行;
对于一些企业级软件,如果对于不同的客户有不同的定制版本,各个定制版本的主体功能绝大多数 是一致的,可能只有个别功能有轻微差别,测试也是需要覆盖每个定制版本的所有测试; ……
这些都是自动化测试的最佳应用场景,因为单个测试用例都需要被反复执行多次,能够使自动化测试的 投资回报率最大化。
第四,某些测试项目通过手工测试无法实现,或者手工成本太高。
对于所有的性能和压力测试,很难通过手工方式实现。
比如,某一个项目要求进行一万并发用户的基准性能测试(Benchmark test),难道你真的要找一万个 用户按照你的口令来操作被测软件吗?又比如,对于7×24小时的稳定性测试,难道你也要找一批用户 没日没夜地操作被测软件吗?
这个时候,你就必须借助自动化测试技术了,用机器来模拟大量用户反复操作被测软件的场景。当然对 于此类测试是不可能通过GUI操作来模拟大量用户行为的,你必须基于协议的自动化测试技术,这个我 会在后续的性能测试章节详细叙述。
第五,被测软件的开发较为规范,能够保证系统的可测试性。
从技术上讲,如果要实现稳定的自动化测试,被测软件的开发过程就必须规范。比如,GUI上的控件命 名如果没有任何规则可寻,就会造成GUI自动化的控件识别与定位不稳定,从而影响自动化测试的效 率。
另外,某些用例的自动化必须要求开发人员在产品中预留可测试性接口,否则后续的自动化会很难开 展。
比如,有些用户登录操作,需要图片验证码,如果开发人员没有提供绕开图片验证码的路径,那么自动 化测试就必须借助光学字符识别(OCR)技术来对图片验证码进行模式识别,而它的设计初衷是为了防 止机器人操作,可想而知OCR的识别率会很低,就会直接影响用例的稳定性。
第六,测试人员已经具备一定的编程能力。
如果测试团队的成员没有任何开发编程的基础,那你想要推行自动化测试就会有比较大的阻力。这个阻 力会来自于两个方面:
前期的学习成本通常会比较大,很难在短期内对实际项目产生实质性的帮助,此时如果管理层对自 动化测试没有正确的预期,很可能会叫停自动化测试; 测试工程师通常会非常热衷于学习使用自动化测试技术,以至于他们的工作重点会发生错误的偏 移,把大量的精力放在自动化测试技术的学习与实践上,而忽略了测试用例的设计,这将直接降低 软件整体的质量。

转载于:https://www.cnblogs.com/ZoeLiang/p/10746996.html

适合做自动化测试的项目相关推荐

  1. 【软件测试】什么样的项目适合做自动化测试?自动化测试有需要那些技术?

    少部分从事软件自动化测试,会接触底层服务端.API .Web.APP.H5 等等,对自动化有了解. 想做自动化,首先得了解一下自动化测试的一些常见问题. 也是面试时,必问的一些问题(这么简单的面试问题 ...

  2. 哪种语言更适合做自动化测试?

    经常有测试新手问我:Python和Java语言,哪个更适合做自动化测试?本来想简单的回答一下的,但又觉得对不起大家对小编的信任.因此,小编今天专门写了一篇文章来回答这个问题.欢迎各位大佬补充~ 1.什 ...

  3. 什么样的人适合做自动化测试

    这个问题是写给想要做自动化测试的人,或许你以为软件测试的门槛很低,低到任何人都可以做,随便点点就可以了,这个行业太low了,所以你想做自动化测试,提升自己的逼格,我想说手工测试并不low,如果让一个什 ...

  4. 在软件测试领域,Java和Python哪个更适合做自动化测试?

    功能测试人员提升技能的方向就是自动化测试,要学自动化测试就要进阶编程语言,常用的编程语言有两种,Python和Java,掌握哪门编程语言更容易做自动化测试呢? 什么是自动化测试? 简单来说,自动化测试 ...

  5. java和python的web自动化有什么区别-Python和Java哪个更适合做自动化测试?

    Python:易于学习,语法简洁 不可否认的是,Python相对于其他语言来说,要容易的多.因为Python语言的简单明了,很多外行人也能读懂它的代码.Python语言不需要拥有很丰富的词汇,简单明了 ...

  6. 写给想要做自动化测试的人

    接触了不少同行,由于他们之前一直做手工测试,现在很迫切希望做自动化测试,其中不乏工作5年以上的人. 本人从事软件自动化测试已经近5年,从server端到web端,从API到mobile,切身体会到自动 ...

  7. UI自动化测试是什么?什么项目适合做UI自动化测试

    目录 前言 1.about自动化测试 2.自动化测试分层 3.什么样的项目适合自动化测试 4.常见的自动化测试工具简介 5.UI自动化测试要不要做? 6.什么样的项目更适合做自动化测试 结语 前言 本 ...

  8. 什么样的项目适合UI自动化测试

    我们在考虑做自动化测试之前,一定要先分析一下,这个项目到底适不适合做自动化测试,避免在不太适合自动化测试的项目中痛苦挣扎,既浪费了大量的人力和时间,又收效甚微.下面简单列举一下评估一下项目是否适合做自 ...

  9. 在做自动化测试之前你需要知道的,转自:http://www.cnblogs.com/fnng/p/3653793.html

    什么是自动化测? 做测试好几年了,真正学习和实践自动化测试一年,自我感觉这一个年中收获许多.一直想动笔写一篇文章分享自动化测试实践中的一些经验.终于决定花点时间来做这件事儿. 首先理清自动化测试的概念 ...

  10. 在做自动化测试之前你需要知道的

    在做自动化测试之前你需要知道的 什么是自动化测? 做测试好几年了,真正学习和实践自动化测试一年,自我感觉这一个年中收获许多.一直想动笔写一篇文章分享自动化测试实践中的一些经验.终于决定花点时间来做这件 ...

最新文章

  1. 自媒体人怎样快速拥有自己的APP
  2. 解决iscroll.js上拉下拉刷新手指划出屏幕页面无法回弹问题
  3. 用触发器实现SQLite的外键约束
  4. 前端MVVM模式及其在Vue和React中的体现
  5. python3.x+requests 爬取网站遇到中文乱码的解决方案
  6. 鲲鹏支持java_#化鲲为鹏,我有话说# 鲲鹏弹性云服务器配置 JAVA 环境
  7. react组件卸载调用的方法_React调用子组件方法与命令式编程误区
  8. 软件测试52讲-用机器设计测试用例:基于模型的测试
  9. 15.软件架构设计:大型网站技术架构与业务架构融合之道 --- 技术架构与业务架构的融合
  10. 小米路由器能做无线打印服务器吗,将普通打印机连接在小米路由器上能做
  11. 圆锥曲线万能弦长公式_圆锥曲线焦点弦长公式.doc
  12. python 高级函数补充
  13. 【SpringBoot】Bean 注入失败问题汇总
  14. hoolilaw解读:在美国一不小心就犯法 一言不合就法庭见
  15. 韩松手机摄影笔记第八课--手机人物摄影
  16. 男人应该做的50件事(1-16)
  17. 基于Xilinx Kintex-7 FPGA K7 XC7K325T PCIeX8 四路光纤卡226
  18. 计算机被格式化怎么找回资料,电脑分区文件被格式化误删了怎么恢复
  19. scss 基本语法整理
  20. cyclegan:unpaired image-to-image translation using cycle-consistent adversarial network

热门文章

  1. 服务器几种邮件报警设置之ESXI账号登陆报警[一]
  2. MS SQL 日常维护管理常用脚本(二)
  3. jquery 单选、复选赋值
  4. Javascript:谈谈JS的全局变量跟局部变量
  5. lecture2-NN结构的主要类型的概述和感知机
  6. Windows窗体和常用控件的事件处理函数
  7. 停止预览时调用Camera.release(), 出现Method called after release()异常问题原因及解决办法...
  8. 二台S3928P堆叠的配置文档,大家可以参考
  9. 苹果手机的测距仪怎么用
  10. 关于类类型的隐式类型转换