# 测试开发可以开发些什么




最近参与了公司级的测试项目评审，发现测试同学自主进行开发的项目很多，但也是有规律可循的，这里简单给大家分享一下目前我们可以看到的一些测试项目。大概分为下面几类。

### api自动化测试类

这一类的项目很多，主要的目的是让api的测试更加高效，并与ci/cd结合，降低回归测试的工作量，并对接口做持续的测试和监控。

具体的套路有这样一些

* api自动化测试框架，使用者通过go/python等编程语言进行用例的编写，持续维护用例库的增长；
* api自动化测试平台。使用者可以用自然语言或者dsl进行用例编写，平台提供ui和用例执行方法，提升用例编写效率；
* api测试工具类。比如支持私有协议转http协议的工具等，屏蔽一些技术细节和实现，让用例编写更为容易；

### ui自动化测试类

这类的项目相信大家会比较熟悉，主要是通过ui自动化测试覆盖一些主要的回归场景，提升测试效率，降低人力投入。也可以跟ci/cd结合起来进行持续测试。

* app自动化测试。通过脚本编写用例进行回归；
* web自动化测试。通过dsl或者脚本进行用例的编写以及回归；

### 质量以及研发效率度量类

所谓的质量度量是指通过数据统计的方式对一段时间的测试/开发的质量进行度量，从而找出质量提升/腐化的原因，并进行相应的调整。通过一系列的指标标的出质量红线，从而持续监控质量情况。

常用的指标有

* 千行代码bug率
* 研发周期产生的bug
* 线上bug数
* 提测通过率

目前常见的bug管理平台可能无法比较方便的获取到上面的一些指标，因此需要进行二次开发，以便周期性的拿到上面的数据。

效率度量平台是度量研发/测试的效率，比如之前一个标准大小需求的开发上线周期是30天，在进行了一系列的效能提升和赋能之后可能会提升到25天。再比如之前回归测试的周期是3天，在进行了效能提升后周期缩短至2天。

这些平台的开发难度总体来说不大，另外产出的意义也比较明显。

### 流程管理类

定制研发生命周期中的各种流程，比如用例评审流程，提测流程，发布流程等，做到流程透明，可控，规范，统一，流程中的产出物清晰合规，流程参与者方便对流程进行推动和复盘。

这类需求的产生是因为每个团队的研发周期总是有一些定制性的场景，常见的普适性的流程管理工具可能没有比较好的方式进行定制和满足。

### 测试支持工具

这类工具最灵活也最有意思，小而美，能有好用是主要目标。

比如通过用户id生成鉴权token的工具，简单的文字识别工具等。

### 总结

测试开发领域目前总的来说处于瓶颈期，后面新技术和新思路的引入可能会带来不一样的感觉和惊喜。







原始封面

![课程图片](https://images.unsplash.com/photo-1530569673472-307dc017a82d?w=300)


