软件测试作业.
软件测试作业
第1题
设有一个档案管理系统,要求用户输入以年月表示的日期。假设日期限定在1990年1月~2049年12月,并规定日期由6位数字字符组成,前4位表示年,后2位表示月。现用等价类划分法设计测试用例来测试程序的日期检查功能。
1)划分等价类并编 ,下表为等价类划分结果
输入等价类有效等价类无效等价类日期的类型及长度①6位数字字符②有非数字字符
③少于6位数字字符
④多于6位数字字符年份范围⑤在1990~2049之间⑥小于1990
⑦大于2049月份范围⑧在01~12之间于00p>
⑩大于122)设计测试用例,以便覆盖所有的有效等价类在表中列出了3个有效等价类,编 分别为①、⑤、⑧,设计的测试用例如下:
测试数据 期望结果 覆盖的有效等价类
200211 输入有效 ①、⑤、⑧
3)为每一个无效等价类设计一个测试用例,设计结果如下:
测试数据期望结果覆盖的无效等价类95June无效输入②20036无效输入③2001006无效输入④198912无效输入⑥200401无效输入⑦200100无效输入⑨200113无效输入⑩第2题
用基本路径测试法进行测试,为以下程序段设计测试用例。
void Sort(int iRecordNum, int iType)
{
int x=0;
int y=0;
while (iRecordNum–>0)
{
if(0==iType)
{
x=y+2;
break;
}
else
if(1==iType)
x=y+10;
else
x=y+20;
}
}
第一步:程序流程图和程序控制流图
画出其程序流程图和对应的控制流图如下:
第二步:计算圈复杂度
有以下三种方法计算圈复杂度:
A 流图中区域的数量对应于环型的复杂性;
2-3-4-5-9-2 2-3-6-7-2 6-7-2-8-6
V(G)=3+1
B给定流图G的圈复杂度V(G),定义为V(G)=E-N+2,E是流图中边的数量,N是流图 中结点的数量; V(G)=E-N+2=11-9+2=4
C 给定流图G的圈复杂度V(G),定义为V(G)=P+1,P是流图G中判定结点的数量V(G)=3+1=4
第三步:导出测试用例
根据上面的计算方法,可得出四个独立的路径。(一条独立路径是指,和其他的独立路径相比,至少引入一个新处理语句或一个新判断的程序通路。V(G)值正好等于该程序的独立路径的条数。
路径1:2-9
路径2:2-3-4-5-9
路径3:2-3-6-7-2-9
路径4:2-3-6-8-2-9
根据上面的独立路径,去设计输入数据,使程序分别执行到上面四条路径。
第四步:准备测试用例
为了确保基本路径集中的每一条路径的执行,根据判断结点给出的条件,选择适当的数据以保证某一条路径可以被测试到,满足上面例子基本路径集的测试用例是:
路径1:2-9
输入数据:iRecordNum=0,或者取iRecordNum
预期结果:x=0
路径2:2-3-4-5-9
输入数据:iRecordNum=1,iType=0
预期结果:x=2
路径3:2-3-6-7-2-9
输入数据:iRecordNum=1,iType=1
预期结果:x=10
路径4:2-3-6-8-2-9
输入数据:iRecordNum=1,iType=2
预期结果:x=20
第3题
用逻辑覆盖法为以下程序段设计测试用例
int logicExample(int x, int y)
{
int magic=0;
if(x>0 && y>0)
{
magic = x+y+10; // 语句块1
}
else
{
magic = x+y-10; // 语句块2
}
if(magic
{
magic = 0; // 语句块3
}
return magic; // 语句块4
}
一、语言覆盖
测试用例:
{x=3, y=3}可以执行到语句块1和语句块4,所走的路径:a-b-e-f
{x=-3, y=0}可以执行到语句块2、语句块3和语句块4,所走的路径:a-c-d-f
二、判定覆盖
两个判断(x>0 && y>0
相关资源:maven项目的pom.xml_maven项目pox文件为空也没有maven结构-Java…
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!