软件测试课堂练习

更新时间:2023-07-27 00:17:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

软件测试课堂练习---等价划分测试; ---基本路径测试。

习题1

设有一个档案管理系统,要求用户输入以年月表示的 日期。假设日期限定在1990年1月~2049年12月,并 规定日期由6位数字字符组成,前4位表示年,后2位

表示月。现用等价类划分法设计测试用例,来测试程序的“日期检查功能”。

习题1解答:1)划分等价类并编号,下表等价类划分的结果输入等价类 有效等价类 无效等价类

日期类型及长度

①6位数字字符

②有非数字字符 ③少于6位数字字符 ④多于6位数字字符

年份范围

⑤ 在 1990 至 2049 ⑥小于1990 之间 ⑦大于2049 ⑧在01至12之间 ⑨等于00 ⑩大于12

月份范围

习题1解答:2)设计测试用例,以便覆盖所有的有效等价类在表中列出了3个有 效等价类,编号分别为①、⑤、⑧,设计的测试用例如下: 测试数据 200211 测试数据 95June 20036 2001006 198912 205001 200100 200113 期望结果 输入有效 覆盖的有效等价类 ①、⑤、⑧ 覆盖的无效等价类 ② ③ ④ ⑥ ⑦ ⑨ ⑩

3)为每一个无效等价类设计一个测试用例,设计结果如下:期望结果 无效输入 无效输入 无效输入 无效输入 无效输入 无效输入 无效输入

习题2下面是选择排序的程序,其中 datalist 是数据表,它有两个数据成员:一是元素类型为 Element的数组 V,另一个是数组大小 n。算法中用到两个操作,一是取某数组元素 V[i]的关键码操作getKey ( ),一是交换两数组元素内容的操作Swap( ):: void SelectSort ( datalist & list ) { //对表list.V[0]到list.V[n-1]进行排序, n是表当前长度。 for ( int i = 0; i < list.n-1; i++ ) { int k = i; // 在 list.V[i].key 到 list.V[n-1].key 中找具有最小关键 码的对象 for ( int j = i+1; j < list.n; j++) if ( list.V[j].getKey ( ) < list.V[k].getKey ( ) ) k = j; // 当 前具最小关键码的对象 if ( k != i ) Swap ( list.V[i], list.V[k] ); // 交 换 } } (1) 试计算此程序段的McCabe复杂性; (2) 用基本路径覆盖法给出测试路径; (3) 为各测试路径设计测试用例。

习题2解答:(1)流程图如下,McCabe环路复杂性 = 5

习题2解答:(2)独立路径有5条:

①③①②⑤⑧… ①②⑤⑨…

①②④⑥…①②④⑦… (3)为各测试路径设计测试用例:

路径①③:取n = 1路径①②⑤⑧……:取n = 2, 预期结果:路径⑤⑧③不可达 路径①②⑤⑨……:取n = 2, 预期结果:路径⑤⑨③不可达

习题2解答:路径①②④⑥⑤⑧③:

取n = 2, V[0] = 2, V[1] = 1, 预期结果:k = 1, V[0] = 1, V[1] = 2路径①②④⑥⑤⑨③: 取n = 2, V[0] = 2, V[1] = 1, 预期结果:k = 1, 路径⑨③不可达

路径①②④⑦⑤⑧③:取n = 2, V[0] = 1, V[1] = 2, 预期结果:k = 0, 路径⑧③不可达 路径①②④⑦⑤

⑨③:

取n = 2, V[0] = 1, V[1] = 2, 预期结果:k = 0, V[0] = 1, V[1] = 2

本文来源:https://www.bwwdw.com/article/lp1m.html

Top