二、边界值分析法
使用边界值分析方法设计测试用例,首先:应确定边界情况。通常输入和输出等价类的边界,是应着重测试的边界情况。其次,应但选取正好等于、刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。
基于边界值分析方法选择测试用例的原则:
1.    如果输入条件规定了值的范围,应取刚达到这个范围的边界值,以及刚刚超过这个范围边界的值作为测试输入的数据。
2.    如果输入条件规定了值的个数,应用大个数、小个数、比小个数少一、比大个数多一的数作为测试输入的数据。
3.    根据规格说明的每个输出条件,使用前面的原则1。
4.    根据规格说明的每个输出条件,使用前面的原则2。
5.    如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和后一个元素作为测试用例数据。
6.    如果程序中使用了一个内部数据结构,应当选择这个内部数据结构边界上的值作为测试用例。
7.    分析规格说明,找出其他可能的边界条件。

三、错误推测法
错误推测法是根据经验和直觉推测程序中所有可能存在的各种错误,从而有针对性地设计测试用例的方法。
基本思路:列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例。例如:输入数据和输出数据为0的情况。
例:现有一个学生标准化考试批阅试卷,产生成绩报告的程序。其规格说明如下:程序的输入文件由一些有80个字符的记录组成,所有记录分为3组,如图:
 
 
1、标题:改组只有一个记录,其内容是成绩报告的名字。
2、各题的标准答案:每个记录均在第80个字符处标以数字2。该组的记录:
第一个记录:第1~3个字符为试题数(1~999)。第10~59个字符是1~50题的标准答案(每个合法字符表示一个答案)。
第二个记录:是第51~100题的标准答案。
…….
3、学生的答案:每个记录均在第80个字符处标以数字3。每个学生的答卷在若干个记录中给出。
学号:1~9个字符
1~50题的答案:10~59。当大于50题时,在第二、三、……个记录中给出。
学生人数不超过200,试题数不超过999。
程序的输出有4个报告:
a)按学号排列的成绩单,列出每个学生的成绩、名次。
b)按学生成绩排序的成绩单。
c)平均分数及标准偏差的报告
d)试题分析报告。按试题号排序,列出各题学生答对的百分比。
  解答一:采用边界值分析方法,分析和设计测试用例。分别考虑输入条件和输出条件,以及边界条件。下表列出了输入条件及相应的测试用例。
 
下表为输出条件及相应的测试用例表。
 
   解答二:采用错误推测法还可补充设计一些测试用例:
1.    程序是否把空格作为回答
2.    在回答记录中混有标准答案记录
3.    除了标题记录外,还有一些的记录后一个字符即不是2也不是3
4.    有两个学生的学号相同
5.    试题数是负数。

四、 因果图法
  因果图法是一种适合于描述对于多种条件的组合、相应产生多个动作的形式的测试用例设计方法。
利用因果图生成测试用例的基本步骤:
  1.    分析软件规格说明描述中那些是原因,那些是结果,并给每个原因和结果赋予一个标识符。
  2.    分析软件规格说明描述的语义。找出原因和结果之间、原因和原因之间的关系,根据这些关系,画出因果图。
  3.    在因果图上用一些记号表明约束或限制条件。
  4.    把因果图转换为判定表。
  5.    把判定表的每一列拿出来作为依据,设计测试用例。
  例:第一列字符必须是A或B,第二列字符必须是一个数字,在此情况下进行文件的修改,但如果第一列字符不正确,则给出信息L;如果第二列字符不是数字,则给出信息M。
解:
  1、画出因果关系表和因果图。
  2、根据因果图建立判定表。
按条件的各种组合情况产生对应的动作。原因1和原因2不能同时成立,故可排除这种情况。
从判定表可设计出测试用例:6个测试用例是所需的数据。