IF Y<5
6: THEN PRINT X,Y 7: ELSE IF Y=2
2 THEN GOTO LOOP
8: ELSE C=3 END IF 9: END IF 4 3 G=H+R END DO 10: IF F>0
5 11: THEN PRINT G
12: ELSE PRINT R 13: END IF
STOP
7 V(G)=6 6 第七章
? 软件测试的概念P140
目的:(1)测试是为了发现程序中的错误而执行程序的过程; 8 (2)好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案; (3)成功的测试是发现了至今为止尚未发现的错误的测试。 定义:为了发现程序中的错误而执行程序的过程。 9 测试绝不能证明程序是正确的
? 测试方法P141
– 黑盒测试
1把程序看作一个黑盒子,完全不考虑程序的内部结构和处理过程 10 2对程序接口进行测试,检查程序功能是否能按规格说明书的规定正常使用; 程序是否能适当地接受输入数据并产生正确的输出信息; 程序运行过程中能否保持外部信息的完整性
12 – 白盒测试 11 1把程序堪称装在一个透明的白盒子里,测试者完全知道程序的结构处理算法 2按照程序内部的逻辑测试程序,检测程序中的主要执行通路是否都能按 预定要求正确工作 13 ? 测试步骤P141
– 单元测试:(模块测试)发现的往往是编码和详细设计的错误 – 集成测试:着重测试模块的接口
– 系统测试:发现的往往是软件设计中的错误,也可能发现需要说明中的错误 – 验收测试:(确认测试)往往发现需求说明书中的错误
白盒测试
? 逻辑覆盖
– 逻辑覆盖类型
逻辑覆盖是以程序的内部逻辑结构为基础的测试用例设计技术,属于白盒测试。它要求测试人员十分清楚程序的逻辑结构,考虑的是测试用例对程序内部逻辑覆盖的程度。
从覆盖源程序语句的详尽程度分析,大致有以下一些不同程度的覆盖标准:
1语句覆盖2判定覆盖 3条件覆盖 4判定/条件覆盖 5条件组合覆盖
– 实例P153
– 习题7第4题第(3)小题P174
? 控制结构测试
– 基本路径测试P156
1 1: START
INPUT (A,B,C,D) 2: IF (A>0)
3: AND (B>0)
4: THEN X=A+B 5: ELSE X=A-B 6: END IF 7: IF C>A
8: OR (D
12: PRINT (X,Y) STOP
路径1:1-2-3-4-6-7-9-11-12
路径2:1-2-5-6-7-9-11-12 路径3: 1-2-3-5-6-7-9-11-12 路径4:1-2-3-4-6-7-8-9-11-12
测试用例: 路径4:1-2-3-4-6-7-8-10-11-12 执行路径1(两个判定表达式之值全为真)
输入:A=1, B=1, C=2, D=2(任意) 预期输出:X=2, Y=0 执行路径2(两个判定表达式之值为假、真) 输入: A=0, B=1(任意), C=2, D=0(任意) 预期输出:X=-1, Y=2 执行路径3(两个判定表达式之值为假、真)
输入: A=1, B=0, C=2, D=0(任意) 预期输出:X=1, Y=2 执行路径4(两个判定表达式之值全为真)
输入: A=1, B=1, C=0, D=-1 预期输出:X=2, Y=1 执行路径5(两个判定表达式之值为真、假)
输入: A=1, B=1, C=0, D=2 预期输出:X=2, Y=2
黑盒测试法 实例:
输入三个整数作为三边的边长构成三角形。当此三角形为一般三角形、等腰三角形及等边三角形时,分别做计算…” 分析:输入:三个非零正整数
输出:一般三角形、等腰三角形、等边三角形 有效等价类号无效等价类 号码 型 码 覆盖有效等价类的测试用例: 12 a为非整数 13 一边为非整数 b为非整数 a b c 覆盖等价类号码 输 14 c为非整数 输 1 整数 15 3 4 5 (1)--(7) a,b为非整数 16 两边为非整数 b,c为非整数 入 4 4 5 (1)--(7),(8) 17 a,c为非整数 18 4 5 5 (1)--(7),(9) 三边a,b,c均为非整数 入 19 三 只给a 5 4 5 (1)--(7),(10) 20 只给一边 只给b 21 只给c 4 4 4 (1)--(7),(11) 2 三个数 22 个 只给ab 条 23 只给两边 只给b,c 24 只给ac 第八章 维护 整 25 给出三个以上 件 ? 软件维护的定义P179:所谓软件维护就是在 26 a为0 27 一边为零 b为0 数 软件已经交付使用之后,为了改正错误或满 28 c为0 3 非零数 29 a,b为0 足新的需要而修改软件的过程。 30 二边为零 b,c为0 31 ? 软件维护过程P182 :维护过程本质上是修a,c为0 32 三边a,b,c均为0 改和压缩了的软件定义和开发过程,而且事 33 a<0 实上远在提出一项维护要求之前,与软件维34 一边<0 b<0 35 c<0 护有关的工作已经开始了。 正数 36 a<0且b<0 4 37 ? 进行维护的原因:改正程序中的错误和缺陷;二边<0 a<0且c<0 38 b<0且c<0 39 改进设计以适应新的软、硬件环境;增加新的 三边均<0:a<0且b<0且c<0 5 40 应用范围;为了将来的维护工作。 a+b>c a+b<0 41 输 a+b=0 ? 维护分为以下几类:改正性维护;适应性维6 构成一般 42 b+c>a b+cb a+c