范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

自动化测试的成本高效果差,那么自动化测试的意义在哪呢?

  每天进步一点点,关注我们哦,每天分享测试技术文章
  本文章出自【码同学软件测试】
  码同学公众号:自动化软件测试
  码同学抖音号:小码哥聊软件测试
  01   关于问题本身
  我觉得这个问题带有很强的误导性,是典型的逻辑陷阱之一。 "自动化测试的成本高效果差"是真的吗? 当然不是。而且我始终相信,回答问题的最好方式是把问题本身弄清楚。也就是问关于问题的问题。楼主也学可以进一步 说明下面几个问题,有助于自己理解自己的问题,更有助于问题得到准确的回答:
  请定义"自动化测试"的范畴。 自动化测试简单来讲,包括用例的撰写,代码的实现,环境的搭建,用例的执行,报表的生成,结果的分析,缺陷报告等等 。每个项目自动化程度不一样,测试人员对自动化的理解有偏差,实际实行自动化的范畴差别很大
  请定义"成本"包括哪些
  请定义什么是"高"。  高是相对的。比较对象可以是另外的项目或者项目组,也可以是他人的期望
  请定义什么是"效果"
  请定义什么是"差"。  差也是相对的,可以是同手工测试比较,也可以是同老板的期望比较
  如果楼主仔细思考并且回答了以上的问题,我有七成的把握楼主要么不想问这个问题,要么想换个问题。
  换一种问法
  好吧,为了避免灌水嫌疑,我且以最大的善意揣摩楼主的意图。楼主是想问:
  如果有的项目的自动化测试,我们发现成本高于预期,效果不符合预期,那么问题可能出在哪里?怎么判断自动化测试是否有效?
  02   这里是正文开始
  关于错误的预期
  我一点都不奇怪有人会告诉我说:
  我都不知道我或者我的老板对自动化测试有什么预期,没人跟我说过。
  或者:
  自动化不就是不用手工测试了吗?用例用代码实现都能自己跑,测试人员就可以去干别的了,可以少招几个不产生价值的测试攻城狮了。老板就是这样计划的。
  这是两种非常典型的关于自动化测试的预期问题: 根本就不清楚自动化测试的目标,以及为达到目标所计划的投入。对自动化测试(通常是总监以上的老板,开发人员或者手动测试人员)抱有不切实际的幻想型期望,认为自动化测试能够干很多活同时省很多钱。 自动化测试的第一目标从来都不是节省测试的人力成本。成功的自动化测试,作为软件测试的一种工具,从业务最终效果来看,应该是能够节省成本和提高产品质量的。但是把节省测试的人力成本作为自动化测试的直接目标是错误的,而且是致命的。
  每个人对自动化测试理解都不一样,每个项目组做自动化的方式都不一样。我讲个故事,是我认识之前一个印度自动化项目的真实例子。这个项目95%以上的测试场景都是比较复杂的UI测试(Web +Windows Application)他们的自动化是这样做的:
  手工测试人员把测试用例录入到用例管理系统,精确到每一步的描述和每一个数据 自动化测试人员用代码(java,python等)实现自动化用例,保存到SCM 准备好测试环境 打开Eclipse 定位到要执行的用例的源代码 Run As Junit (因为统一用JUnit做封装) 两眼直视显示器,目不转睛 如果有步骤执行不成功,比如某个按钮点击不成功,手动帮助点击,继续一个用例执行完毕,重复步骤5到9
  你觉得这个自动化做的怎么样?我当时的感觉是几乎要吐血了,因为这个项目是我要接手的。更加吐血的还在后面,这个部门的QA的VP对自动化测试的效果很不满意(绝对的),他的设想包括: 自动化应该是一种Service(Automation As A Service),所有的测试人员和开发人员都应该可以自己很方便的去跑自动化 自动化测试的运行结果应该是可以自动分析的,占用很少的时间
  自动化测试的成功率应该是要很高的(比如95%以上) 自动化应该是写一次,运行很多次,为什么你们花那么多时间还要去改自动化代码?
  免费领取 码同学软件测试 课程笔记+超多学习资料+完整视频+最新面试题,可以转发文章 + 私信「码同学666」获取资料哦
  这个就是一个典型的 不懂自动化的团队+期望脱离现实的老板 。
  关于什么是自动化
  James Bach 曾经在一篇博文提到,自动化测试这个名字是非常有误导性的。它让一般的人误以为就是测试完全被自动化了,就像一个自动的咖啡机一样,我只需要把杯子放在那里,按一个button就够了。James说更加准确的叫法应该是"工具辅助的测试"。当然他还有另一层意思,就是 好的测试用例是没有办法100%被自动化的 ,测试人员的经验,逻辑判断和探索性的测试方法都不能被有效自动化。
  我非常同意这个观点。作为这个论断的补充和扩展,自动化应该是审视软件研发活动的每一个环节,去发现那些可以被工具化自动化的重复性活动,然后去实现。广义的自动化应该包括但不限于以下环节: 测试环境的搭建和管理 测试环境的检查,监控和报警 测试代码的编译和测试构建 测试代码的静态检查和报警 测试用例的分发和执行 测试结果的保存与管理 测试报告的生成 测试优先级的建议 自动化的成本与收益(ROI)
  一个过于简化的公式可以这样写:
  自动化的收益 = 迭代次数 * 全手动执行成本 - 首次自动化成本 - 维护次数 * 维护成本
  或者如果假设迭代次数和维护次数近视相等,这个在某些情况下可以成立,比如一个比较新的产品:
  自动化的收益 = 迭代次数 * (全手动执行成本 - 维护成本) - 首次自动化成本
  解读:
  自动化的收益与迭代次数成正比
  自动化收益可能为负数:即当自动化成本和维护成本比手动执行成本还高时
  很多时候自动化成本并不比手动成本高,但是维护成本很高
  为什么强调过于简化,因为这里的自动化收益仅仅考虑时间和资源成本的节省。 好的自动化带来的迭代周期的缩短,是可以缩短项目周期 ,在某些时候能变不能做为能做,进而带来的机会收益是巨大的,也是很难量化的。这个就要求决策者对软件工程和自动化有比较正确的直觉和理解。片面追求自动化的资源节省,或者要求精确量化自动化的收益,本人觉得都不可取。
  推论1:什么项目适合自动化
  从ROI的简化公式可以看出,下面几中情况比较适合自动化:
  回归测试为主的Support Engineering项目,即需要长期做支持维护的产品。或者有过去版本需要长期做支持维护的产品。这种产品(比如企业软件,操作系统等)一个版本在发布之后往往需要支持好多年,做bug fix和patch。这个时候每次小版本的开发都会增加迭代次数,并且每次产品变动都非常有限,维护成本相对偏低,自动化收益就非常好。这也是很多企业级软件或者硬件产品有专门自动化团队的原因。因为产品的支持维护开发的回归测试基本靠自动化。
  接口比较稳定的产品,同上
  手动测试特别费时费力,甚至无法达到测试目的的项目。比如压力测试,大数据或者大量重复数据测试,必须有自动化工具的支持。
  推论2:自动化的介入时间点
  同样从ROI的简化公式推断出,一个项目的初期可能不太适合自动化。因为项目初期用户界面和接口没有稳定,自动化代码会被动的被要求频繁改变,维护成本非常高。自动化收益不好。而反而手动测试能够快速发现问题,反馈给开发人员。而到了项目后期和维护期,自动化再介入为回归测试做准备,可以最大化自动化收益。
  推论3:自动化的程度和自动化率
  这里自动化的程度是指整个软件研发活动中引入自动化的程度。推论2中说,有些项目早期可能不太适合高度自动化,但是项目早期仍然可以选定某些环节进行自动化。比如稳定的公用接口,软件的编译和部署,环境的搭建等从一开始就比较稳定的部分。
  自动化率同样也要看产品和项目的特性 ,对于产品的UI部分如果会频繁改动,可以做比较低的自动化。对于接口比较稳定的服务组件可以提高自动化率。
  你有什么样的团队 ,工具和基础设施,其实这个因素是做所有事情都必须考虑的。自动化测试本身就是软件开发。好的自动化测试框架,架构设计很重要。这些会决定自动化的开发成本和维护成本。这些都要求很强的开发能力。如果你的团队只有很有限的开发能力,那么怎么去做自动化,是做最原始的录制回放,还是数据驱动。复杂自动化也需要良好的基础设施支持。比如你有很好的DevOps的虚机管理系统,就不用自己去开发,省下的资源和人力也是很可观的。
  工具是另外一块 ,如果公司有实力支持商业测试软件和管理软件,就可以降低编程要求(当然这会带来一些其他问题)。如果没有办法用商业工具,只能考虑开源和自己开发,这个对自动化测试开发的能力要求就高。总之必须选择和团队,技能储备,基础设施与工具匹配的自动化策略。
  管理层的理解程度和支持
  这个就不再展开。我见过很糟糕的情况,一个带好几百人兼顾产品技术的VP,越3到4级直接给测试团队提技术需求和建议。你说是做还是不做,怎么做?还有一个团队,自动化测试人员从来没有写过Java或者其他OO语言的程序,被要求从头设计自动化框架,那就是一场灾难。还有一个团队,管理层几次要求更换自动化工具,相当于整体重写自动化脚本。
  总结
  以上应该是一个很粗浅的回答。自动化测试是一个很专门化的领域,自动化测试又是对工程师的技术广度深度要求很高的工作。对于团队管理和决策者来讲,请不要简单化和孤立看待自动测试。最重要的是确保听取真正理解产品,团队和自动化测试的技术人员的判断。
  END
  免费领取码同学软件测试课程笔记+超多学习资料+学习完整视频,可以关注我们公众号哦:自动化软件测试
  本文著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

