首页 > 其他分享 >自动化测试的痛点与发展趋势

自动化测试的痛点与发展趋势

时间:2024-03-06 10:45:02浏览次数:31  
标签:结果 痛点 标准化 发展趋势 质量 测试 自动化

前几天在技术交流群里,大家讨论了很多关于自动化测试落地面临的痛点和如何创造价值的话题,颇有感触。

自动化测试这个话题,从出现到在国内大规模开展实践,有很长的一段时间了。早期,大家对自动化测试的理解和使用目的很简单,就是通过机器自动执行,替代人的手工执行,寄期能提高效率,降低成本,同时降低人手工执行带来的误差和遗漏,想法很美好。后来在国内各大小公司大规模开始实践,就开始变形了。

这个变形过程,大致分为这几个阶段:

1、以工具为载体,将测试用例从人工执行变成机器执行。在这个过程中,工具的不断迭代和演进帮了大忙,同时在某段时期造就了自动化测试工程师这样一个专项岗位。

2、以平台为载体,通过标准化的平台来降低功能测试人员的上手难度,主打一个人人都可以自动化,为研发测试赋能。这个大饼让很多管理心动不已,投入大量资源支持,也寄托了很高的期待。

3、以工程师为载体,号称一栈到底。就是说只要你是一个测试工程师,就应该搞定自己负责部分的所有测试工作,包括自动化、性能、安全各种,这也是当前市场对测试工程师的定义和要求。

这个过程背后体现了这几个趋势:

  • 对测试岗位的专业程度要求变高;
  • 对测试产出的结果预期开始挤泡沫;
  • 从工具平台的高大上思维转变为能落地创造成果的接地气行为;

总的来说,这个过程演变至今,对产品质量的要求开始落于实处,花样秀技术而无法真正创造符合预期价值的人和工具,开始被淘汰。剩下的,就是能实际解决问题的人,至于用什么手段和工具,已经不重要了。

 

自动化的概念,来自于传统的制造业流水线作业,背后的原因是对生产力和生产效率的大规模革新。制造业的自动化流水线能不断演变优化的原因在于工业品都是模块化标准化的产品,自动化相比人类手工确实效率和良品率高了不少。

而软件行业先天讲究的小步快跑和快速迭代基因,和自动化流水线的本质是矛盾的。

近十年来的各个技术热门话题,诸如敏捷、devops、自动化测试等等,最终能真正落于实地且被大规模应用和认可的,也就devops了,为什么?

因为devops的对象,是对软件研发交付流程过程的标准化和优化,诸如代码管理、变更和验证都是可以标准化的,且这些流程的标准化都是大家认可的。

而自动化测试的痛点在哪里呢?主要体现在如下几点:

  • 自动化测试的对象是需求和业务场景;
  • 自动化测试的动作是机器执行测试用例;
  • 自动化测试的结果受多种因素制约和影响;

其中,需求和业务场景本身的不确定性更高变化更快,环境、网络、测试数据和断言都可能影响测试结果。截至目前来看,业内大部分人对自动化测试的理解和实践都是如何利用工具和平台来执行测试用例,却对需求和场景的变化以及改善影响测试结果的因素投入太少。

如此这般,长期下来就导致了投入大量资源却没拿到预期结果,最终自动化测试这一技术实践变成了测试自动化的手段。

 

测试的本质是度量,是对质量进行全方位的定量评估。无论是性能还是自动化,最终的目的是要对每次迭代和变更带来的质量变化有一个定量的结果,然后针对性改进,这也是质量保障的目的。

自动化测试要想真正落地拿到好的结果,一定要对测试对象进行标准化,否则自动化测试只能是测试自动化,从结果变成手段。

为什么这几年业内大家更多的开始提倡测试左移和质量门禁?因为相比于自动化测试这一技术手段,测试左移能更好的发现风险,质量门禁能更好的对质量在每个环节的变化给出精确的度量,这些反应在具体的质量保障方面有更直观的结果,无论是说服领导还是工作产出,都更有力度。

那自动化测试未来的发展趋势是什么呢?我的观点如下:

  • 回归技术手段本身的定位,做辅导而不是做主导(造数据/线上定时巡检);
  • 做好基础技术设施和流程规范的标准化,再考虑扩大自动化测试的应用场景;
  • 深入理解测试对象,基于需求和场景开展测试,放下技术鄙视链(自动化优于点点点);

