3、路径测试:对基本执行路径和循环进行测试会发现大量的错误。根据白盒测试和黑盒测试用例设计方法设计测试用例。设计测试用例查找由于错误的计算、不正确的比较或不正常的控制流而导致的错误。
1)常见的不正确的计算有:
① 运算的优先次序不正确或误解了运算的优先次序;
② 运算的方式错误(运算的对象彼此在类型上不相容);
③ 算法错误;
④ 初始化不正确;
⑤ 运算精度不够;
⑥ 表达式的符号表示不正确等。
一个案例:火箭爆炸
1996年6月4日欧洲阿丽亚娜系列火箭Ariane-5 发射后仅仅37秒,火箭偏离它的飞行路径,解体并爆炸。火箭上载有价值5亿美元的通信卫星,6亿美元付之一炬。
原因:将一个64位浮点数转换成16位有符号整数时,产生了溢出。
2)常见的比较和控制流错误有:
① 不同数据类型的比较;
② 不正确的逻辑运算符或优先次序;
③ 因浮点运算精度问题而造成的两值比较不等;
④ 关系表达式中不正确的变量和比较符;
⑤ “差1错”,即不正确地多循环或少循环一次;
⑥ 错误的或不可能的循环终止条件;
⑦ 当遇到发散的迭代时不能终止循环;
⑧ 不适当地修改了循环变量等。