【软考系统架构设计师】第十六章—系统测试与维护(知识点必知必会)
第十六章---系统测试与维护(知识点必知必会)
一. 系统测试
- 系统测试是将已经确认的软件、计算机硬件、外设和网络等其他因素结合在一起
- 进行信息系统的各种集成测试和确认测试,
- 其目的是通过与系统的需求相比较,发现所开发的系统与用户需求不符或矛盾的地方。
- 系统测试是根据系统方案说明书来设计测试用例
- 常见的系统测试主要有恢复测试、安全性测试、压力测试、性能测试、可靠性测试、可用性测试、可维护性测试和安装测试
01. 恢复测试
- 恢复测试监测系统的容错能力。检测方法是采用各种方法让系统出现故障,检验系统是否按照要求能从故障中恢复过来
- 并在约定的时间内开始事务处理,而且不对系统造成任何伤害。
- 如果系统的恢复是自动的(由系统自动完成),需要验证重新初始化、检查点、数据恢复等是否正确。
- 如果恢复需要人工干预,就要对恢复的平均时间进行评估并判断它是否在允许的范围内。
02. 安全性测试
- 系统的安全性测试是检测系统的安全机制、保密措施是否完善,主要是为了检验系统的防范能力。
- 测试的方法是测试人员模拟非法入侵者,采用各种方法冲破防线。
- 系统安全性设计准则是使非法入侵者所花费的代价比进入系统后所得到的好处要大,此时非法入侵已无利可图。
03. 强度测试
- 是对系统在异常情况下的承受能力的测试,是检查系统在极限状态下运行时,性能下降的幅度是否在允许的范围内。
- 因此,强度测试要求系统在非正常数量、频率或容量的情况下运行。
- 强度测试主要是为了发现在有效的输入数据中可能引起不稳定或不正确的数据组合。
- 例如,运行使系统处理超过设计能力的最大允许值的测试例子;使系统传输超过设计最大能力的数据,包括内存的写入和读出等。
04. 性能测试
- 检査系统是否满足系统设计方案说明书对性能的要求。
- 性能测试覆盖了软件测试的各阶段,而不是等到系统的各部分都组装之后,才确定系统的真正性能。
- 通常与强度测试结合起来进行,并同时对软件、硬件进行测试。
- 软件方面主要从响应时间、处理速度、吞吐量、处理精度等方面来检测。
05. 可靠性测试
- 通常使用以下两个指标来衡量系统的可靠性
- 平均失效间隔时间MTBF (mean time between failures)是否超过了规定的时限,
- 因故障而停机时间MTTR (mean time to repairs)在一年中不应超过多少时间。
06. 安装测试
- 在安装软件系统时,会有多种选择。安装测试就是为了检测在安装过程中是否有误、是否容易操作等。
- 主要监测系统的每一个部分是否齐全,硬件的配置是否合理,安装中需要产生的文件和数据库是否已产生,其内容是否正确等。
二. 确认测试
- 确认测试主要用于验证软件的功能、性能和其他特性是否与用户需求一致。
- 确认测试计划通常是在需求分析阶段完成的。
- 根据用户的参与程度,通常包括以下4种类型。
1)内部确认测试
- 内部确认测试主要由软件开发组织内部按照软件需求规格说明书进行测试。
2)α测试和β测试
- 对于通用产品型的软件开发而言,α测试是指由用户在开发环境下进行测试,通过α测试以后的产品通常称为α版;
- β测试是指由用户在实际使用环境下进行测试,通过β测试的产品通常称为β版。
- 一般在通过β测试后,才能把产品发布或交付给用户。
3)验收测试
- 验收测试是指针对软件需求规格说明书,在交付前以用户为主进行的测试。其测试对象为完整的、集成的计算机系统。
- 验收测试的目的是,在真实的用户工作环境下,检验软件系统是否满足开发技术合同或软件需求规格说明书。
- 验收测试的结论是用户确定是否接收该软件的主要依据。
4)系统测试
- 系统测试的目的是在真实系统工作环境下,验证完整的软件配置项能否和系统正确连接,并满足系统/子系统设计文档和软件开发合同规定的要求。
- 系统测试的主要内容包括功能测试、健壮性测试、性能测试、用户界面测试、安全性测试、安装与反安装测试等。
- 其中性能测试包括负载测试、压力测试、可靠性测试和并发测试。
三. 黑盒测试
- 也称为功能测试,主要用于集成测试,确认测试和系统测试阶段。
- 黑盒测试根据软件需求规格说明所规定的功能来设计试用例,一般包括功能分解、等价类划分、边界值分析、判定表、因果图、状态图、随机测试、错误推测和正交试验法等。
1)等价类划分
- 是用得最多的一种黑盒测试方法。所谓等价类就是某个输入域的集合
- 对每一个输入条件确定若干个有效等价类和若干个无效等价类,分别设计覆盖有效等价类和无效等价类的测试用例。
- 无效等价类是用来测试非正常的输入数据的,所以要为每个无效等价类设计一个测试用例。
2)边界值分析
- 通过选择等价类边界作为测试用例,不仅重视输入条件边界,而且也必须考虑输出域边界。
- 在实际测试工作中,将等价类划分法和边界值分析结合