有大佬介绍下自己公司自动化测试的使用情况吗?

2018-10-30 16:34:52 +08:00
 MuscleOf2016

最近团队也在调研,想多方参考下。 希望可以介绍下框架,使用的情况,有什么缺点。 主要针对混合开发的 app 测试。

3524 次点击
所在节点    程序员
23 条回复
TommyLemon
2018-10-30 16:57:22 +08:00
TommyLemon
2018-10-30 17:00:09 +08:00
测试接口用的是 APIJSONAuto,原来是测试那边写 Python 脚本,现在都不用了。
自动生成接口文档,清晰可读永远最新
自动生成请求代码,支持 Android 和 iOS
自动生成 JavaBean 文件,一键下载
自动管理与测试接口用例,一键共享
自动给请求 JSON 加注释,一键切换
自动保存历史请求记录,一键恢复
自动校验与格式化 JSON,支持高亮和收展

缺点是部分情况下需要手动纠错。

http://i.youku.com/apijson
TommyLemon
2018-10-30 17:04:43 +08:00
@TommyLemon
这个是我写的开源库,创作不易,GitHub 右上角点 Star 支持下吧,谢谢 ^_^
https://github.com/TommyLemon/APIJSONAuto
MuscleOf2016
2018-10-30 17:11:14 +08:00
@TommyLemon 你是自动化测试岗位吗
TommyLemon
2018-10-30 17:17:50 +08:00
@MuscleOf2016 开发
MuscleOf2016
2018-10-30 18:08:36 +08:00
@TommyLemon ok,已经 star 了。
lusheldon
2018-10-30 18:12:56 +08:00
@TommyLemon 老哥,请教一下你这个框架有没有校验接口业务逻辑(比如查数据库比对结果)呢,还有数据准备和清理怎么实施的呢?
mikuazusa
2018-10-30 18:21:40 +08:00
APP 接口这块,用 hitchhiker,更轻量级的用 postman,更重量级的用 Robot Framework Ride
APP UI、功能方面,用 monkey。
TommyLemon
2018-10-30 18:45:22 +08:00
@lusheldon 有的,但不是查数据库,而是自动根据上一次的正确结果来对比。
数据准备 不需要写任何代码,不需要 Mock,直接通过你上传的接口来获取。
数据清理 不属于接口工具的功能,这是你们自己的业务,可以写脚本或用专门的工具。

这是用 APIJSONAuto (前端) 和 APIJSON (后端) 做的接口管理平台,
额外提供机器学习测试,目前线上环境还有 bug 暂时不能用这个功能,可以用接口托管等其它所有功能。
apijson.org
MuscleOf2016
2018-10-30 19:30:28 +08:00
大佬们
lusheldon
2018-10-30 20:56:49 +08:00
@TommyLemon 我一定是被降权了,都收不到提醒的。过几天研究一下您这个框架。不过我们做的测试都是要查数据库甚至要经过很多逻辑计算的,可能也不太适用。
connection
2018-10-30 21:03:44 +08:00
@TommyLemon 这个是针对接口级的自动化吧?
MuscleOf2016
2018-10-30 21:15:04 +08:00
@lusheldon 今天回复提醒我也没收到。
mikuazusa
2018-10-30 21:58:00 +08:00
@lusheldon 多少逻辑计算都没问题,只要你预设了结果,用例进行断言就能回归自动化测试了。
MuscleOf2016
2018-10-31 08:21:55 +08:00
再顶下。
TommyLemon
2018-10-31 09:35:03 +08:00
@lusheldon 这位兄弟 @mikuazusa 理解到位,APIJSONAuto 是用结果来对比的,不用管过程怎么样。
而且预设结果只需要点一下回归测试按钮,然后点击 [这是对的] 按钮,就生成 /更新 了对比标准。
也不需要像其他工具一样要写代码来断言。
可以试试
http://apijson.org/
TommyLemon
2018-10-31 09:36:23 +08:00
@connection 对的,自动请求所有接口,然后自动对比每个接口返回的结果,不需要写任何代码
MuscleOf2016
2018-10-31 10:19:58 +08:00
@TommyLemon 其实可以理解为已知返回数据的大致格式,通过固定参数去请求,工具来比对已知返回数据格式和实际返回数据,一致说明测试通过。
TommyLemon
2018-10-31 10:36:57 +08:00
@MuscleOf2016 部分正确。
它是调用接口拿到真实的结果,然后和最近的正确的真实结果来对比。

不过 机器学习测试 和 普通测试 有点不一样,它会对正确结果抽取一个模型,里面描述了 类型、值的范围、长度范围 等属性,
不论是
有问题的 值 所在路径(例如 list/0/User/name, User/contactIdList/1 ),
还是对比结论(状态码改变、缺少字段、新增字段、值超出范围、值类型改变)
都更精准,容错性也更好。
而且每次纠错后都会学习新的正确结果,然后更新原来的标准,数据越多模型越理想。
Yarnus
2018-10-31 13:48:09 +08:00
刚好需要 先马了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/502623

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX