软件缺陷管理
软件缺陷定义
- 软件缺陷就是通常说的Bug,它是指在软件中(包括文档和程序)存在的影响软件正常运行的问题。
- 软件未达到产品说明书表明的功能,如通讯app不能聊天。
- 软件出现了产品说明书指明不会出现的错误,如高考不带身份证。
- 软件功能超出产品产品说明书指明的范围,如计算机可以拍照。
- 软件未达到产品说明书虽为指出但应该达到的目标,如一个账号的密码是明文。
- 软件难以理解、不易使用、运行速度慢或者从测试人员的角度看最终用户认为不好,如即时通讯app找不到聊天界面。
软件缺陷产生的原因
1.2软件缺陷产生的原因需求不明确和变更,软件需求不清晰或者开发人员对需求理解偏差,导致如那件设计时偏离用户的需求目标,造成软件功能或特征上的缺陷。此外,开发过程中客户频繁更新需求也会影响软件最终的质量。软件结构复杂编码问题项目期限短使用新技术
软件缺陷分类
界面类
功能类
测试种类 性能类
安全类
兼容性类
严重
缺陷严重程度 一般
次要
轻微
软件缺陷分类
立即解决
缺陷优先级 高优先级
正常排队
低优先级
需求阶段缺陷
架构阶段缺陷
缺陷发生阶段 设计阶段缺陷
编码阶段缺陷
测试阶段缺陷
软件测试概述
软件测试目的
- 以最少的人力、物力和时间找出软件中潜在的各种错误和缺陷,加以修改,来保证软件的质量,避免造成隐患
- 利用测试过后得到的测试结果和信息,作为后续项目开发和测试过程改进的重要输入,避免在将来的项目开发和测试中重复同样的错误。
- 采用更加高效的测试管理手段,提高软件测试的效率和软件质量。
软件测试模型
V模型
V模型的左边下降的是开发过程各阶段,右边相对应的是测试过程的各个阶段。
W模型
w模型说明了软件开发和测试是同步进行的,这样大大缩减了整个项目的开发周期。
软件测试流程
软件测试原则
- 测试显示软件存在缺陷
- 穷尽测试是不可能的
- 测试尽早介入
- 缺陷集群性(2/8原则)
- 杀虫剂悖论
- 测试活动依赖于测试内容
- 没有错误是好还是谬论
- 程序员不能自测之后就上线
- 严格执行测试计划,排除测试的随意性
- 应当对每一个测试结果做全面的检查
- 妥善保存测试计划、测试用例、出错统计和最终分析报告,为维护提供方便。
- 设计测试用例时,应当包括合理的输入数据和不合理的输入数据。
- 测试用例应由测试数据与之对应的预取输出结果这两部分。
按测试阶段分类
- 单元测试:对一个模块、一个函数或者一个类来进行正确性检验的测试方法
- 集成测试:单元测试后,将单独的模块按设计要求组装成系统或子系统,作为整体设计的测试方法。
- 系统测试:集成测试后,将硬件、软件看作一个整体,对系统的功能及性能的总体测试。
- 验收测试:系统测试后以用户测试为主,或有测试人员共同参与检验软件质量的测试方法。