2026/5/30 20:11:18
网站建设
项目流程
济南建设网站公司哪个好,高端网站建设网站建设设计思路,浙江省建设工程质量安全协会网站,辽宁营商环境建设网站#x1f345; 点击文末小卡片#xff0c;免费获取软件测试全套资料#xff0c;资料在手#xff0c;涨薪更快本文主要分享做简单的UI自动化测试简介、为何要做UI自动化测试、什么情况下适合做UI自动化测试以及其他的心得体会#xff0c;希望能给各位同行带来思想上的碰撞。…点击文末小卡片免费获取软件测试全套资料资料在手涨薪更快本文主要分享做简单的UI自动化测试简介、为何要做UI自动化测试、什么情况下适合做UI自动化测试以及其他的心得体会希望能给各位同行带来思想上的碰撞。1、about自动化测试定义把人为驱动的测试转化为机器执行的一种过程重点在于持续集成这个概念优势节约人力和时间成本测试金字塔如上图所示敏捷大师Mike Cohn提出该概念然后由Martin Fowler大师在此基础上提出了测试分层概念以区别于传统的自动化测试。2、自动化测试分层单元自动化测试数据处理层指对软件中最小的可测试单元进行检查和验证一般需要借助单元测试框架如java的Junit、TestNGpython的unittest常见的手段是code review等接口自动化测试业务逻辑层主要检查验证模块间的调用返回以及不同系统、服务间的数据交换常见的接口测试工具有postman、jmeter、loadrunner等UI自动化测试GUI界面层UI层是用户使用产品的入口所有功能通过这一层提供给用户测试工作大多集中在这一层常见的测试工具有UFT、Robot Framework、Selenium、Appium等性价比按照测试金字塔模型以及投入/产出比越向下回报率越高Google的自动化分层投入占比小测试Unit占比70%中测试Service占比20%大测试UI占比10%自动化测试面临的挑战面临的最大挑战就是变化因为变化会导致测试用例运行失败所以需要对自动化脚本不断debug如何控制成本、降低成本是对自动化测试工具以及人员能力的挑战。3、什么样的项目适合自动化测试如上图所示真正工作中无法全部满足以上条件所以需要作出权衡一般来说只需要满足以下几点就可以对项目开展自动化测试图中红色框标注的选项①需求稳定不会频繁变更自动化测试最大的挑战就是需求的变化而自动化脚本本身就需要修改、扩展、debug去适应新的功能如果投入产出比太低那么自动化测试也失去了其价值和意义折中的做法是选择相对稳定的模块和功能进行自动化测试变动较大、需求变更较频繁的部分用手工测试②多平台运行组合遍历型、大量的重复任务测试数据、测试用例、自动化脚本的重用性和移植性较强降低成本提高效率和价值③软件维护周期长有生命力自动化测试的需求稳定性要求、自动化框架的设计、脚本开发与调试均需要时间这其实也是一个软件开发过程如果项目周期较短没有足够的时间去支持这一过程那自动化测试也就不需要了④被测系统开发较为规范可测试性强主要出于这几点考虑被测试系统的架构差异、测试技术和工具的适应性、测试人员的能力能否设计开发出适应差异的自动化测试框架4、常见的自动化测试工具简介UFTUnified Functional Testing即原来的QTPQuick Test Professional Software与STService Test合并而来由HP公司开发是一个企业级的商业自动化测试工具提供了强大易用的录制回放功能同时兼容对象识别模式与图像识别模式支持B/S和C/S两种架构的软件测试Robot Framework一款基于python语言编写的自动化测试框架工具具备良好的扩展性支持关键字驱动支持多种类型的客户端和接口可进行分布式测试Selenium应用于web的自动化测试工具支持多平台、多浏览器、多语言来实现自动化优点如下①开源、免费②多浏览器支持chrome、Firefox、IE、Edge等③多平台支持Linux、Windows、MAC④多语言支持java、python、Ruby、C#、JavaScript、C⑤对web界面有良好的支持⑥简单API简单、灵活开发语言驱动⑦支持分布式测试用例执行5、UI自动化测试要不要做如果一个组织真正重视软件质量UI自动化测试是有必要做。有如下几点理由1.任何自动化工具都是在简单、机械、重复的任务场景下最能发挥作用UI测试非常符合这个特点。2.对于很多组织来说UI测试是当前耗费测试团队人力多的环节大部分专职测试人员日常工作就是UI测试。“工欲善其事必先利其器”测试人员也需要自动化工具来提升其日常工作效率。3.无论后台多复杂、多重要用户接触的终究还是前端界面。现在的软件除了后台逻辑之外还有很多前端脚本逻辑和样式单纯靠后台接口/单元测试无法证明用户端的可用性。4.自动化测试确实是要分层的单元测试、接口测试、UI测试从测试团队的角度来说非常希望有足够充分的单元测试和接口测试来保证提测版本的质量但实际情况往往是开发团队所维护单元测试和接口测试也是非常不充分、甚至几乎没有。所以任何项目中有人拿“分层自动化测试”跟我讲不要做UI自动化测试的时候我都会先请他们把接口测试和单元测试展示给我看看然后再跟他们探讨自动化测试的实施策略。但是从实践的角度为什么很多质疑的声音呢归根结底就是三个字“不稳定”测试环境构建不稳定、被测软件界面不稳定、测试框架运行不稳定。其实只要适当的过程改善和开发团队配合这些问题基本都是能够解决或者明显改善的。以测试环境为例在纯手工测试阶段有些项目的测试环境可以被随时停止、随意更新。这样对手工测试也是有影响的工作进度受干扰、测试计划被打乱但是可以忍受。自动化测试会对测试环境提出更规范的要求至少不能随时停止这就需要对研发测试过程进行必要的改善。然而被测软件界面不稳定、测试框架运行不稳定就没有测试环境不稳定那么容易解决了。这里面主要涉及与开发团队的配合、测试框架的设计。6、什么样的项目更适合做自动化测试在有些人看来质量不高的原因是没有采用先进的测试技术比如自动化测试。但质量不高的真正原因是项目本身的质量要求就是不高的。否则哪怕堆人肉也要实现充分的回归测试。如果在这种情况下如果采用适合的测试框架和实施策略推行自动化测试通常会取得比较明显的成效。所以关于什么类型的项目适合做自动化测试我想回答的并不是什么项目周期长、需要长期维护、采用敏捷开发模式、组织推行DevOps、测试团队有基本编码技能balabala…这些年笔者建议不要做UI自动化测试的项目也有很多一些被我拒绝支持的项目也符合上述特点。后来我在评估一个项目是否适合做自动化测试时引入了一些非技术指标1.当前测试覆盖度、质量风险及测试投入2.目标测试覆盖度、质量风险以及如果不引入自动化手段需要的测试投入3.这个目标是谁制定的或者是向谁承诺要达成的如果项目没有制定一个在当前人力资源下无法达成的回顾覆盖范围目标或者仅仅是项目组内定的目标都没有向老板汇报或向客户承诺此目标。我觉得在这种情况下说要做自动化测试都是不太有诚意的。对于真心实意要做自动化测试的项目接下来我会引导他们把现有所有测试用例拿出来具体分析每个每类用例的自动化执行可行性、实现技术方案UI、接口以及前期需要投入的成本。在做完自动化测试ROI分析之后如果确定要引入自动化测试那么再辅以适当的自动化测试框架实施成功的可能性是非常大的。最后感谢每一个认真阅读我文章的人礼尚往来总是要有的虽然不是什么很值钱的东西如果你用得到的话可以直接拿走这些资料对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴我走过了最艰难的路程希望也能帮助到你凡事要趁早特别是技术行业一定要提升技术功底。