微信号:mogu_ttech

介绍:蘑菇街测试技术基础

研发工具链系统之初步构想

2016-07-19 19:53 天宸

一、   蘑菇街现有的工具系统


目前蘑菇街在研发体系上使用的工具系统,主要分为两类:

  1. 开源软件及商业版工具:

    • Jira – 项目与事务跟踪工具,工作流系统

    • Teambition – 团队协作工具,用于需求的管理

    • TestLink – 开源的测试用例管理系统

    • GitLab – 开源的代码托管平台

    • Wiki – 文档知识库系统

  2. 内部研发工具及平台

    • 运维平台发布系统、CMDB管理、工单系统等等

    • hawkeye持续集成系统项目质量评估,包括静态代码扫描、编译发布、单元测试、自动化测试、代码覆盖率、功能测试通过率等

    • 自动化测试框架提供webapp端的自动化测试API支持


二、   在使用过程中存在的问题


    • 无法在一个平台上看到全局的数据

    • 研发体系上的各个环节,需求->设计->开发->测试,之间的任务数据无法进行关联。

    • 开源的工具系统,无法调用内部开发的工具平台,各块功能过于独立,无法形成研发测试体系。

    • 无法结合测试用例质量和故障缺陷的因果

    • 无法综合分析开发工时、用例执行通过率、活跃缺陷、缺陷修复时间等等数据,用于评估项目的投入产出比、目前的研发进度是否滞后等等信息。

    • 无法体现开发工作量及开发质量等信息



三、   改进方向及目标


需要把所有的工具链系统做一个数据打通。希望达到如下的目标:

    • 可以定量的评估目前项目开发、测试的人力资源情况

    • 产品、研发、测试在关注自身任务进度的同时,还可以查看其他的数据。

 

      各个工具之间的数据互通流程如下(初步构想):


 

 

 

    接下来,我们来详细拆解下各模块的交互过程:

  • 公共的底层模块:

    • Warriors发布系统:可以通过API调用触发测试环境、预发环境、线上环境的代码发布。

    • GitLab : 代码托管平台,涉及需要pull的操作,都会从这里拉取最新代码。

    • 自动化测试框架:整合了webapp的自动化测试,之后会集成到持续集成平台,可以通过API调用触发指定的配置文件来run对应的测试用例集,最终返回测试结果报告。


  • Teambiton: 需求PRD管理 + 数据报表查看



    • 产品、设计、开发、测试可以在TB上查看到需求的最新版本,并且可以指定需求任务给开发及测试人员。

    • PRD文档、视觉及交互设计可以方便的上传共享,并关联到对应的需求任务。

    • TB上,还可以关注到开发和测试的任务相关报表,对需求的完成细节做到心中有数。

    • 测试用例的覆盖率、自动化测试的执行情况,也可以在TB上一目了然。


  • Jira : 工作流引擎 + 任务跟踪 + 敏捷开发 + 项目管理 + 定制化功能




    • Jira提供强大的工作流系统,将收集到的需求,采用scrum、看板等敏捷的开发方法,进行项目管理,实时跟踪产品的设计、发布、迭代。

    • 关联jiraGitLab,将缺陷和代码关联起来,记录该缺陷在哪里被修复。

    • 关联Teambition的需求PRDjira中拆分后的子需求。

    • Jira中的子需求下,会关联三类内容:

      • 开发任务

      • TestLink下的测试用例 + 最新一次的自动化测试结果

      • Bug缺陷

    • Jira会打通发布系统,当需要对测试、预发、线上环境进行发布时,在页面上可以一键触发。

    • Jira后续还会二次开发一套项目管理的插件,用于统计项目的甘特图、开发进度、项目周报等等功能。


  • TestLink : 手工\自动化测试用例管理 + 测试驱动 + 测试报告



  • 持续集成系统: 项目的质量评测 + 测试报告




    • 之后会支持两种方式的调用:

      • 发布系统触发后,会自动调用持续集成里的pipleline任务

      • 通过Testlink指定要执行的自动化测试用例来触发

    • 执行完成后,会生成一份总的项目质量报告,通过TestLinkJira可以直接查看。


 
MoguTTech 更多文章 基于gatling&jenkins快速打造性能测试平台 数据工厂平台实践 全平台自动化测试框架 欢迎来到蘑菇街测试技术的微信公众号
猜您喜欢 黑客真是无孔不入,既然盯上了儿童手表,可实时监控 LinkedIn开源Photon机器学习:支持Spark GitHub干货铺:JavaScript 测试框架Jasmine 遗传算法的matlab实现