手把手用项目实战教你如何从“野路子”华丽转身成为“专业测试”

本贴最后更新于 536 天前,其中的信息可能已经物是人非

野路子测试 vs 专业测试

野路子测试:就是很多同学自己摸索着学习就容易变成这种野路子: 你说他不会吧?他好像都知道,你说他都会吧,又会工作中各种问题,面试问啥啥说不出来!

我们把这种情况的人光荣的就叫做野路子:具体表现就如你们刚刚说的:上来就直接点点点, 能否发现bug随缘?

专业测试: 按照系统规范的流程来测试!并且从头到尾任何环节(问题+工具)能够hold住!

那么何为规范的测试流程?

1)分析需求 :要能看懂需求文档 或者没有需求文档要能自己从软件里提炼需求

2)设计用例“看懂了需求文档,那么怎么提取要测试的内容,将用户需求转化为测试需求

3)执行测试: 这个比较简单,按照用例一步一步去执行就行 。但是其中会因为各种原因用到各种各样的工具: 如抓包工具fiddler,接口工具Jmeter , 数据库,Linux 确认测试结果和定位日志排查问题 ;

4)bug记录和跟踪 : 执行的过程中肯定会有一个产物bug,怎么记录bug?怎么让开发修复你的bug?

今天我们按照这个流程做项目,目的让你们知道专业测试的素养

第一步:需求分析

如果我现在把一个项目的需求文档发给你,让你去看,我敢肯定,你云里雾里,而且看不进去,甚至会催眠睡着。

其实看文档是有方法的:我来教你两步就搞定:

1、看明白软件的业务逻辑,弄清楚这是个干什么的软件

比如我们的电商项目为例:

前端:比如这些商品哪里来的?比如添加商品的数量最大数应该是多少?

后台:数据就在后台添加的; 数量限制--后台配置库存和限购数量

数据库:数据存到哪里的,以及哪些操作会对数据库产生影响和变化?

理解清楚前端和后端的关联,这就是基本的业务逻辑!

这里多说一句:导致测试野路子们出现的一个重要原因,拿来练习的项目不是一个完整的项目:前端 + 后端 + 数据库等各种信息! 光有一个前端页面 不是完整的项目。

2、看明白每个模块有什么要求

需求里会针对每个模块的要求?如下如注册模块:

图片.png

第二步:用例设计

用例设计方法有很多,用的最多的 以及你们最需要学会的: 等价类 和边界值方法。

比如我们上面的用户名的的输入框的测试: 用等价类和边界值的方法 就可以如下测试:

正常测试:字母数字下划线,2-18
异常测试:非三种字符之外,小于2,大于18 ,为空,重复用户名
小练习:测试搜索商品搜索框的功能,怎么测试?

我们拿到任何一个模块的测试思维是一致的,使用的用例设计方法也是一致的: 等价类 边界值 场景法

正常测试:

1)输入搜索关键字,能得到正确;

2)精确搜索,模糊搜索都能得到正确的结果

异常测试:

1)输入关键字为空 -- 空搜索

2)输入不存在的关键字--错误搜索

3)输入特殊字符关键字 进行搜索 == 空格 & 2

功能交互:

1)搜索出来的商品可以点击 进去详情页 并购物车

第三步:执行测试 找bug

执行测试搜索的用例:

1、正常测试:输入关键字-柠檬:看前端商品 3个商品;

图片.png

这表示测试通过了吗?

野路子测试:开心极了,终于发现了一个bug,赶紧提给开发。

这会导致什么结果呢?会出现很多无效的bug ,开发说你不专业 diss你,测试地位低下 ...

专业测试: 发现问题 确认问题 排查问题 定位问题 分析问题 ,做全套定位排查

1、数据来自于后台配置 但是数据保存在数据库里的。

2、当前端和后端数据不一样的时候,需要去数据库进行测试结果确认。

连上数据库并使用sql进行确认:

select is_shelves, title from sxo_goods where title like "%柠檬%";

图片.png
图片.png

结果你会发现,有4个商品再数据库里,只是有些商品未上架 ,不在前端显示。所以确认了测试结果并可以知道这不是一个bug。

按照这样的方法做测试,就会避免你流于表面,只能做纯点工测试 !这就问你专不专业!

小练习: 输入特殊字符,看是否可以搜素成功

搜索 关键字 “ 柠檬班吉祥物&

执行结果:没有商品显示

这是bug 么?

现在学乖了,要先确认排查一下:

1、确认后台是否添加了 --有

2、确认数据库是否有数据?--有

3、前端页面未搜索 之前有数据,特殊字符的搜索之后不显示

确认后发现肯定是bug 了。

野路子测试: 又到你们表演的时候到了,直接开bug,只给随便一个开发 就万事大吉了!
专业测试:不够不够,我需要定位一下 前端开发的问题 还是后端开发的问题!

知识普及:每个公司有两种开发 : 负责页面的 前端开发, 负责业务逻辑的后端开发;他们分工合作,你报bug可以,但是报错了人,那么就会完蛋了!

所以,我们这里还需要进一步进行定位一下! 用抓包进行定位:

我们演示一下F12抓包:

图片.png

结果发现请求是正常发送的,但是响应结果提示错误,没有返回数据,所这是后端接口的bug。

所以,结论:这是一个bug,但是经过定位发现, 这不是前端bug 而是一个后端接口的的bug!

第四步:记录bug,现在发现了一个bug ,怎么做?提交bug

野路子测试: 截图放bug 完事! 可能记录下来就可以!

系统学习的专业: 规范的格式,提供的截图 日志 数据库 抓包分析的截图; 以及各种特殊情况的处理方法:

开发不修复你的bug 怎么处理?

遇到不是每次出现的bug怎么处理?

怎么去跟进每一个bug

以及怎么去分析bug的分布 评估是否质量达到了上线的标准。

总结

通过以上的案例演示,我们不难发现野路子测试和专业测试的区别。作为一个测试,我们还是要提高自己的专业性,这样才可以在在线日益内卷的市场行情下立于不败之地。

回帖
请输入回帖内容 ...