对于代码的单元测试,可以笼统的分为黑盒测试和白盒测试两部分。
一、黑盒测试
黑盒测试又称功能测试或者基于需求的测试。
主要的测试方法包括边界值分析法、等价类划分法、错误推断法等
边界值分析法:根据以往经验,大多数问题发生在数据的边界处。使用该方法需要,第一:确定测试单元输入信号的边界值;第二:用正等于边界值、略小于边界值、略大于边界值编写测试用例进行测试。
等价类划分法:把输入信号的范围分为若干子集,在每个子集中选取有少量有代表性的数据编写测试用例
错误推断法:根据经验分析,那些场景或者工况容易产生问题,针对性的设置用例进行测试
黑盒测试过程中边界值分析法是必不可少的,也是查找问题能力最强的。其次可以辅助使用等价类划分法编写一些用例。最后使用错误推断法补充一些用例。
二、白盒测试
白盒测试又称结构测试或者逻辑驱动的测试。
在白盒测试又分为静态分析和动态分析两类。
静态分析是指不运行待测试的程序,通过代码检测、静态结构分析等通过工程师的逻辑思维去检查代码是否存在问题的方法。
动态分析是指运行待测试程序进行测试的方法统称。
白盒测试的目的:
a 对程序模块的所有独立的执行路径至少测试一次
b 对所有的逻辑判定,取“真”与取“假”的两种情况都至少测试一次
c 在循环的边界和运行界限内执行循环体
d 测试内部数据结构的有效性等
后两条不太理解,还请高手指点
做单元测试时,覆盖度是衡量测试是否全面的,是否可靠的关键指标。覆盖度分为语句覆盖、判定覆盖、条件覆盖、判定\条件覆盖
语句覆盖(Statement Coverage):设计测试用例,使被测程序中的每个语句至少被执行一次
判定覆盖(Decision Coverage,DC):又叫分支覆盖,要求程序中的每个判断的每个可能结果都应该被执行一次,即每个分支的“真”和“假”至少被执行一次。
条件覆盖(Condition Coverage,CC):程序中每个判定的每个条件的所有可能值至少执行一次
改进判定\条件覆盖(Modified Conditon and Decision Coverage,MC/DC):要求设计足够的测试用例,判定的每个条件的所有可能必须出现至少一次,并且每个判定的每个条件要独立地影响判定结果。
版权归原作者 kebidaixu 所有, 如有侵权,请联系我们删除。