测试用例怎么写代码( 三 )

第二步:根据本例的实际情况,在黑盒法中首先可用等价分类法划分输入的等价类,然后用边界值分析法和猜错法作补充 。等价分类法: 有效等价类 输入3个正整数: (1)3数相等 (2)3数中有2个数相等,比如AB相等 (3)3数中有2个数相等,比如BC相等 (4)3数中有2个数相等,比如AC相等 (5)3数均不相等 (6)2数之和不大于第3数,比如最大数是A (7)2数之和不大于第3数,比如最大数是B (8)2数之和不大于第3数,比如最大数是C 无效等价类: (9)含有零数据 (10)含有负整数 (11)少于3个整数 (12)含有非整数 (13)含有非数字符 边界值法: (14)2数之和等于第3数 猜错法: (15)输入3个零 (16)输入3个负数 第三步:提出一组初步的测试用例,如下表所示: 第四步:用白盒法验证第三步产生的测试用例的充分性 。
结果表明,上表中的前8个测试用例,已能满足对被测程序图的完全覆盖,不需要再补充其他的测试用例 } 。
6.如何编写单元测试用例一、单元测试的概念 单元通俗的说就是指一个实现简单功能的函数 。
单元测试就是只用一组特定的输入(测试用例)测试函数是否功能正常,并且返回了正确的输出 。测试的覆盖种类 1.语句覆盖:语句覆盖就是设计若干个测试用例,运行被测试程序,使得每一条可执行语句至少执行一次 。
2.判定覆盖(也叫分支覆盖):设计若干个测试用例,运行所测程序,使程序中每个判断的取真分支和取假分支至少执行一次 。3.条件覆盖:设计足够的测试用例,运行所测程序,使程序中每个判断的每个条件的每个可能取值至少执行一次 。
4.判定——条件覆盖:设计足够的测试用例,运行所测程序,使程序中每个判断的每个条件的每个可能取值至少执行一次,并且每个可能的判断结果也至少执行一次 。5.条件组合测试:设计足够的测试用例,运行所测程序,使程序中每个判断的所有条件取值组合至少执行一次 。
6.路径测试:设计足够的测试用例,运行所测程序,要覆盖程序中所有可能的路径 。用例的设计方案主要的有下面几种:条件测试,基本路径测试,循环测试 。
通过上面的方法可以实现测试用例对程序的逻辑覆盖,和路径覆盖 。二、开始测试前的准备 在开始测试时,要先声明一下,无论你设计多少测试用例,无论你的测试方案多么完美,都不可能完全100%的发现所有BUG,我们所需要做的是用最少的资源,做最多测试检查,寻找一个平衡点保证程序的正确性 。
穷举测试是不可能的 。所以现在进行单元测试我选用的是现在一般用的比较多的基本路径测试法 。
三、开始测试 基本路径测试法:设计出的测试用例要保证每一个基本独立路径至少要执行一次 。函数说明 :当i_flag=0;返回 i_count+100当i_flag=1;返回 i_count *10否则 返回 i_count *20输入参数:int i_count , int i_flag输出参数: int i_return; 代码: 1 int Test(int i_count, int i_flag)2 {3 int i_temp = 0; 4 while (i_count>0)5 {6 if (0 == i_flag)7 {8 i_temp = i_count + 100; 9 break; 10 }11 else12 {13 if (1 == i_flag)14 {15 i_temp = i_temp + 10; 16 }17 else18 {19 i_temp = i_temp + 20; 20 }21 }22 i_count--; 23 }21 }22 i_count--; 23 }24 return i_temp; 25 } 1.画出程序控制流程图 圈中的数字代表的是语句的行号,也许有人问为什么选4,6,13,8 。
作为结点,第2行,第3行为什么不是结点,因为选择结点是有规律的 。
让我们看程序中;第2行,第3行是按顺序执行下来的 。直到第4行才出现了循环操作 。
而2,3行没有什么判断,选择等分支操作,所以我们把2,3,4全部合并成一个结点 。其他的也是照这个规则合并,然后就有了上面的流程图 。