测试覆盖率 关于功能/接口,自动生成测试用例方案的探讨

Smobee · 2023年02月06日 · 最后由 今晚打老虎 回复于 2023年02月07日 · 8993 次阅读

【需求场景】
对于一些重复性的测试用例,比如:校验边界值,等价类,通过脚本,自动生成符合,标准规范的测试用例;
可行性是怎么样的?

【期望结果】

  1. 通过自动化生成,可以减少 70% 以上的写用例的时间,因为,大部分用例,只是功能用例,并且这些功能用例,重要性一般,耗时耗力;
  2. 其实最重要的是主流程测试用例,业务测试用例,所以,我们期望通过脚本,把功能用例,自动化生成,然后测试人员,根据这些用例,去执行即可;
  3. 至此,测试人员,就可以专注于,业务用例的编写;

【目前进展】

  1. 功能自动化生成用例

Python 脚本执行示例图

复制之后粘贴到 Excel 示例图

  1. 接口自动化生成用例

Python 脚本执行示例图

【成效】
我们基于最基础的,用例生成,目前可大大减少测试人员,编写基础用例的时间,总体上,编写测试用例的时间降低 70%

【继续优化】
我们基于此方案的可行性,将会联合打造,自动化测试平台,即把这些功能,搬到平台上面,并且实现 UI 自动化和接口自动化测试

当然,所有的用例,后面将同步到线上,以后编写自动化,只需要编写用例,让程序自动执行,测试人员将无需编写代码。

在 UI 自动化测试,我们是通过 Excel 关键字驱动来实现的,这个已经实现了,测试人员无需再编写 python 脚本代码,只负责维护好 Excel 业务用例

Execel 关键字驱动示例图

【最后】
我想探讨的是,关于,自动化生成测试用例,大家有具体实战经验吗?以及现在最新的方案是怎么样的?你们公司有用到这样的解决方案吗?

最佳回复

之前做过类似的,并且已经平台化😂 https://testerhome.com/topics/28243

共收到 18 条回复 时间 点赞

似曾相识……历史是个车轮😂

我去催饭 回复

😂 你们以前就是这么做的么

一个小提议:既然你用代码去生成测试用例了,为啥不直接写到文件里面,还要打印出来,再复制到 Excel 中?

Jerry li 回复

现阶段是作为测试用的,后面是会通过测试平台实现的,所以,目前不会自动写到测试用例文件。

后面,我们都是会直接放弃用 excel 管理用例了,都会集成到平台上去做,并且支持导出为 Excel。

之前做过类似的,并且已经平台化😂 https://testerhome.com/topics/28243

差不多都想过这件事,记得我当时的方案是:用户需要输入接口信息、各参数长度、参数输入类型等信息,应用常用的等价类和边界值划分方式来生成各场景用例。可是,参数的输入类型仍是个麻烦事,因为各参数之间的输入相似点无法确定或者说较低,固定的拼接词库性价比较低。最后也就没去实现这个并不成熟的方案

cheunghr 回复

大佬,牛,思想很先进,学到了

那现在,测试用例,还是一条一条写吗

Smobee 回复

业务场景的用例还是要手写,不过我之前有看到通过 xmind 直接转用例的工具

1.“接口自动化生成用例”

-- 没啥用。。。 这种方案最多最多只能帮忙测下简单的单接口,测点业务接口就需要造数, 也测不了业务流。

  1. “UI 自动化测试,我们是通过 Excel 关键字驱动的” -- 有被震撼到。。。 我宁愿用难用的 RF 也不会用这种方案。。。

体上编写测试用例的时间降低 70%

不知道这个是怎么统计出来的。

Smobee #12 · 2023年02月07日 Author
沫沫sir 回复

是的,业务用例,还是需要手写的,自动化替代不了

Smobee #13 · 2023年02月07日 Author
lazyBoy 回复

是的,但是,非业务的用例,不都是重复性的苦活吗?只要把这一部分解放了,测试人员工作量会轻松一点,最终的目的,只有一个,提高工作效率,我们是规定时间内完成任务即可。

Smobee #14 · 2023年02月07日 Author
lazyBoy 回复

RF,在某些方面,没有自己做的自动化框架灵活,可能,不同企业,需求不一样吧。

脑子里会想起年轻时的自己😂

还是要具体问题具体分析,有一些没什么逻辑的接口可以这样去实现,
大部分接口是有业务逻辑的,涉及到上下文接口,这些造数如果全是这样跑出来,应该是不能用的,这样的话前后端联调就没有必要了,
然后为了实现这个独特的逻辑,你需要再花数倍的时间实现这个通用逻辑,然后又遇到另一种不同类型的接口...
如果遇到一些后台全局配置类的接口,那就会更加糟糕
我是没想到什么好办法,希望楼主有所突破吧

Smobee #17 · 2023年02月07日 Author
thankdepend 回复

是的,只能说,这种手段可以作为辅助,帮助我们尽量减少,漏测问题;

比如:
一个接口,可能有 20 个字段,其中,涉及到基础测试,边界值,等价类这些,我通过自动化生成,并自动测试,是不是就已经减少了大量的测试时间,而我们人工去造用例,造数据,其实,不一定有程序准确;

对于业务测试,自动化是替代不了的,所以,剥离出来之后,我们测试人员只需要关注业务测试,功能测试;

Smobee 回复

现在根本用不着用例啦😎
下面是产品的一个新增接口的入参(屏幕太小没截全)

Smobee 关闭了讨论 03月07日 17:49
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册