-
什么是软件测试?
答:软件测试是为了软件的产品特性是否满足用户的需求;因为企业的利益与用户直接关联。 -
调试和测试的区别
①目的不同
调试:发现并解决软件中存在的缺陷
测试:发现软件中存在的缺陷
②人员不同
调试:开发人员
测试:开发人员和测试人员等
③执行阶段不同
调试:编码阶段(单元测试、集成测试)
测试:测试贯穿软件呢的整个生命周期 -
软件测试开发和软件开发的区别
软件开发:主开发
软件测试开发:主测试,开发为辅,这里的开发是指,开发效能工具(例如:自动化测试工具、代码覆盖率工具、数据构造工具),更加关注项目的质量 -
自动化测试能不能完全替代手工测试?
自动化测试是不能替代手工测试的,自动化测试一定是依靠在手工测试的基础上的。比如一个从1.0开始的第一版软件,那么一定是先对其进行手工测试。 -
优秀的测试人员应该具备什么素质
一个测试人员应该具备①较强的综合能力,比如快速学习的能力、沟通能力、文字能力、开发能力;②掌握自动化测试技术③优秀的测试用例设计能力④具有探索性的思维,工作中保持学习的态度。 -
什么是需求
①需求是满足用户期望 或者 正式规定文档中所具有的条件或权能
②需求包含用户需求和软件需求
③用户需求往往转换成软件需求,但是不能直接把用户需求作为开发和测试人员的工作依据,因为需要考虑到用户需求的市场可行性和技术可行性。
④需求是测试人员开展软件测试工作的依据。 -
软件开发的生命周期
①需求分析:分析用户需求是否合理(市场可行性分析、技术可行性分析)---->产出需求文档
②计划:确定需求要执行多久,指定需求执行计划---->产出计划文档
③设计:将需求功能细分为一个个任务,进行技术设计,例如设计哪些接口,采用哪些技术---->产出设计文档
④编码:开发人员按照需求文档以及设计文档来进行编码
⑤测试:测试人员参考测试用例来进行测试
⑥运行维护:项目上线之后对产品进行线上维护
维护包括:修复性维护、完善性维护、预防性维护 -
软件测试的生命周期
①需求分析:站在用户的角度分析,查看需求逻辑是否正确,是否符合用户的需求和行为习惯;站在开发人员的角度,思考需求是否可以实现,实现起来的难度大小;
②测试计划:制定测试计划,包括但不限于测试的工时、人力安排
③测试设计、测试开发:设计测试用例,经验丰富的白盒测试人员可以开始单元测试
④测试执行:参考测试用例来执行测试
⑤测试评估:测试人员需要记录测试,做好缺陷管理 -
软件测试用例的概念
测试用例是为了实施测试而向被测试的系统提供的一组集合,这组集合包含:测试环境、操作步骤、测试数据、预期结果等要素。 -
为什么要用测试用例?
围绕着软件需求来设计测试用例,解决了重复测试的问题。
要遵循的原则:避免用后即弃 -
什么是bug(2个方面)
①如果规格说明书存在而且是正确的,程序和规格说明书之间不匹配就是错误
②如果规格说明书没有写,程序没有实现用户合理预期的功能就是错误 -
如何描述一个bug
标题:谷歌浏览器打开首页后,第一个banner页上面的二维码被登录这次邪恶空间者遮蔽住,导致无法扫描
发现bug的版本:Chrome版本103.0.5060.114(正式版本)(64位)
发现bug的环境:win11 Chrome
发现bug的步骤:1.打开Chrome浏览器2.访问首页链接
期望的结果:首页的第一个banner上的二维码清晰可见,可以通过手机进行扫描
实际的结果:首页上的第一个banner上的二维码被登录注册控件遮蔽住了,导致手机扫不到二维码
其它:bug的类型:前端问题;bug等级:次要 -
bug的级别
崩溃 严重 一般 次要 -
bug的生命周期
测试人员创建完bug之后,开发人员需要修复bug,测试人员还需要进行bug回归验证。
new:测试人员执行测试过程中发现bug,测试人员要创建bug
open:开发人员收到了bug,查看是否是bug,是bug,则open
rejected:开发人员认为不是bug,则rejected
delay: 开发人员认为暂时不需要修改或者延后修改,则状态变为delay
fixed:开发人员对bug就行修复,状态变为fixed
reopen:测试人员对bug进行回归验证,发现bug没有完全修复,则状态变为reopen
closed:测试人员对bug回归验证,bug被修复,状态变为closed。 -
测试人员跟开发产生争执怎么办?
①具有批判性思维,多反思是不是自己bug描述的不清楚,无效bug
②bug等级一定要有理有据
③合理友好的进行沟通,站在用户的角度,如果你是用户,你能接受吗
④不仅能够提出问题,而且最好也要给出问题的解决方案
⑤组织bug评审,邀请代表参加