赞
踩
单元测试是指,对软件中的最小可测试单元在与程序其他部分相隔离的情况下进行检查和验证的工作,这里的最小可测试单元通常是指函数或者类。
单元测试通常由开发工程师完成,一股会伴随开发代码一起递交至代码库。单元测试属于最严格的软件测试手段,是最接近代码底层实现的验证手段,可以在软件开发的早期以最小的成本保证局部代码的质量。另外,单元测试都是以自动化的方式执行,所以在大量回归测试的场景下更能带来高收益。
通常来讲,单元测试的用例是一个“输入数据”和“预计输出”的集合。你需要针对确定的输入,根据逻辑功能推算出预期正确的输出,并且以执行被测试代码的方式进行验证用一句话概括就是“在明确了代码需要实现的逻辑功能的基础上,什么输入,应该产生什么输出”。
对于单元测试来讲,测试用例的“输入数据”和“预计输出”可能远比你想得要复杂得多。(如果你想当然的认为,只有被测试函数的输入函数是“输入数据”的话,那就大错特错了)
以完整的单元测试”输入数据“为例:
如果没有明确的预计输出,那么测试本身就失去了意义。同样地,“预计输出”绝对不是只有函数返回值这么简单,还应该包括函数执行完成后改写的所有数据。具体来看有以下几大类:
对于预计输出值,你必须**严格根据代码的功能逻辑来设定,而不能通过阅读代码来推算预期输出,**否则就是“掩耳盗铃”了。
驱动代码:用来调用被测函数的
桩代码和Mock代码:用来代替被测函数调用的真实代码的。
驱动代码(Driver):指调用被测函数的代码,在单元测试过程中,驱动模块通常包括调用被测函数前的数据准备、调用被测函数以及验证相关结果三个步骤。驱动代码的结构,通常由单元测试的框架决定。
桩代码(Sub):是用来代替真实代码的临时代码。比如,某个函数A的内部实现中调用了一个尚未实现的函数B,为了对函数A的逻辑进行测试,那么就需要模拟一个函数B,为了这个模拟的函数B的实现就是所谓的桩代码。
条件组合覆盖可以发现代码中所有可能的缺陷
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。