怎么开发测试工具解决项目中的测试痛点?
背景
前几天发布《浅聊业务型测试开发》那篇文章,反响很大,最后聊到要成为一位合格的“业务型测试开发”,得善于发现项目中的测试痛点,并利用所学技术开发测试工具解决它。
本篇文章就详细分享,怎么理解项目测试痛点、如何善于发现项目中的测试痛点,以及列举解决项目测试痛点的成功案例,给大家提供点思路。
面试中,也爱问类似的问题,比如“你开发过什么提效工具?”,如果你没有这种经历,可以看完本篇文章,提前编一个,能自圆其说即可。
当然了,解决项目测试痛点,有很多路径可供选择,如开发工具、流程优化等等,本文就单从技术角度出发,跟大家唠唠。
怎么定义项目中的测试痛点?
首先得聊聊项目测试痛点是什么?何为痛点?
痛点是互联网术语,一般,指市场不能充分满足的,而客户迫切需要满足的需求简称痛点。
那么项目测试痛点是指在项目测试工作中,理想的测试要求,由于现实条件的局限而得不到满足,这种情况下可理解为项目测试的痛点。
譬如现如今敏捷模式大行其道,要求更短的周期:需求验证或测试的时间不再是按月来计算,而是按天甚至按小时计算。这就要求我们要敏捷测试,回归测试尽可能快速完成。
但是回归测试中的主要流程,几乎每个版本都要来一遍,如果纯靠人肉去点,太耗时,敏捷测试的要求受到回归测试耗时的束缚,得不到满足,这个就是项目测试痛点之一。
如何解决发现的项目中的测试痛点
「熟悉所测业务」
首先肯定得熟悉所测业务,这种熟悉,不仅仅是页面前后端的交互流程,还有后端服务之间的交互过程和数据流转。
比如下图中普通电商平台的架构图
![](https://img-blog.csdnimg.cn/img_convert/4035db3f9360cf5394f9023b504224ef.jpeg)
对电商公司来讲,最核心最难做的三部分:商品、订单、库存。商品与店铺、营销、评价等相关,订单与会员、营销、支付、库存、物流等相关,库存与订单、采购、WMS、营销等相关,系统之间业务逻辑和交互异常复杂,规则多样。
下图是普通的下单过程,如果你恰好测试类似下单流程,得好好熟悉下,在慢慢熟悉的过程中你就会发觉哪块逻辑测试起来有痛点。
![](https://img-blog.csdnimg.cn/img_convert/8fa7c05caf9a03f732a7bff234c35f02.jpeg)
比如支付环节,很多项目的测试环境对接的是真的支付接口,每次造单子都得用真实的金钱支付,还有一些大额的场景也得考虑进去,如果我造一笔100快的单子,难道我真正去支付100块?
假如我要测试物流配送流程,前提得有一笔支付成功的单子,咋办?我还得从页面点点点,从头到尾造一笔单子?
看看这不都是测试痛点吗?
「学习一门开发语言」
有时候即使如果发现了测试痛点,但是还是束手无策,为啥?大部分原因就是你的技术水平很低,有可能没学过一门开发语言,或者学了一点点皮毛,但是不会融会贯通,举一反三。
我们学习一门开发语言的特性,不能太死板的去学,看着基础的api,敲敲网上的例子,然后就结束了,这种不能叫学习,只能叫完成任务,感动自己。
应该在学的同时带入具体的生产实践中去学习,去了解,每当学到一个特性,你可以仔细回想下,这个特性学完了,可以解决什么问题,带来什么效果,会有什么缺点。当然啦这只针对一部分有工作经验的。
那该学习哪门开发语言呢?个人建议首选Java,因为我懂java,当然啦不强求必须学java,你要是把python玩的很深,也可以。
学到什么程度才有可能去解决一些常见的测试痛点呢?
java这块至少要达到初级水平吧,个人觉得 java初级水平就是,了解java 基础(数据类型、集合、线程池、锁)等,java 基本框架(spring、springboot、mybatis、testng)会使用,能独立解决一些基本的问题以及完成一些基本的增删改查、掉接口的功能。
列举解决项目测试痛点的成功案例
当然啦,现实情况有很多,只是列举几个粉丝分享给我的成功案例,供大家参考。
「造数工具」
项目痛点:某业务前置流程较长,只能通过模拟用户页面操作,走完前置流程需要10分钟左右,效率比较低。为此,一位粉丝通过抓包的方式,梳理了这条业务线涉及到的接口(前后端、后端之间)、接口之间关联关系、数据流转和相应的数据库、表。解决措施:通过java开发出一款可以自动造数据的工具,使用的技术有springboot、mybatis等框架,mysql数据库,测试小伙伴只要调用我的测试工具接口,传入相应的参数,在1分钟左右,就可以造出符合条件的测试数据,大大提高了测试人员造数据的效率。
「接口自动化」
这个是老生常谈的话题了,很多项目组做接口自动化的主要目的就是解决回归测试比较耗时的痛点。一键启动,坐等机器帮你回归的结果。
「自动校验新老数据库数据一致性的工具」
项目背景:老系统重构阶段、业务方要求重构成功后,新系统和老系统都要在线上运行一段时间,要求在新系统生产的采购单子,就要同步一份数据到老系统。这就要求,测试新、老系统中数据是否保持一致。常见的做法就是一笔单子下单成功以后,得打开新、老两个数据库的相关的表,用肉眼一个一个字段的去核对。项目痛点:每笔单子几十个字段、重构过程中要执行100多种场景,用肉眼比对,你比对到啥时候?你怎么确定肉眼比对一定正确?还有后续迭代过程中,为了保证同步数据功能的正常,你是不是还得回归这部分同步数据的逻辑?这不扯淡吗?解决措施:用java开发语言(怎么又是java?python不行吗?那不行,我熟悉java,所以我写java),集成springboot、mybatis等框架和mysql数据库,集成新老数据源,具体可参考下文;使用者只要调用我的测试工具接口,传入单子的id,我先去新数据库查询这条采购单,再去老数据库查询这条采购单,然后代码中一个一个字段进行比对,全部相同就返回匹配成功,一个字段不同就放入一个字典中,返回给调用者,这样以来,靠机器去做数据校验,避免了人工出错,也大大提高了测试人员测试效率。
最后: 下方这份完整的软件测试视频学习教程已经整理上传完成,朋友们如果需要可以自行免费领取 【保证100%免费】
![](https://img-blog.csdnimg.cn/img_convert/463b1484cf5670e442caa316e6bbbf35.png)
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!
![](https://img-blog.csdnimg.cn/img_convert/51d61be48d36bb0cf2a5c415b8263a76.gif)
相关文章
- 性能测试知多少---测试工具介绍
- 测试的对自己的要求要高,你自己对测试质量的要求太低了,测试这里放松一下,问题就会放大几倍!!!!测试是最后的质量防线了
- 如何做到测试场景不遗漏?-----测试人员最难修炼的是测试分析能力
- Linux下部署python selenium UI自动化测试
- 【RF库测试】Encode String To Bytes&Decode Bytes To String& should be string&should be unicode string &should not be string
- 在SAP Data Intelligence Modeler里测试data Generator graph
- 从软测到渗透测试薪资翻番!你必须知道的那些事!
- 通过状态机方法实现基于FPGA的维特比译码器,包含testbench测试文件
- 开发人员看测试之运行Github中的JBehave项目
- 聊 一聊 maven 测试相关的插件
- BAT测试专家对web测试和APP测试的总结 | 纯干货
- 系统性能优化、性能指标、性能测试
- 从功能测试进阶自动化测试,熬夜7天整理了这一份2000字超全学习指南【附学习路线图】
- ❤️【CSDN首发】5W字minium微信小程序自动化测试框架项目手册❤️
- 渗透测试常用文件传输方法——certutil、BitsAdmin、Powershell、SCP、Windows文件共享
- 【项目实战】正确辨析蓝绿部署、A/B测试、金丝雀发布
- 禅道中如何监控项目测试任务
- 初步测试IM开源项目:TeamTalk
- 万字以上的电商项目 Jmeter 脚本实战测试开发详细讲解