软件工程期末考试复习(六)
实现
通常把编码和测试统称为实现
软件测试基础
1、测试的目标或定义
2、测试方法
黑盒测试(又称功能测试)把程序看作一个黑盒子,完全不考虑程序的内部结构和处理过程。黑盒测试是在程序接口进行的测试,只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据并产生正确的输出信息,程序运行过程中能否保持外部信息(例如数据库或文件)的完整性。
白盒测试(又称结构测试)是把程序看成装在一个透明的白盒子里,测试者完全知道程序的结构和处理算法。这种方法按照程序内部的逻辑测试程序,检测程序中的主要执行通路是否都能按预定要求正确工作。
3、测试步骤
大型软件系统通常由若干个子系统组成,每个子系统又由许多模块组成,因此,大型软件系统的测试过程基本上由模块测试、子系统测试、系统测试、验收测试和平行运行等五个步骤组成。
子系统测试和系统测试,都兼有检测和组装两重含义,通常称为集成测试。
单元测试
1、单元测试主要使用白盒测试技术,而且对多个模块的测试可以并行地进行。
2、代码审查:代码检查是指由审查小组正式对源程序进行人工测试。它是一种非常有效的程序验证技术,对于典型的程序来说,可以查出30%~70%的逻辑设计错误和编码错误。审查小组最好由下述4人组成。
3、计算机测试
正文编辑模块通过调用它的下层模块来完成具体的编辑功能,而且只用一个存根程序模拟正文编辑模块的所有下层模块。
确认测试
1、确认测试也称为验收测试,它的目标是验证软件的有效性。
白盒测试技术
1、通常把测试数据和预期的输出结果称为测试用例。
2、逻辑覆盖是对一系列测试过程的总称,这组测试过程逐渐进行越来越完整的通路测试。
- 语句覆盖的含义是,选择足够多的测试数据,使被测程序中每个语句至少执行一次。
-
判定覆盖又叫分支覆盖,它的含义是,不仅每个语句必须至少执行一次,而且每个判定的每种可能的结果都应该至少执行一次,也就是每个判定的每个分支都至少执行一次。
- 条件覆盖的含义是,不仅每个语句至少执行一次,而且使判定表达式中的每个条件都取到各种可能的结果。
- 判定/条件覆盖是一种能同时满足判定覆盖和条件覆盖的逻辑覆盖,它的含义是,选取足够多的测试数据,使得判定表达式中的每个条件都取到各种可能的值,而且每个判定表达式也都取到各种可能的结果。
-
条件组合覆盖是更强的逻辑覆盖标准,它要求选取足够多的测试数据,使得每个判定表达式中条件的各种可能组合都至少出现一次。
黑盒测试技术
1、黑盒测试技术:等价划分、边界值分析、错误推测、
调试
1、调试(也称为纠错)作为成功测试的后果出现,即调试是在测试发现错误之后排除错误的过程。
2、调试途径:蛮干法、回溯法、原因排错法。