iPhone13再次曝光黑科技,将解决信号问题,售价要超1。4万说起iPhone常年存在的一个问题,很多人首先会想到信号。尤其是前几年,使用了英特尔基带之后,信号更是被很多人吐槽垃圾。苹果这么大一个公司,连一个信号问题都解决不了,说出去确实让人美国始料未及!诺基亚退出美国5G联盟,原因是离不开中国企业本文原创,禁止搬运和抄袭,违者必究!华为爱立信诺基亚是全球三大通信巨头,几乎垄断了全球通信设备市场。但是美国试图拉拢爱立信,诺基亚将华为排除在5G建设之外,游说各国站在自己的身后。intel和AMD处理器哪家好?比CPU天梯图更高级的是核心效率天梯图前言intel和AMD哪家处理器更好?这个问题换个说法酷睿十一代约ZEN3打架,谁赢了?(这样就把时间点限制在当下,未来哪家厉害,此文不作猜测)注ZEN3对应Ryzen5000系列有意解禁华为?美国突然批准向华为出售芯片,千万别上当文丨文刀图耳审丨柠檬不萌虽然说这几年来中国科技的快速发展让我们也成功跻身于科技强国之列,但同时因为中国科技领域的崛起也吸引了美西方国家的注意,尤其是对美国而言,他们认为中国的这种崛小众并不代表性能不好这几款虽然冷门但是性能体验却很好你在用吗现在的手机竞争越来越激烈了,手机的性能也越来越强大了,很多机型也是高性价比的代名词,让很多人都很耳熟明显,但是小众也不代表性能不好,因为各种原因,很多机型大部分并不知道,所以也默默UMMESTII评测含骨传导单元的HIFI耳机由医生烧友评价更合适?我莫不是伤感些,自从2019年的一场缘故,搁笔至今,话虽说为沉淀,实则迷茫。中有一文写至一半,终意境未逮,再次搁浅。而今因为疫情反复,一次支援后的长长隔离时间,终于可以找到歇下来整小米海外专利布局揭秘印度低于欧美,5G是重点今年7月,小米正式官宣其销量超越了苹果,首次晋升全球第二。小米引用了市场研究机构Canalys发布第二季度全球智能手机市占率排名数据。数据显示,小米全球智能手机市占率达到17,同比小米平板5到底值不值得买?最近小米发布了带有全新黑科技屏下摄像头的Mix4手机,然而在这场发布会上,比Mix4更被用户所关注的确实一款平板产品小米平板5。此话怎讲呢,我们从抢购的激烈程度就能知道这款产品多火为什么有人戴助听器效果好有人效果不好?你好,效果不好有这几点1)听力损失程度听力损失程度及性质往往能决定选配助听器的效果和使用寿命。轻度和中度听力损失者在近距离对话时还可以,但会出现替代用词和曲解,助听器对他们来说非常23个技巧,手机这样拍大片!(第441期)今天的手机摄影展,构图君精选了10张照片,从他们的亮点与扩展角度,提炼了22个技巧。每个亮点的背后,都是这个摄影师独特的地方,希望能为您所用,助您拍出好照片。接下来,请欣赏。主题名卖旧机买新机更划算,试试小米MIX49月份超多新款手机即将发布,iphone13系列也在其中,很多小伙伴翘首以盼,等待新机,也有些小伙伴迫不及待换新机,去卖回收小编给大家推荐一款小米MIX4手机,这款手机上市以来,一
直播电商,风往哪吹?薇娅事件后,有很多业内人把这一时间比作直播电商的转折点。直播电商目前似乎已经进入平静期?可以看到,一面是监管更加严格,一面是参与者们MCN机构主播阵营也都出现两极分化。众多参与者被猫厕所通过APP联系猫主人?日媒科技让萌宠更幸福据日本经济新闻4月6日报道,有效利用数据和技术守护宠物健康的宠物科技逐渐兴起。位于东京都涩谷区的初创企业RABO公司筹资约13亿日元(约合1028万美元),扩大销售用于预防疾病的排数字经济多项技术突围元宇宙被赋予更多想象自疫情暴发以来,数字经济的发展不断加速。随着数字经济的应用越发广泛,它逐渐成为了助力全球经济复苏的重要力量。在博鳌亚洲论坛2022年年会上,参会嘉宾围绕着数字经济如何让所有人获益怎中国EDA软件快速崛起,获得国外认可,芯片之母关键还需持之以恒EDA(电子设计自动化)软件是集成电路的重要基础工具,被广泛用于集成电路设计制造封装测试验证和仿真等各个环节。EDA软件起源于美国,美国在这个领域拥有压倒性优势。反观中国,EDA起性能王牌一加ACE昨晚曝光,没想到发布会PPT竟如此拉胯早上打开新闻,看到关注的一些科技博主,都在关注一加ACE的评测视频,搜了一下才知道,原来昨天一加召开了新品发布会!上班后第一件事,就是坐到电脑前,把发布会的视频看了一遍!看完之后,很多人把华为看作民族企业,中国科技的脊梁,真的是这样吗?华为是不是民族企业,中国科技的脊梁,不需要中国人回答,因为美国已经替我们回答了。否则,美国不顾国家脸面,不顾羞耻,不惜一切卑劣手段打压华为干吗呢?是吃饱撑的,还是智商低下?国与国之空降来袭又一成功发明一夜之间上全国热榜就连外国人都抢着要在很多男人开始注意自身形象,开始保养自己的脸颊,不再是满脸沧桑。但是还是有些人认为自己留着几撮小胡子特别男人,其实这就是邋遢,你别骗自己了。记得曾看过这样一句话比起普遍存在的手动剃motoMYUI3。0深度体验性能隐私安排周到,商务互联适用度高过去几年手机市场的大战异常激烈,如今卷剩下的都是行业的佼佼者,搞定供应链对它们来讲已不是难事,单纯拼硬件的时代早已过去,各路厂商纷纷将目光聚焦在自家产品的系统体验之上,力图通过技术南卡RunnerPro3深度体验一周它就是我最佳的跑步伴侣作为一名媒体工作者,大部分的时间都在电脑前工作,自己的身体和心理的压力确实很大。因此每周34次的5公里慢跑就成为了一段很好的放松时间,但是在跑步装备的选择上,我却犯了难。作为苹果用以太坊第二次合并测试将很快点燃超过10,000美元的强劲上涨趋势以太坊价格维持在稳定的位置,价格维持在3000美元以上,试图最早突破3100美元然而,价格高于关键的移动平均线,但最终需要升至某些关键水平以上以证明看涨趋势另一方面,资产更接近期待Electron结合React和TypeScript进行开发结合ReactTypeScript进行Electron开发1。electron基本简介electron是使用JavaScript,HTML和CSS构建跨平台的桌面应用程序。我们可以