能控制风险精准度量的才是质量,至于哪个框架优秀哪个技术更牛,交给时间来评判。

标签:结果,痛点,标准化,发展趋势,质量,测试,自动化
From: https://www.cnblogs.com/imyalost/p/18055995

相关文章

  • 接口自动化测试要做什么?8个步骤讲的明明白白(小白也能看懂系列)
    先了解下接口测试流程:1、需求分析2、Api文档分析与评审3、测试计划编写4、用例设计与评审5、环境搭建(工具)6、执行用例7、缺陷管理8、测试报告那"接口自动化测试"怎么弄?只需要在上篇文章的基础上再梳理下就可以。为更好理解"接口自动化"具体操作流程,最好我们提前了解下,为什么要做......
  • 半自动化部署脚本
    #!/bin/shecho===============================================================echo欢迎使用【XXXX】---自动化部署脚本启动echo===============================================================echo即将为您部署系统应用...sleep1APP_NAME=XXXCODE_PATH=/tmp/p......
  • 你在自动化测试中遇到的挑战是什么?如何解决的?
    在自动化测试中,我遇到的一些挑战包括:应用覆盖率不足:自动化测试覆盖不到所有的功能和场景,特别是对于复杂的系统和多样的用户交互。解决方法:持续评估和优化自动化测试的覆盖范围,优先覆盖核心功能和关键路径,结合手动测试进行补充。测试环境配置复杂:搭建和维护测......
  • 常见的自动化测试工具有哪些?它们的优缺点是什么?
    常见的自动化测试工具有很多种,其中一些主要的工具包括:SeleniumWebDriver:优点:支持多种浏览器和操作系统,可用于Web应用的自动化测试,灵活性高,可扩展性好。缺点:不支持测试移动应用,需要编写详细的测试脚本。Appium:优点:支持多种移动应用平台(如iOS、Android等),可用于移动应用......
  • 你如何设计和编写自动化测试脚本?
    需求分析:确定测试的范围和目标。分析需求文档或用户故事,了解功能和业务逻辑。确定测试用例,包括正向和反向场景。选择测试工具和框架:根据项目需求和技术栈选择合适的自动化测试工具和框架。了解选定工具和框架的特性和功能,确定是否符合项目需求。测试......
  • 多任务一次搞定!selenium自动化复用浏览器技巧大揭秘
    复用浏览器简介在Web自动化测试中,浏览器复用是指将已打开的浏览器实例用于多个测试用例。这可以显著提高测试效率和性能,并减少资源消耗。浏览器复用通常与浏览器驱动程序(如SeleniumWebDriver)一起使用,以便更好地管理浏览器窗口和标签页。常见的浏览器复用场景如下:多个测试......
  • hbase自动化建表脚本
    脚本内容如下#!/bin/bashv_date=`date-d'+1day'+%Y%m%d`delete_date=`date-d'-8day'+%Y%m%d`end_date=`date-d'+3day'+%Y%m%d`while[$v_date!=$end_date]doecho"正在创建hbase表namespace:table_name_${v_date}...........
  • 接口自动化中实现【参数化】以及【测试数据】可以放在哪里
    一、在接口自动化测试中,参数化可以实现多组数据反复调用一个测试脚本,从而简化测试过程和减少重复劳动。常见的参数化方式包括:1、数据驱动数据驱动是将测试数据集合放入外部存储(如Excel、CSV等),然后使用专门的库或工具(如Pandas)来读取数据并将其预处理、转换为代码可以理解的语言格......
  • web ui 自动化测试
    来源:测试开发探秘公众号一、用到的工具和语言1)SeleniumIDE:作为火狐的一个插件,是我们Web自动化测试中必不可少的。 (2)FireBug:火狐的一个插件,帮助我们定位页面元素。 (3)Eclipse:强大的代码编辑工具,相信大家并不陌生。 (4)PyDev:Eclipse的插件,用于编辑Python代码。 (5)Python......
  • python接口自动化系列(14):一键执行生成并打开报告
     本系列汇总,请查看这里:https://www.cnblogs.com/uncleyong/p/18033074需求在前面的篇幅中,查看测试报告,我们要先运行自动化框架(执行pythonmain.py命令)生成result,然后再生成allure-report,最后再打开报告,这样稍显麻烦。有测试小伙伴就问,能不能一键执行生成并打开报告呢?当然可......