如何保证产品质量?
一.需求评审,设计评审。
这个是测试的最初阶段,对应开发,产品,测试一起讨论需求方案的可行性,技术方案的实现可行性,头脑风暴。当然这个阶段一般产品占据主导权。
这个阶段的引入也是为了从源头上把控软件产品质量,防止后期出现频繁更改需求满足业务场景,毕竟方向错了,满盘皆输。
二.测试用例评审。
这个就是测试占据主导权了,对于比较大的需求,一般可以先用 xmind 脑图梳理出业务场景,然后使用 excel 细化测试用例。
最后拉上开发,产品,一条一条去过测试点,看有没有遗漏疏忽的,这是提高测试用例覆盖度比较重要的手段,同时也可以保证软件产品质量。
三.交叉测试。
这种一般是针对比较大的,而且相对重要的需求。一个人写好测试用例,然后多人去执行测试用例,防止疏忽漏测。
四.回归测试。
一般上线前会进行回归测试,主要防止开发修改代码时,尤其是一些底层代码改动,会牵连到之前的功能,所以要做深度回归,至于回归范围,一般和开发进行一起评估即可。
五.产品走查。
把控软件产品质量不仅只有测试参与,产品也会进行主流程验证,看是否符合当时需求设定,毕竟想实现什么效果产品是最了解的。
六.线上生产验证。
一般公司上线为了减少对用户的影响,都会选择晚上 12 点后进行上线,这时候进行线上生产验证可以第一时间发现问题,进行代码回滚。将损失降低到最低。
七.引入自动化回归测试。
一般用途目的有两种:
开发改完代码之后先跑一遍自动化,进行冒烟测试。看下主流程是否通过,以及有没有影响到其它功能,不然的话直接进行打回。
上线前跑一遍自动化,进行回归测试。
引入自动化就属于是技术手段,可以更加高效,覆盖更全的的保证软件产品质量
如何定位一个 bug 是前端问题还是后端问题?
比如你在淘宝上边购买了一件商品,并且成功支付,但是在我的订单里面却没有记录,你应该如何去分析定位这个问题?
整体来说就是前端购买商品,支付成功,会把这条数据的商品信息加支付信息都落入数据库中。然后点击我的订单,会调后端接口,后端从数据库取相关信息,然后前端渲染展示商品和支付信息。
使用抓包工具抓包这个我的订单调后端的接口。
如果抓不到这个接口,就是前端没有发出请求,显然是前端问题。
如果有请求并且响应了,就查看这个接口响应信息,如果返回报错了,则需要具体分析报错内容。
这个时候既有可能是前端入参传的不对,导致后端报错。也有可能是前端传对了,后端处理错误,需要具体分析是前端问题还是后端问题。
如果后端成功响应了且返回信息跟接口文档定义的一致,那么大概率是前端展示的问题,这个时候需要找前端同事。