day02 软件缺陷管理
定义:软件缺陷就是通常说的bug,在软件中(包括文档和程序)存在的影响软件正常运行的问题。软件功能超出产品说明书指明的范围
- 软件未达到产品说明书标明的功能(该有的没有)
- 软件出现了产品说明书指明不会出现的错误()
- 软件功能超出产品说明书指明的范围(不该有的没有)
- 软件未达到产品说明书虽未指出但应该达到的目标
- 软件难以理解、不易使用、运行速度缓慢或者从测试人员的角度看最终用户认为不好
软件缺陷产生的原因
- 需求模糊或开发人员对需求理解偏差
- 软件结构复杂
- 编码问题
- 项目期限短
- 使用新技术
软件测试模型
V模型
V模型的左边下降的是开发过程各阶段,与此相对应的是右边上升的部分,即各测试过程的各个阶段
优点:非常明确的表明了测试过程中存在的不同级别,并且清楚地描述了这些测试阶段和开发各阶段的对应关系
W模型
W模型是V模型的发展,强调的是测试伴随着整个软件开发周期,测试的对象不仅仅是程序,需求,功能和设计同样要测试
软件测试的环境
测试环境=硬件+软件+网络
硬件环境:pc机还是笔记本
软件环境:不同的操作系统windows10 windows8 windows7 Linux Mac , 不同浏览器firefox chrom
网络:局域网还是互联网
软件测试流程
缺陷集群性(2/8原则)
软件测试基本原则
- 测试显示软件存在缺陷
- 穷尽测试是不可能的
- 测试尽早介入
- 缺陷集群性(2/8原则)
- 杀虫剂悖论
- 测试活动依赖于测试内容
- 没有错误是好是谬论
- 程序员不能自测之后就上线
- :严格执行测试计划,排除测试的随意性
- 应当对每一个测试结果做全面的检查
- 妥善保存测试计划、测试用例、出错统计和最终分析报告,为维护提供方便
- 设计测试用例时,应当包括合理的输入数据和不合理的输入数据
- 测试用例应由测试数据和与之对应的预期输出结果这两部分组成
软件测试分类
按照原理分类:黑盒测试、白盒测试、灰盒测试
黑盒测试:“望”:观察软件的行为是否正常。
“闻”:检查输出的结果是否正确。
“问”:输入各种信息,结合“望”,“闻”来观察软件的响应。
“切”:像中医一样给软件“把把脉”,敲击一下软件的某些“关节”
白盒测试:是一种按照程序内部逻辑结构和编码结构设计测试数据并完成测试的测试方法
灰盒测试:一种基于程序运行时的外部表现同时又结合程序内部结构来设计测试数据的测试方法
测试阶段分类
- 单元测试:对一个模块、一个函数或者一个类来进行正确性检验的测试方法
- 集成测试:单元测试后,将单独的模块按照设计要求组装成为子系统或系统,作为整体进行测试的 测试方法
- 系统测试:集成测试后,将硬件、软件看作一个整体,对系统的功能及性能的总体测试
- 验收测试:系统测试后以用户测试为主,或有测试人员共同参与检验软件质量的测试方法
按照内容分类
功能测试、性能测试、兼容性测试
功能测试:界面测试、冒烟测试、回归测试、业务逻辑测试、易用性测试
性能测试:压力测试、负载测试、并发测试
兼容性测试:冒烟测试、随机测试、安全性测试、探索性测试、回归测试、Alpha测试、Beta测试