一、软件测试概述
什么是软件:软件=数据+文档+程序
软件的分类:系统软件和应用软件
软件架构分类:C/S(Client-Server)和 B/S(Browser-Server)架构。
软件测试的定义:使用人工和自动化手段来测试或运行某个系统的过程。
软件测试的目的:在于检验他是否满足归档的需求或弄清预期结果与实际结果之间的差别。
软件的声明周期:问题的定义、规划开发方与需求方讨论、需求分析、软件设计、软件编码、软件测试(单元测试、继承测试、系统测试、验收测试)、运营维护。
软件测试流程:
-
需求分析和测试计划:
- 理解软件需求和功能规格,确定测试范围和测试目标。
- 制定测试计划,包括测试策略、资源需求、进度安排等。
-
测试设计:
- 根据需求和设计文档,制定测试用例和测试数据。
- 设计测试环境和搭建测试基础设施。
-
测试执行:
- 执行测试用例,记录测试结果和缺陷。
- 进行回归测试,验证修复的缺陷是否有效,确保系统其他部分未受影响。
-
缺陷管理:
- 报告缺陷并进行跟踪管理,包括缺陷的提交、验证、关闭等流程。
- 根据严重性和优先级对缺陷进行分类和处理。
-
测试报告和总结:
- 撰写测试报告,总结测试覆盖率、通过率、未通过率等指标。
- 分享测试结果和建议,为项目决策提供支持。
-
测试结束和评估:
- 完成测试任务,评估测试过程中的效率和效果。
- 进行测试经验总结,为后续项目提供改进建议。
二、软件缺陷
1、概念
软件缺陷又称为“BUG”。即计算机软件或程序中存在某种破坏正常运行能力的问题、错误或者隐藏的功能缺陷。
2、缺陷的表现形式
- 没有实现产品规格说明书中所要求的功能模块;
- 出现了产品规格说明书指明不应该出现的错误;
- 实现了产品规格说明书中没有提到的功能需求;
- 没有实现产品规格说明书中没有明确提及但应该实现的目标;
- 软件难以理解、不易使用、运行缓慢、用户体验不好;
3、产生缺陷的原因
- 产品规格说明书没有写或者写的不够全面,经常更改,以及开发小组没有进行很好的沟通,造成对软件规格需求说明书的不理解。
- 没有做设计或者设计不好,经常发生变动导致和产品规格需求说明书一样的问题。
- 主要就是上面两种。
4、缺陷的几种类型
- 需求解释有错误
- 用户需求定义错误
- 需求记录错误
- 设计说明有误
- 编码说明有误
- 程序代码有误
- 测试有误
- 问题修改不正确
- 不正确的结果是由于其他的缺陷而产生的
5、缺陷的属性
- 缺陷标识:唯一
- 缺陷类型:缺陷种类
- 缺陷严重程度:因缺陷引起的故障对软件产品的影响程度
- 缺陷优先级:缺陷必须被修复的紧急程度
- 缺陷状态:通过跟踪修复过程的进展情况
- 缺陷起源:缺陷引