自动化测试的一点理解及感悟

01.自动化测试,主要把测试工作中重复的部分,借助工具或者代码的手段,辅助我们进行实现,以提高工作效率(其实也是偷个懒),可以降低没有意义的重复性操作,避免大量的时间浪费。

 

02.自动化测试,如何做,做哪些场景,不是拿来一套现成的框架,随便改一改就适用的,需要看当前项目的具体情况以及项目所处的阶段,还要看领导想要那种效果,因地制宜,因项目而异的--不同的情况,自动化要改造的地方也不太一样 -- 所以要有一定的前瞻性,统观大局考虑。

(比如照前会商的项目,不需要什么框架,当前项目功能测试,最大的痛点就是重复性的构造申请页的6条申请数据,准备数据比较耗时间,所以将模板数据,环境的url配置信息,申请数据的账号cookie、token保存在yaml中,每次修改一下yaml文件的配置,然后通过mian.py入口文件调用几个py自动化用例脚本实现读取yaml配置并调用保存草稿的接口,将数据中字段值替换后保存到草稿状态,不管新的迭代周期新需求是改申请页字段,还是改流程,重复性地准备申请页的数据,就可以通过自动化的手段,快速保存到我的申请-草稿中,并在草稿状态下,手动修改相应的字段信息,使符合当前测试需要的场景;

比如区域股权的项目,当时是结合自动化框架编写的自动化用例脚本,但是用例写的颗粒度太细了,效果就是用户完全可以不在页面上填写字段值,直接在我写的自动化用例脚本中给每个字段赋值即可,如果有下拉值选项的,也可以根据我的注释信息,改相应的下拉值,可以说就是前端代码的替代品,当然如果通过Jacoco进行代码覆盖率统计,绝对可以实现接近100%的分支覆盖,但是缺点就是一旦页面有字段改动,或者接口变动,维护起来比较麻烦,字段有变动,需要重新核查一遍字段,但是优点就是可扩展性强,一条流程可以扩展覆盖到需要的所有场景,不过脚本当时写的也比较费时间,因为考虑了尽可能降低维护的成本,所以字段顺序严格按照页面字段先后顺序构造,业务场景都尽可能考虑到,避免某些特殊场景覆盖不到,但是投入很大,产出比较小,因为一个二三十人的项目团队只有一个人进行自动化用例的维护,人手不够,,其次是项目当时的情况也不需要把场景覆盖率做的这么高)

 

03.自动化测试,比如说可以构造数据,是直接将构造好的草稿请求体的json文件发送给草稿的接口,这种手段也会导致漏测的情况,比如如果开发改某个功能,不小心改到了页面上某个附件的上传功能,某个下拉选项框选值的功能,因为手工构造数据,是需要真实操作去申请页面上传附件,去点击下拉值进行选择的,而自动化,会简化这一过程,所以可能会出现在申请页填写肉眼可见的bug而通过直接将构造好的草稿请求体的json文件发送给草稿的接口的方式,给规避了导致没有发现。那怎么解决呢?-- 功能上线生产环境前,一定要记得手工构造一次申请页数据。(当然,UI自动化,在某些情况下,可以规避这个问题)

 

04.自动化测试,可以做高并发的场景测试,也可以做稳定功能的回归测试(总之,自动化测试,是对纯手工测试的一种补充测试,是一种辅助测试的手段)

 

05.接口自动化测试的框架,可以是通用的,但是不同的项目,要私人化定制,具体要结合项目的实际情况,对一些通用的流程or必要的字段构造,比如手机号码的生成、身份证号码的生成、统一社会信用代码的生成,做一下公共方法的封装。

 

06.自动化辅助功能测试,比如一个测试流程可以分为2部分,根据测试的关注点,可以自动化实现第1部分,手工测试第2部分;当第一部分功能变动的时候,可以手工测试第1部分,自动化实现第2部分;甚至像照前会商的项目,一个流程,可以切割成3部分,自动化实现第1部分,第2部分手工测试,然后第3部分又交给自动化进行实现

 

07.自动化,是一种辅助的手段,不能单方面简单地准确自动化覆盖率,要结合项目目前所处的周期以及当前项目的特点。

posted @ 2024-06-02 16:24  子沐呐吖  阅读(31)  评论(0)    收藏  举报