测试奇谭,BUG不见。 大家好,我是谭叔。 在当下的软件测试职场中,自动化测试方兴未艾,测试开发扶摇得意。 很多人有往自动化测试和测试开发发展的意识,但受限于现有水平和公司的环境,难以实现这一美好的愿景。 本周,一位读者问及我是怎么做测试平台的,而恰好本周我又计划把一个PC(电脑软件)自动化测试项目平台化,便同大家分享分享——一个企业级的测试平台是如何开发出来的。 为什么出发做事之前,你一定要想清楚为什么要做。 首先,作为企业级的测试平台,最最最重要的一点,你得想清楚这个平台能提供什么价值,能解决什么问题。 是实现某个重复性的工作?是开发一些业务小工具?是集成自动化测试?是集成其他内部平台、系统,做devops? …… 要切入一个或者多个点,去解决实际的问题。做平台,不是一个人在玩;做出来的平台,不是一个人用;最终的代码,不能放到git仓库里吃灰。 当然,如果你是“向上管理”,做做样子,便不在本文讨论范围之内了。 其次,你得改变测试思维。做点工时,接到需求,你往往是完成需求评审、用例设计等等之类的活计,而开发一个测试平台,你不仅仅要扮演测试的角色,还得扮演产品、开发的角色。 一切的一切,都归你统一筹划。 基于此,我根据本周的工作,用实例跟大家演示一遍,如何实现一个测试平台,希望对大家有点帮助。 平台开发一、准备需求文档即,你扮演产品经理的角色,必须做出规划,出一份需求文档,跟团队成员讲明需求,详细介绍: 1、需求背景为什么要做这个平台。做这个平台,是用来解决什么问题的。 举几个例子:
2、需求说明该平台是否要分期完成,如果分期实现,每一期实现哪些功能,包括功能描述、接口描述、开发人员、接口描述、优先级等。 贴一段截图:server端 & web端的需求范围 3、项目流程流程图是核心之一。平台开发,基本上是参照着需求说明和流程图做的。 贴一段截图:我画了自PC自动化程序端开始,打通server端、web端的流程。 4、项目规划这点不详细说,要详细说,又得开篇新文章了。 总之,讲故事是要有的,星辰大海也是要有的。 5、其他必要信息如:git仓库代码地址、分支、分支说明、自动化测试部署方式、后端服务部署方式、前端部署方式、数据库链接等内容或者相关文档。 附上这些权限获取步骤、安装步骤,可以避免协作的同事做重复工作,有效提升团队工作效率。
二、协作开发1、部署环境一般来说,企业级的测试平台是前后端分离的。 做分离的一个重要原因是测试人员的编程技术栈不同,有的喜欢写Java,有的喜欢写Python,有的喜欢写Golang。如果不做分离,你可以想象,按照个人喜好,这得有多少测试平台,时间一久,git仓库里得有多少吃灰代码。 因此,测试平台可以增加后端服务的口子,但是必须减少web端的口子。 简言之:铁打的前端,流水的后端。 后端拉代码,checkout自己的分支。 因笔者是Python项,且对Django较熟悉,因此后端选用公司提供的Django轮子。 说白了,就是之前有人写过测试平台的Django后端,已经搭好架子并部署到了服务器。我拿来新建一个Django-app就能用,节约了时间,又避免浪费服务器资源。 接着,便是建表、封装公用方法,实现接口等一些web开发的常规操作了。 自动化端后端接口实现后,通过postman测试该接口,完成接口测试。再在自动化测试代码中补充接口请求,解决当下的一些问题。 这个很简单,根据自动化测试框架合理安排,不详谈了。 前端记住一点:前端的优先级一般不高,总在最后实现。 拉代码,checkout自己的分支。 我所在的公司,根据vue和react自研了一套页面标准框架,大大降低了前端的学习难度,copy各类样式,拿来即用,写web页面分分钟的事情。 但是,使用这类架子,你必须要懂其原理。不然,这类自研框架用多了,你会越用越废。详情可参照我之前写过的文章:你一定没弄清楚学习软件测试的表和里! 最后这样看来,是不是觉得企业级的测试平台,也没那么复杂? 其实吧,跳出平台开发这件事,做任何一件事情,先理清思路,做出规划,并掌握其真正的原理,再放手去做,特简单。只不过,大多数人只学会了做,而没有学会怎么去做。 最后,如果你想掌握测试平台的开发能力,欢迎参加谭叔的成长营,加入测试平台开发打卡。 |
|