前言
本文是本人在软考复习阶段的写的只有重点摘要的笔记(纯属个人观点),相信大家在网上已经看到很多有详细介绍的关于系统开发基础的文章,所以大部分我只是提出,没有详细解释,只是为了更好复习(这是接了上面一半的)。^ O ^
六、系统测试
6.1测试的基本概念
在软件生存周期中,为了发现程序中的错误、评估产品质量,并确保软件能够满足规定的需求或预期结果,而进行的一系列验证活动。这些活动包括人工或自动地对程序或系统进行操作,以检查其正确性、完整性和性能状况。测试的目的是确保软件在发布前尽可能少地包含错误,从而提高软件的可靠性和用户满意度。
6.2测试的分类
按测试阶段划分
- 单元测试
- 集成测试
- 系统测试
- 验收测试
按测试技术分类
- 静态测试(人工)
- 动态测试(机器运行)
静态测试(人工)
- 桌前检查(现场检查)
- 代码审查(SVN)
- 代码走查(边走代码边检查)
动态测试(机器运行)
- 黑盒测试(测试功能)
- 白盒测试(测试结构)
- 灰盒测试
6.3黑盒测试
基本原理
黑盒测试的基本原理是通过观察软件的输入和输出关系,模拟用户对软件的使用场景,从而判断软件的功能是否按预期工作。测试人员不需要了解程序的内部逻辑和代码实现,只需根据需求规格说明书设计测试用例,验证软件是否能在各种情况下正确运行。
测试方法
- 等价类划分法:确定无效和有效等价类,每个等价类中选取代表性数据进行测试
- 边界值划分法:测试输入和输出的边界值(如最小值、最大值、有效值和无效值),选取数据应恰好等于、稍小于或大于边界值
- 错误猜测法:基于经验推测可能出现的错误,针对这些错误编写测试用例
6.4白盒测试
基本原理
白盒测试的基本原理是通过分析软件的源代码、内部结构和逻辑,设计测试用例来验证程序的正确性和完整性。测试人员需要了解程序的控制结构、数据流和算法,以便设计出能够覆盖所有逻辑路径的测试用例。白盒测试是一种穷举路径的测试方法,旨在通过测试所有可能的执行路径来发现程序中的错误和缺陷。
测试方法
- 语句覆盖:被测试程序中的每条语句至少执行一次
- 判定语句:被测程序每个判定式至少获得一次“真”值和“假”值
- 条件覆盖:每一个判定语句中每个逻辑条件的各种可能的值至少满足一次
- 判断/条件覆盖:判定中每个条件的所有可能取值至少出现一次,并使每个判定本身的判定结果也至少出现一次
- 条件组合覆盖:每个判定中的各个可能值的组合都至少出现一次
- 路径覆盖:覆盖被测试程序中所有可能的路径
6.5测试阶段划分
- 单元测试:模块测试,模块功能、性能、接口
- 集成测试:模块间的接口
- 系统测试:真实环境下,验证完整的软件配置项能否和系统正确连接
- 确认测试:验证软件与需求的一致性
- 回归测试:测试软件变更之后,需要测试变更部分的正确性以及对变更需求的符合性
七、软件维护
7.1软件维护相关概念
软件维护是指在软件产品交付使用后,为了修正错误、提升性能、满足新的需求或适应环境变化而对软件进行的修改活动。
7.2软件维护分类
- 改正性维护:为了纠正软件中存在的错误而进行的维护活动。
- 适应性维护:为了使软件适应外部环境或数据环境的变化而进行的修改活动。
- 完善性维护:为了满足用户在使用过程中提出的新增功能或改进已有功能的需求而进行的维护活动。
- 预防性维护:扩充功能和改善性能而进行的修改
八、软件质量保证
功能性
- 适合性
- 准确性
- 互操作性
- 安全保密性
可靠性
- 成熟性
- 容错性
- 易恢复性
易用性
- 易理解性
- 易学性
- 易操作性
- 吸引性
效率
- 时间特性
- 资源利用性
维护性
- 易分析性
- 稳定性
- 易测试性
- 易改变性
可移植性
- 适应性
- 易安装性
- 共存性
- 易替换性
九、软件文档
开发文档(开发人员)
- 可行性研究和项目任务书
- 需求规格说明
- 功能规格说明
- 设计规格说明(包括程序和数据规格说明)
- 开发计划
- 软件集成和测试计划
- 质量保证计划、标准、进度
- 安全和测试信息
产品文档(用户)
- 培训手册
- 参考手册和用户指南
- 软件支持手册
- 产品手册和信息手册
管理文档(负责人)
- 开发过程的每个人阶段的进度和进度变更的记录
- 软件变更情况的记录
- 相对与开发的判定记录
- 职责定义