技术开发 频道

单元测试的基本理论

    路径测试:对基本执行路径和循环进行测试会发现大量的错误。根据白盒测试和黑盒测试用例设计方法设计测试用例。设计测试用例查找由于错误的计算、不正确的比较或不正常的控制流而导致的错误。
   
    常见的不正确的计算有:

    · 运算的优先次序不正确或误解了运算的优先次序;

    ·运算的方式错误(运算的对象彼此在类型上不相容);

    · 算法错误;

    · 初始化不正确;
 
    ·运算精度不够;

    ·表达式的符号表示不正确等。

    常见的比较和控制流错误有:

    ·不同数据类型的比较;

    ·不正确的逻辑运算符或优先次序;

    ·因浮点运算精度问题而造成的两值比较不等;

    · 关系表达式中不正确的变量和比较符;

    ·“差1错”,即不正确地多循环或少循环一次;

    ·错误的或不可能的循环终止条件;

    ·当遇到发散的迭代时不能终止循环;

    ·不适当地修改了循环变量等。

    错误处理测试:比较完善的模块设计要求能预见出错的条件,并设置适当的出错处理对策,以便在程序出错时,能对出错程序重新做安排,保证其逻辑上的正确性。这种出错处理也是模块功能的一部分。表明出错处理模块有错误或缺陷的情况有:

    · 出错的描述难以理解;

    ·出错的描述不足以对错误定位和确定出错的原因;

    · 显示的错误与实际的错误不符;

    ·对错误条件的处理不正确;

    ·在对错误进行处理之前,错误条件已经引起系统的干预;

    ·如果出错情况不予考虑,那么检查恢复正常后模块可否正常工作。

    边界测试:边界上出现错误上常见的。设计测试用例检查:

    ·在n次循环的第0次、1次、n次是否有错误;

    · 运算或判断中取最大最小值时是否有错误;
 
    ·数据流、控制流中刚好等于、大于、小于确定的比较值时是否出现错误。
 

    测试的环境构成

    何时进行单元测试?单元测试在编码阶段进行。在源程序代码编制完成、经过评审和验证、确认没有语法错误之后,就可以开始进行单元测试的测试用例设计。要利用软件设计文档,设计可以验证程序功能、找出程序错误的多个测试用例。

    对于每一组输入,应该有预期的正确结果。在单元测试时,如果模块不是独立的程序,需要辅助测试模块,有两种辅助模块:

    驱动模块(Driver):所测模块的主程序。它接收测试数据,把这些数据传递给所测试模块,最后再输出测试结果。当被测试模块能完成一定功能时,也可以不要驱动模块。

    桩模块(Stub):用来代替所测模块调用的子模块。

0
相关文章