最近在封装符合项目的自动化框架代码遇到很多问题
1.项目规定有统一的 id,前端不加 id 用其他元素定位项目经理会让反工
2.界面需求随时新增没有稳定的需求
3.接口验证数据库后 UI 自动化也验证数据库???
4.自动化维护成本太高了效率也不怎么样
来自刚入行的萌新提问,大佬手下留情.很迷茫
不知道哪些页面需要自动化.最关键的是上一任的代码是 Selenium+unnitest 没有分层所有操作都在一起.现在要改在成 Pytest 封装成 POM
最后一个问题 (接口自动化和 UI 自动化哪个更适合职业发展)---感觉 UI 自动化不咋受待见....
项目类型腾讯文档在线编辑
第一条看你领导还是挺支持的,已经让返工了
第二这个是哼多企业的常态,只能适应不然为甚么这么多人喊 UI 自动化不好做!!
第三这个有的人验证有的不验证,根据你自己的需求来,换句话说如果你不验证根本就无法保证你自动化的有效性,那么就要验证
第四 这是通病,估计有人会给你推荐 PO 模式,至于 PO 能否让你提高效率你可以评估,再者需要做减法,如果把所有用例都自动化那么就太大任务 维护起来也费力,可以主要放在核心业务 主流程 以及减少逆向场景等,看领导是否同意
第五肯定是接口更成熟,收益更高所以很多人看不起 UI,以上!!!
但是接口测试不是比 UI 自动化容易吗?
接口自动化投入产出比高一点,而且运行起来比 UI 自动化更快速稳定
需求经常变动还必须要做 UI 自动化的话,团队最好是采用敏捷开发。除此之外提供一些减轻重复工作的建议:
虽然人们总说改变不了别人,就去改变自己,但是对于团队开发而言,这句话并不是那么妥当。
最后针对你提出的问题:
以职业发展而论,UI 测试、接口测试、压力测试、性能测试和抓包分析都是基本功,真正体现你测试能力的是参与产品的需求讨论、做好产品的缺陷预防工作,精准把控产品上线后可能会发生的异常,保证测试部门和其他部门的沟通顺畅,同时把控需求的合理性。做测试是容易做到管理岗的,这源自于测试岗位需要保证产品质量坚如磐石这一特性决定的。
目前正在封装的框架就是采用 POM 模式上面也同意了,最重要的是项目经理规定自动化要覆盖 70%.很多需求刚写一半用例流程就变了.所以最近就一直纠结于这个自动化有必要没有了
感谢大佬的耐心回复!
仔细阅读了回答也去看了 Selenide 这个二次封装的框架,后面看看能不能用在项目上
开发的单元测试是有单独的人做单元测试覆盖率在 100% 后端 但是前端只有自测
验证数据库这个环节具体资料还在查看中也谢谢提供的思路
个人观点:
比较稳定且需要重复测试的,可以用自动化。
不稳定但自动化测起来比人工快的(比如各种字段校验),也可以用自动化。
这两天我也在用 YAPI,已经搭建起来了,想结合 Jenkins 做 CI,定时啥的,但是没搞起来。
项目周期不长 界面不稳定的话 不建议做 UI 自动化 费效比太低
接口自动化和 UI 都重要 不存在向哪个方向发展 都需要掌握
如果说用例写一半,需求就变了,只能说是自动化团队能力还有所不足,测试产出效率需要提高
就拿第二点来说,界面需求变了,在 PO 模式下,也就是元素定位发生变化了或者方法的流程变了,这个变动的影响范围应该只是页面级的,为什么会没有开发改得快呢?
另外接口自动化、UI 自动化完全是两套东西,也不具备可比性。
接口自动化无法替代任何手工功能测试,而 UI 自动化是可以解放部分手工工作,就冲这一点,UI 自动化会一直是效率追求的目标
接口自动化技术太成熟了,很难再玩出什么新花样出来。