什么是软件测试
答:通过“人工”或者“自动化”的方式,测试某个程序或者系统,进而检验是否满足规定的需求,或者实际结果和预期结果之间是否有差别。
什么是需求
答:需求指两个方面:用户的期望和规定的合同(文档,标准,规范所需要的条件和权能)。
软件需求是由用户需求转化而来的,需求是开发人员和测试人员的依据。
什么是bug
答:1.当需求规格说明书存在并正确时,程序和规格说明不符合,说明有软件错误
2.当没有需求规格说明书的时候,程序没有实现用户的合理预期的功能,说明有软件错误。
什么是测试用例
答:实施测试时向被测的系统提供的一组——测试环境,测试步骤,测试数据,预期结果等要素。
测试用例的作用:检测是否测试了所有功能,解决测试覆盖率无法衡量的问题还有复测很难实施的问题,解决在大量冗余情况下影响测试效率的问题。
开发模型和测试模型
软件生命周期:需求分析-计划-设计-编码-测试-运行维护
开发模型:
瀑布模型——在早期计划和需求调查,强调开发的阶段性和产品测试。它的缺点是可以运行的产品很迟才会被看到,风险会在后期测试阶段才被显露,如果修改会增加成本,会给项目带来很大的风险。适合需求稳定的项目。
螺旋模型——适合初期需求不确定,渐进式开发模型。优点:全过程的风险管理和各个开发阶段的质量。缺点:引入严格的风险识别风险分析和风险控制,但是资金和时间成本很高。
增量、迭代——
先列出需求,再逐步细化
敏捷——
scrum:产品经理,项目经理,研发团队
迭代开发周期1到4周不等,一般团队成员5-9人
每个迭代周期完成的user story是固定的,完成后会产生交付。
产品发布会议-迭代计划会议-每日站会-产品演示会议-回顾会议
测试模型:
V模型和W模型
软件测试的生命周期
需求分析-测试计划-测试设计/开发-测试执行-测试评估
如何描述一个bug
测试环境 测试版本 测试步骤 实际结果 预期结果 其他附件
测试人员所要具备的素质
兴趣
技能(学习能力,沟通能力,代码能力)
抗压力和责任感
逆向思维
发散性思维