1、测试流程
分解需求→制定测试计划→设计测试用例→执行测试用例→提交bug→验证bug→测试报告→测试总结
2、编写测试用例都是用到哪些测试用例方法?
等价类、边界值、流程分析法、场景法、错误推测法、正向、反向
3、测试计划都是包含哪些内容?
测试计划:项目简介、人员配置、测试阶段划分(任务分配)、测试策略(方法、手段、工具)、测试环境、测试资源、框架、风险控制、上线标准、时间
整体大纲:
1、项目概述:项目背景、测试目的、需求文档之类的
2、测试说明:测试模块、测试环境、测试策略、测试资源、分配任务之类的
3、风险控制:风险评估、应急措施之类的(开发更改需求等,保证上线产品没有问题)
4、质量评估标准:测试模块通过标准、验收测试通过标准
5、关键里程碑:什么时间发什么事物
6、附录和其他:测试用例的模板、缺陷报告模板之类的
4、测试报告都是包含哪些内容?
bug的总数、bug的修复率、bug的分布情况、bug的严重等级的统计、未修复bug的原因、总结(本轮测试的情况,为以后测试做铺垫)
5、假如线上出现了bug,你们公司是怎么去解决的?
首先我在测试工作过程中,没有出现过线上bug;但是我们公司每次上线之前都会有备选方案,把出现严重bug的版本拉下来,候选版本推上去,在bug修复完之后,再把修复完的版本推上去;如果是小型bug,不影响用户使用之类的,就可以直接在线上修改。
(首先强调工作过程中没有出现过线上bug,再说出现bug的备选方案)
6、说一下你印象最深刻的一个bug?
1、电商项目:测优惠券模块,满199减50,但是付款的时候没减50或者减100,减少了公司的损失
2、页面跳转空白页,刷新一次又出来了,两三周出现一次
3、闪退(不好定位:app刚刚下载,打开就闪退)
7、说一下你觉得最难找的bug是什么?
偶性bug,不确定什么时间出现bug(测试什么时候突然出现闪退,后面就是偶尔在某个时间闪退,时间不定)
解决:在Linux下用tail -f查看日志,把日志截给开发,让开发去解决bug
偶性bug的应对措施:
1、抓取log、截图、视频
2、别急着去复现bug,先仔细回忆下自己的操作步骤及前置环境
3、找到能重现的步骤,然后再定位代码,还得考虑数据的因素(检查变量变化是否正确)
8、如何区分前后端bug?
1、首先看发的请求是否有问题,请求的接口url是否有错误,参数是否有错误,如果url或传参有问题那就是前端bug。
2、如果请求没有问题,看下后台返回的数据是否有问题,状态码5开头的基本都是后台问题,状态码为200,响应数据与预期不一致,那也是后台bug。
3、返回的数据没有问题,请求参数,url也没有问题,那可能是前端代码是否转换有问题,那就是前端bug。
通过抓包工具抓包,然后查看请求报文,
如果请求报文对比接口文档有问题,那么就是前端的问题
如果请求报文没有问题,那就看返回报文,放回的数据不对,那就是后端的问题
1、如果前端的数据在fiddler显示没有问题,而返回的数据有误,那么就是后端的BUG
2、如果前端的数据在fiddler显示有问题,返回的数据100%错误,那么就是前端的bug
3、除了fiddler抓包之外,还可以通过查看后台日志去分析(cat /var/log/messages)
9、如果开发拒绝修改bug,你是怎么解决的?
(确定需求--环境版本--截图讨论)
1、确定需求,如果测试开发对需求理解一致
2、环境,查看两个人安装的是否一样
3、如果需求版本一致,双方意见还达不成一致的,那就找产品经理确认
4、截图,把测出来的bug截图留证据,有图有真相(页面截图或者后台)
5、实在不行,我们公司每周都有一个会议,来讨论bug
10、如果bug需要修改,但是很紧急,但是开发没有时间去改,你该怎么办?
(告知领导问题的影响和风险--不能接受就修改--能接受就发布--发布之后需要跟踪)
11、浏览器打开一个页面一直没有显示你会考虑哪些情况?
(网络,前端代码--定位bug,服务器,问开发)
首先查看主机网络是否有问题;其次查看网页开发者工具,查看前端html代码,定位一下bug;然后查看服务器是否正常运行;最后跟开发进行讨论。
12、如果前端插入一张图片到浏览器界面,结果没有显示出来,你会从哪些方面考虑这些问题?
我们可以从几个方面来考虑这个问题:
1、开发代码写错,图片没有显示出来这是最常出错的地方。
2、数据库问题,可能页面提示上传成功了,结果没插进去,可能是个空或者插错了没有上传成功。
3、网络问题,网络不好导致图片没有加载完,而超过它设置的一个设定加载时间。
4、图片格式不对,不是我们常见的图片格式所以代码不支持。
5、兼容性,可能在你访问的这个浏览器能显示,但是在用户的访问的浏览器无法显示,就要考虑你们用的是不是一个浏览器。
6、图片的丢失导致无法显示。
7、接口问题。
13、你所了解的的软件测试类型都有哪些,简单介绍一下?
1、按测试策略分类:
静态与动态测试、黑盒与白盒测试、手工和自动测试、冒烟测试、回归测试
2、按测试阶段分类:
单元测试、集成测试、系统测试、验收测试
3、其他常见测试方法:
功能测试、性能测试、压力测试、负载测试、易用性测试、安装测试、界面测试、配置测试、文档测试、兼容性测试、安全性测试、恢复测试
4、系统测试分类:
功能测试、性能测试、兼容性测试、安全测试
14、请问你怎么看待软件测试的潜力和挑战?
自动化解决了大部分人力,但是有些地方是自动化测试不到的地方,这就需要有专业技能的测试人员来协助自动化一起测试;但是测试人员也面临着挑战,需要学习新的技术,跟随潮流,比如现在的迭代开发,敏捷开发之类的
15、你觉得软件测试的核心竞争力是什么?
(早发现问题--发现别人无法发现的问题--补充技术能力)
16、测试测到哪些比较有成就感?
钱,减少了公司损失,优惠券之类的
小数点保留:本来是保留两位,但是显示只有一位。
17、什么是兼容性测试?
答:兼容性测试是检查软件在不同软件平台,硬件平台上是否可以正常运行的测试。主要查看软件在不同操作系统、浏览器、数据库中运行是否正常。
单元测试
:聚焦单个单元,隔离依赖,快速执行。
- 集成测试
:验证多个模块或系统的交互,涉及真实依赖(如数据库、API)
18、发现的缺陷越多,说明软件缺陷越多吗?
答:是的,通常如果发现一个缺陷的话,可能就会发现很多类似的缺陷,由于开发人员的习惯,可能一个地方有缺陷,另外一个地方就会有相同的缺陷。
19、功能测试在 beta 版本对外的上线标准是什么?
测试用例全部跑完并且bug都已经关闭,然后业务验收后可以上线
19、数据库在测试中的应用?
正常Web应用、服务端的很多操作最后都会进行数据库落库,所以需要通过查询数据库来确认落库数据是否正确(比如一个注册接口,如果注册成功,那么用户表就应该有记录这个用户的账号密码这方面的信息,没记录那就是严重bug了)。同时也会需要通过改一些数据库信息,进行一些场景的模拟。不过用的大部分还是基础的增删改查,存储过程啥的基本也不大会涉及。
除了查数据进行测试,搭建测试环境也会涉及一些数据库操作,每个版本提测的脚本,跑sql脚本也得测一下,有的测试数据也得进行备份,做自动化的一些预置条件也可以通过sql来插入数据等等。
20、优惠券
举例:双11优惠券当天可用,满100减50,特价商品不不能使用?
1、双11优惠券当天可用(边界值)
2、满100减50(边界值,同时考虑满200减100)
3、特价商品不能使用
其他场景
1、UI检测:优惠券金额,不可用优惠券置灰,优惠券数据以及有效时间显示,甚至包括列表排序规则。
2、优惠券状态:已领取未使用,已领取已使用,已使用已退款等
3、检测支付是否能够自动化选择优惠券,并智能选择优惠力度最大的优惠券,同时支持优惠券的取消和切换。
4、使用优惠券购买商品,退货的场景。退货的金额以及优惠券是否退还。
5、优惠券是否可以叠加使用。
6、优惠券是否可以和其他优惠活动组合使用
7、和后台关联测试,比如后台优惠券下架之后
感谢每一个认真阅读我文章的人!!!
作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。