软件测试阶段:单元测试,集成测试,系统测试,验收测试
测试人员参与的软件测试阶段一般来说只有集成测试和系统测试阶段。集成测试阶段主要测试的是接口;系统测试阶段主要是功能测试,兼容性测试等,涉及到定位bug的主要还是功能测试。
1、可以准确地知道,这个bug是前端的bug还是后端的bug
2、通过定位bug准确地分析bug造成的原因,可以减少开发的工作量,提高整个团队的工作效率
3、通过bug的深入了解,可以更加清楚软件的实现原理,方便于今后的提升
4、为之后成为测试开发,全栈做准备
当发现了bug之后才需要去定位bug
明确一点,接口测试发现的bug100%全部都是后端的bug
首先做接口测试时一定要会看状态码,通过状态码来定位bug
注意:下架功能不是删除,是修改,现在所有的软件公司,几乎都不会在代码里写delete语句(即使我们在页面上删除了什么东西,在数据库里看依然是存在的,通常大家都是把它和别的表关联起来,比如通过状态status=0为下架)——逻辑删除
delete语句是物理删除,它会把数据从数据库里删除
接口测试测得是后端,后端在Linux上运行,所以要去Linux上查日志(找到项目log文件夹下的debug.log文件)
一个开发写的代码经常报500错误的话,只能说明这个开发太菜了
明确一点,在系统测试阶段做功能测试的时候,发现的bug可能是前端的bug,也可能是后端的bug,首先做的第一件事就是去区分到底是前端得bug还是后端的bug,通过现在测试的功能是否使用接口来判断,如果和接口无关,百分百是前端的问题,和接口有关可能是前端的bug,也可能是后端的bug。
通过抓包的方式来判断,去检查在操作的时候有没有发送请求(调用接口),如果没有调用接口,那么就和接口无关;如果有调用接口,那么就和接口有关(在fiddler或者网站开发者工具上看的很直白,没反应就是没调用,反之调用),例如:输入字数问题,在前端做数据校验,如果超出了字数,就不让它发送请求(不调用接口),直接在页面弹窗提示超过字数——和接口无关;字数满足条件才调用接口——和接口有关了。
抓包:对于网站来说,不需要用fiddler,直接打开网站的开发者工具,手机用fiddler抓包,小程序也可以通过fiddler抓包
面试题:你抓包是干什么,你为什么需要抓包?在做系统测试的功能测试阶段,通过抓包的方式,去检查在操作的时候有没有发送请求(调用接口),如果没有调用接口,那么就和接口无关,如果有调用接口,那么就和接口有关,和接口有关的时候,抓包可以帮组我们查看前端的传入数据,判断是否是前端的问题,或者是否是前端的问题导致了后端也出了问题,通过抓包可以帮我们定位bug提供一个思路。
首先明确,可能是前端的bug,也可能是后端的bug,和接口有关的bug就需要借助状态码并抓包查看bug了。
假设前提是接口已经测试OK,那么是前端的问题,如果接口没做测试,那么请参考前面的接口测试状态码为200时候的场景定位bug
若此时接口测试已经测试完毕,出现bug可能是以下两种情况:
a、数据没有在正确的位置显示
b、后端返回了数据,前端没有显示出来
我们做的是功能测试,这个时候我们没有接触接口,我们操作的是前端,是前端在调用接口,前端操作接口错误,没有按要求去调用接口
首先明确100%是后端bug,当然也有可能是前端出了问题导致后端出了bug
首先明确,功能测试中和接口无关的bug100%是前端的bug,主要分为以下3种情况
the end:思维导图
原文:https://www.cnblogs.com/bzbz/p/13901702.html