当前位置: 首页 > 科技观察

DevOps实践(一)面向服务的全自动化测试系统

时间:2023-03-11 23:21:04 科技观察

1.功能依赖robotframework根据代码注释,自动生成测试库,自动搜索测试用例或指定测试用例文件,运行commit触发测试和周期性定时(perday/day)hours)test测试报告统计(区分环境)企业微信通知测试结果在此之前,大家要回顾两个重要的概念,一个是【测试金字塔】模型,一个是【Keyword-basedand数据驱动测试]。2.自动化测试架构在这套自动化测试架构中,代码注释起着核心作用,其背后是标准化的需求。代码注释格式如下:code-basedcomment,可以完成以下能力的输出:Document.我们想自动生成api接口描述文档,可以依赖这个方法生成。自动生成服务测试用例。根据关键字自动构建自动化测试的方法和用例。3.根据代码注释,自动生成测试库指定项目根目录,自动将测试库写入test/library/[项目名].py下面代码注意,如果post/put请求发送一个列表数据,这里的param请写成struct类型。比如@paramstructdata和test数据结构data=[{"a":1}],框架会发送[{"a":1}]作为httpbody会自动扫描生成robotframework测试库用户,只需要写测试即可data(data-driventest)4.自动搜索测试用例或指定测试用例文件运行1.自动搜索测试用例根据我们的部署规范,工具会自动搜索/usr/local/easyops目录下的项目,符合以下要求:文件夹必须全部小写。文件夹下有test/case目录。2.指定测试用例文件指定测试用例的文件/目录。测试5.Committriggertest和periodictiming(byday/hour)测试工具会自动监控commits,triggertests也可以指定每1h或每1d测试自动触发pipeline进行全流程的验证,开发、测试和发布也是如此。六、测试报告统计1、我们提出了3个评价指标:成功率:成功测试用例数/测试用例覆盖率总数:(关键词总数-未测试关键词数)/关键词总数测试用例指数:测试关键字的平均测试数据数。最少1个(每个接口只有1个测试数据),希望达到3~52个。测试结果数据会自动解析存储在influxdb中,使用grafana展示。3.区分环境。我们有162、163、164等开发环境,所有的数据都会区分,说明这个时候环境管理很重要。过去的痛点是如何快速创建并有效管理环境。由于我们的研发模型采用git工作流模型,可以产生大量的特性分支,一个特性必须对应一个环境。因此,会有大量的开发环境、集成测试和回归测试环境,我们必须能够保证我们的服务测试用例和环境能够一一对应,无需人工访问,大大降低了成本和测试维护成本。7、企业微信通知检测结果。如果项目测试成功率低于100%,将发送至企业微信。我们所说的参与测试并不是参与测试本身,而是参与测试体系的建设。研发测试为了共同的目标,稍作改动,而不是完全依赖后续环境,可以大大降低构建自动化测试系统的成本。标准化。研发坚持标准化的代码习惯,在标准化的基础上,将能力转移到自动化测试流程中,保证效率和质量。质量意识在前。我们不把“质量当成检测团队的责任”,而是把这部分能力放在研发阶段,共同打造质量保障壁垒。自动化。在开发自动化测试系统的同时,我们将其能力与平台的流水线能力相结合,大大降低了执行和接入成本。数据指标。即使建立了完善的检测体系,如果没有很好的衡量,效果也不会很好。最好的衡量方式——看板。闭环。如果有问题,应该立即解决,这样才能关闭测试发现的问题。【本文为专栏作家“王金银”原创稿件,转载请注明出处】点此阅读更多该作者好文