领导想在测试组内推自动化测试,引入了一个第三方平台 (就是不用写代码,可以使用元素写操作步骤的那种),写完之后运行了一个季度,每次发版前执行一次。但是发现很不稳行,可能因为 网络不好、开发改动等各种因素执行失败,还需要测试额外时间去查原因、修改、再执行,反而加重了测试工作量。但是领导还是想要测试解决稳定性问题后继续推,大家有什么好的处理方法呢?
嗯, 怎么说呢。 如果是以前的我, 那还是很较真的,我会跟领导说清楚并且尝试反抗一下。 但后来我慢慢知道了,有时候想改变领导的想法是不太现实的。 所以呢, 你可以考虑把问题反向抛给领导。 比如你觉得工作量更多了, 那就直接体现在排期上。 原来 3 天能做完, 你就排 4 天或者 5 天。 因为你确定要调整自动化。 测试周期拉长了自然就有人桶到领导那,领导自然就会查是什么原因,到时候你如实说就行了。 感受到了排期压力,慢慢的领导也就不坚持做这个事情了。
就是别试图靠打嘴炮说服领导。 要用事实告诉他,这样就是不行。
其实领导是知道这个不稳定的,但是自动化这个事情是整个测试组做了差不多两三个季度才做起来的,如果一下子放弃不用,之前的时间精力就是白费了,所以领导给的思路就是:遇到问题不能放弃,而是要解决问题,既然不稳定那就解决不稳定的问题。我感觉他不会放弃,而测试人员又很抵触这个事情,所以才无解
“数据驱动” 的定义:
基于精益分析和数据闭环理念,通过业务数据化和数据业务化,采集数据并将数据作为生产资料,通过数据分析和挖掘方法提炼规律、获取洞见,再应用到业务过程中,循环做出正向反馈,促进业务优化,实现以数据为中心进行业务决策和行动
换句话说,体现一个东西好与不好可以从两个方向出发,一个是有他怎么好,一个是没他怎么不好
喊领导招聘一个专职人员,专门每天负责自动化搭建、维护
这种事情太常见的了,首先和领导理性探讨,判断这套方案是否真的适用于当前的业务现状,这个过程需要你有一些数据准备,包括有这个系统前和有这个系统后的测试工作量对比(占用了多少人天),解决完问题之后节省的工作量人天可不可以将历史付出掰回来。
到底是环境问题导致失败还是平台不行导致。如果平台稳定性就是差,自身存在问题,就直接上报需要考虑其他解决方案。如果项目自身的问题那就具体分析到底哪些问题导致的。
像你说的用于发版前执行怎么还会因为开发改动导致失败,这样流程中肯定有问题。
如果是脚本误报多,可以考虑优化一下测试脚本,断言优化、等待机制、元素处理这些。或者给脚本瘦瘦身,只做最核心的链路那些,也能减少点负担。
如果说网不好经常失败,测试组要去协调稳定的网络,根据具体场景做调整和优化。
没有人喜欢自己的方案被否,自己冲上去当黑脸也不好。楼主可以整理一下现阶段的问题,写一些解决方案提上去看看领导的反应。有个自动化,述职的时候也能给你刷数据不是
可能需要先搞明白几个问题
1、现在的不稳定, 是否是可以优化的,如果有优化空间,现在的人员,是否有能力优化,优化后的稳定性, 能否满足要求, 第三方平台这种,用过的都知道, 要不要考虑换个方式。
2、要做自动化,必要的成本投入是必须的, 那就看做完之后的长期收益, 能否与投入匹配,是否需要安排专人投入。
3、有一点非常重要, 自动化不是万能的, 要给自动化一个正确的期望, 而不是想着自动化能让人一劳永逸。
这样不就有事情做了吗?对于普通员工来说 多了一份 一直能够持续的 KPI,测试稳定性的改进和优化,对于整个组来说,多了一个平台的维护工作
我们之前也用数据驱动方式(也就是上面说第三方平台),开始很简单很有激情,随着用例数或者需求变更频繁,慢慢就不适用了,所以建议还是写代码方式更好,更直接。 但是这样就需要有人牵头自动化脚本编写,并组织培训,定目标
领导看中的多是结果和效果,要是我就偷偷摸摸搞,等有一定效果能拿的出手了再找领导,否则领导不会认可,应为自动化测试接口自动化见效快,UI 的见效慢
这个事情已经是一个政治任务了:既然是投入了两个季度才完成的事情,那么肯定已经被汇报成为了团队的一个政绩。你觉得领导会轻易冒着让整个团队被质疑和笑话的风险,把这个事情完全给否定掉吗?
所以最好的方式,还是顺着领导的思路,把遇到的不稳定问题好好研究,分析和解决,在已经实现自动化这个 1.0 版本基础上,跟进一步进化成为 2.0
另外如果自动化不能做到每日构建,把维护用例的工作拆散到每一天,让用例长期维持在一个相对稳定的状态,那么到真正发版前才来期望它会有一个好的结果,是不实际的
我们公司就是,领导只是说了一句要搞自动化,然后我和另外一位同时平时忙着测业务,忙里偷闲就写写自动化,现在是 UI 和接口的框架搭起来了,有时间就逐步优化,逐步往里面补充
为什么不稳定,找到原因,去解决它。领导也需要靠自动化出业绩,让领导承认做了几个季度的事情白费,是很难的。
起码得换了领导才能换的了,加入就行了,如果自动化问题多,你绩效也好写很多,有时也挺怕那种跑了一整年,但是没什么报错的自动化
那就自己合理排时间反馈,,做可以做 但是也有时间这些成本。。并且格局大点 你做的好把这些问题早点解决了 也说明你能力的体现
自动化确实是变成团队绩效性质的任务了,领导想推,下面的人不想做,我夹在中间两头为难。协商的结果就是再运行一个季度,尝试解决稳定性的问题,如果实在不行,就考虑放弃 (不知道领导是真的 ‘忍痛放弃’ 还是对我太失望....)。测试团队就两三个人,代码还都不行,平时就做做功能测试和接口自动化,用代码去做 ui 自动化之前也尝试过,技术能力根本不行。
首先,从你的观点来看,其实你也偏向于放弃做这件事或者说抵触这件事。你应该先自我反思和总结一下落地到现在遇到的问题及阻碍。其次,让领导在周会上持续关注或者你持续汇报遇到的问题,来加强大家对此事的认可,认识到这并不是额外的工作,而是现有工作流程的加强和优化。最后,针对遇到的问题,重点突破,或者再来平台寻求帮助。说在最后,不是每一件事,都能有一个好结果,但是应该在推动过程中,去不断验证,踌躇不前和左右摇摆,只会导致半途而废!
——————个人拙见,仅供参考
我是领导的话肯定会问根因,到底为什么不稳定,每种不稳定因素占比多少,哪些做过优化,如果没有数据就不要随便喊不稳定。
感觉你做的 UI 自动化,为什么要做 UI 自动化呢,本来就不稳定,人也少。三个人的项目,要做 UI 自动化,难上加难。
不要纠结于接口自动化还是 ui 自动化,真正在实现自动化场景的时候,ui 和接口都会用到,不用分的太清楚了,真正是为了尽可能代替手工来验证,降低风险的,觉得没有很大收益,从自动化用例设计上,自动化编写效率上去思考
同样的问题,我们也是用了第三方公司的自动化测试工具,基于像素识别的那种,相关人员调研的不充分就强推,勉强用了 1 年,后面跟领导说实在用不了了,维护脚本成本太高,出问题还得协调第三方解决,自己完全解决不了 (第三方工具封装了很多层 API),最后改用代码写了,同样有维护成本,这个自动化测试都避免不了,但代码写的起码自己能解决,省略沟通成本