×

微信扫一扫,快捷登录!

标签: 暂无标签
本帖最后由 adminlily 于 2018-10-31 11:20 编辑

一. 功能


1. 依托于robotframework


2. 根据代码注释,自动生成测试库


3. 自动搜索测试用例或指定测试用例文件运行


4. commit触发测试和周期性定时(按天/小时)测试


5. 测试报表统计(区分环境)


6. 企业微信通知测试结果


在此之前,大家要去复习两个重要的概念,一个是【测试金字塔】模型,


另一个是【基于关键字和数据驱动的测试】



二. 自动化测试架构


在这一套自动化测试架构中,代码注释起到了核心的作用,背后就是标准化的要求,代码注释的格式如下:


基于代码的comment,能完成如下能力的输出:


1、Document。我们要自动生成api接口说明文档,可以依赖此方法生成。


2、自动化生成服务测试用例。自动根据关键字构造自动化测试的方法和用例。

三.根据代码注释,自动生成测试库


指定项目的根目录,会自动将测试库写入到test/library/[项目名].py




如下代码



注意,如果post/put请求发送的是一个list数据,这里param请写struct类型。如@param struct data然后测试数据构造data=[{"a": 1}],框架将会发送[{"a": 1}]作为http body会自动扫描并生成robotframework的测试库




使用者,只需要撰写测试数据即可(数据驱动测试)






四. 自动搜索测试用例或指定测试用例文件运行


1. 自动搜索测试用例


根据我们的部署规范,工具会自动搜索/usr/local/easyops目录下的项目,符合如下要求:


a. 文件夹必须是全小写的


b. 文件夹下有test/case目录


2. 指定测试用例文件


可指定测试用例的文件/目录测试



五. commit触发测试和周期性定时(按天/小时)测试
1. 工具会自动监听commit,触发测试


2. 也可指定每1h或每1d测试


自动触发流水线执行全流程的验证,开发、测试和发布亦是如此。








六. 测试报表统计


我们提出3个评价指标:


1.成功率:成功的用例个数/ 总的测试用例个数


2.覆盖率:(keyword总数-未测试的keyword个数)/ keyword总数


3.测试用例指数:测试keyword的测试数据个数的平均。最小是1(每个接口都只有1个测试数据),希望能达到3~5


测试的结果数据会自动解析并存储到influxdb,利用grafana来展示






七. 企业微信通知测试结果


项目的测试成功率小于100%,将会发送到企业微信




八. 总结


一个完善的自动测试体系背后,是有很多经验值得分享的:


1、研发参与测试。我们说的参与测试不是参与测试本身,而是参与测试体系的搭建。研发和测试为了共同的目标,稍作改变,而不是完全依赖后续环境,自动化测试体系构建成本就可以大大降低。


2、标准化。研发坚持标准化的代码习惯,基于标准化,传递能力给自动化测试过程,效率和质量都能得到保障。


3、质量意识前置。我们不把“质量当成测试组的职责”,而是把这部分的能力前置到研发阶段,共同构建质量保障壁垒。


4、自动化。我们在开发自动化测试体系的同时,把其能力和平台流水线能力对接起来,让执行和接入成本大大降低。


5、数据化度量。即使建立了完善的测试体系,如果没有很好的度量,效果依然不会很好,度量最好的方式——看板。


6、闭环。有问题就立即要去解决,让测试发现的问题闭环起来。


原创:老王


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x




上一篇:避免文化空谈的陷阱,落地DevOps工具才是关键
下一篇:还有人么?求助!在LAMP安装后,开始安装Itop2.5报错
未来之星

写了 323 篇文章,拥有财富 1716,被 5 人关注

您需要登录后才可以回帖 登录 | 立即注册
B Color Link Quote Code Smilies

成为第一个吐槽的人

Powered by IT 运维管理
返回顶部