分享

一个企业级的测试平台是如何开发出来的?

 程序员小谭 2022-03-02

测试奇谭,BUG不见。

大家好,我是谭叔。

在当下的软件测试职场中,自动化测试方兴未艾,测试开发扶摇得意。

很多人有往自动化测试和测试开发发展的意识,但受限于现有水平和公司的环境,难以实现这一美好的愿景。

本周,一位读者问及我是怎么做测试平台的,而恰好本周我又计划把一个PC(电脑软件)自动化测试项目平台化,便同大家分享分享——一个企业级的测试平台是如何开发出来的。

为什么出发

做事之前,你一定要想清楚为什么要做。

首先,作为企业级的测试平台,最最最重要的一点,你得想清楚这个平台能提供什么价值,能解决什么问题

是实现某个重复性的工作?是开发一些业务小工具?是集成自动化测试?是集成其他内部平台、系统,做devops?

……

要切入一个或者多个点,去解决实际的问题。做平台,不是一个人在玩;做出来的平台,不是一个人用;最终的代码,不能放到git仓库里吃灰。

当然,如果你是“向上管理”,做做样子,便不在本文讨论范围之内了。

其次,你得改变测试思维。做点工时,接到需求,你往往是完成需求评审、用例设计等等之类的活计,而开发一个测试平台,你不仅仅要扮演测试的角色,还得扮演产品、开发的角色。

一切的一切,都归你统一筹划。

基于此,我根据本周的工作,用实例跟大家演示一遍,如何实现一个测试平台,希望对大家有点帮助。

平台开发

一、准备需求文档

即,你扮演产品经理的角色,必须做出规划,出一份需求文档,跟团队成员讲明需求,详细介绍:

1、需求背景

为什么要做这个平台。做这个平台,是用来解决什么问题的。

举几个例子:

  • 权限方面:因为有严格的鉴权,部分接口无法通过篡权访问

  • 配置方面:服务端的部分业务配置因测试需求经常被修改,而环境又不能独立,影响自动化CI

  • 运行方面:自动化若在运行中被阻断,无法继续运行剩余内容,需要从头开始

  • 展示方面:不能看到人效,谁维护了多少自动化用例,哪些模块已实现了自动化、哪些没实现

  • 数据方面:没有历史记录,无法评估最近一段时间自动化运行的具体情况,无数据支撑

2、需求说明

该平台是否要分期完成,如果分期实现,每一期实现哪些功能,包括功能描述、接口描述、开发人员、接口描述、优先级等。

贴一段截图:server端 & web端的需求范围

3、项目流程

流程图是核心之一。平台开发,基本上是参照着需求说明和流程图做的。

贴一段截图:我画了自PC自动化程序端开始,打通server端、web端的流程。

4、项目规划

这点不详细说,要详细说,又得开篇新文章了。

总之,讲故事是要有的,星辰大海也是要有的。

5、其他必要信息

如:git仓库代码地址、分支、分支说明、自动化测试部署方式、后端服务部署方式、前端部署方式、数据库链接等内容或者相关文档。

附上这些权限获取步骤、安装步骤,可以避免协作的同事做重复工作,有效提升团队工作效率。

tips:不要忘记评审你的需求文档。

二、协作开发

1、部署环境

一般来说,企业级的测试平台是前后端分离的。

做分离的一个重要原因是测试人员的编程技术栈不同,有的喜欢写Java,有的喜欢写Python,有的喜欢写Golang。如果不做分离,你可以想象,按照个人喜好,这得有多少测试平台,时间一久,git仓库里得有多少吃灰代码。

因此,测试平台可以增加后端服务的口子,但是必须减少web端的口子。

简言之:铁打的前端,流水的后端。

后端

拉代码,checkout自己的分支。

因笔者是Python项,且对Django较熟悉,因此后端选用公司提供的Django轮子。

说白了,就是之前有人写过测试平台的Django后端,已经搭好架子并部署到了服务器。我拿来新建一个Django-app就能用,节约了时间,又避免浪费服务器资源。

接着,便是建表、封装公用方法,实现接口等一些web开发的常规操作了。

自动化端

后端接口实现后,通过postman测试该接口,完成接口测试。再在自动化测试代码中补充接口请求,解决当下的一些问题。

这个很简单,根据自动化测试框架合理安排,不详谈了。

前端

记住一点:前端的优先级一般不高,总在最后实现

拉代码,checkout自己的分支。

我所在的公司,根据vue和react自研了一套页面标准框架,大大降低了前端的学习难度,copy各类样式,拿来即用,写web页面分分钟的事情。

但是,使用这类架子,你必须要懂其原理。不然,这类自研框架用多了,你会越用越废。详情可参照我之前写过的文章:你一定没弄清楚学习软件测试的表和里!

最后

这样看来,是不是觉得企业级的测试平台,也没那么复杂?

其实吧,跳出平台开发这件事,做任何一件事情,先理清思路,做出规划,并掌握其真正的原理,再放手去做,特简单。只不过,大多数人只学会了做,而没有学会怎么去做。

最后,如果你想掌握测试平台的开发能力,欢迎参加谭叔的成长营,加入测试平台开发打卡。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多