​作者 | 赵悦

对于刚入职的测试同学来说,测试可能只是页面的点点点,但其实测试是一门很有意思的学问。工作 2 年后,我对测试产生了一些观念上的转变,并且会对不同类型的项目可以设计不同的测试方案,采用不同的测试手段对测试进行提效。那么现在就给大家分享一下我的成长经历!

一、校招新人心路历程

1、初入职场

刚来到公司加入了 B2C 团队,业务繁忙、需求量大,响应业务成了首要事情,重复着功能测试。对于刚入职的新手来说本身对业务就不是非常了解,测试时不仅需要对已有逻辑进行了解还要对新的功能进行测试,再加上自身对时间的分配还不能协调好,所以就少有时间进行测试方案设计以及项目复盘。

2、小白疑惑

因为所在业务涉及商品发布、质检、订单等链路,有较强的可复用性,所以组内产出了使测试效率大幅提升的数据构造,但是因为大家使用的语言是 Java,我之前未接触过,所以对开发数据构造有一定的抵触心理。后来刚开始推行的 http 接口测试,又要了解接口的实现、出参、入参,对结果进行断言,当时我觉得这些都可以用功能测试来验证,为什么要通过接口测试呢?

3、上手使用

后来到了 C2B 团队,虽然业务也比较忙,但是也有可以自我充电的时间。接着又推行了 scf 接口测试平台、mock 平台等各种测试工具,可以用来测试过程的提效,或者模拟一些不好出现的场景,组内也开始大力推广使用,所以我也开始在项目中开始进行接口测试。虽然在每个项目中也使用了接口测试,但是我在很机械的使用,没有感觉到有哪些提效,还处在使用阶段,并没有很好的运用。

二、入职两年后的成长

1、在整个需求的生命周期,测试关注点的转变

测试关注点的转变

2、测试方法的转变

测试方法的转变

在测试前期,对需求进行分析,将大需求拆分成不同的测试点并整理出相应的测试方法是开展测试的第一步。那么如何针对于不同类型的项目制定不同的测试方案呢?

三、测试方案设计

1、深入了解需求

所谓 “知己知彼,百战不殆”,如果想要制定一个满足需求的测试方案,首先要知道系统要实现什么功能,业务流程是怎么样的,针对于产品需求整理出自己可以理解的一套流程。
业务流程

2、整理测试点

先总体上整理出需要验证的功能点再扩展开写。
整理测试点

3、针对于不同类型的测试点采取不同的测试手段

日常我们最常接触到的主要是以下三类需求

(1)智能分发—全后端需求
业务特点:在指定时间挑选出部分商品判断满足不同条件以特定价格分发到不同卖场。因为货的成色各不相同卖到不同的卖场利润也尽不相同,怎么能够达到利润最大化,是首要关注的事情。每天要上架几千台的货到不同的卖场,如果全靠人工来上架,成本太大,所以自动上架很好的解决了这个问题。那么验证上架卖场的准确性以及销售价是我们需要关注的点,那如何对纯后端需求进行测试是我们需要思考的。
解决思路:纯后端逻辑更改,这类的项目一般需要通过观察日志、查看数据库、或者看代码逻辑处理是否正确。

为了模拟这种只返回一个值的场景,修改其中一个值未 null;
模拟

(2)促销活动—偏前端需求
业务特点:用户报名参加运营活动,过一段时间进行秒杀,对不同资格的用户展示不同的页面,参与秒杀的用户和未参与秒杀的用户的页面展示做区分。
解决思路:后端改动相对较小,主要是前端页面的展示及动画效果。针对于此类的需求通过修改数据库、页面功能、不同机型的兼容性测试。

(3)门店回收进天路—前后端需求
业务特点:针对业务特性定制新的散货流程以满足回收散货需求。从回收到散货的流程较长,而且涉及到多方交互,还需要兼容在途订单。
解决思路:此类需求前后端改动均衡,验证的内容都比较多,流程还比较长,所以重点是先梳理出全流程链路,找到一个切入点作为主线,围绕着这个切入点展开测试方案设计。针对于此类的需求主要可以通过接口测试,数据构造提效,优先保证主流程,其次测试分支功能。


↙↙↙阅读原文可查看相关链接,并与作者交流