单元测试、集成测试、系统测试有什么区别
1、粒度不同:
集成测试bai粒度居中,单元测试粒度最小,系统du测试粒度最大。
2、测试方式不同:
集成测试一般由开发zhi小组采用白盒加黑盒的方式来测试,单元测试一般由开发小组采用白盒方式来测试,系统测试一般由独立测试小组采用黑盒方式来测试。
3、测试内容不同:
集成测试既验证“设计”,又验证“需求”,单元测试主要测试单元是否符合“设计”,系统测试主要测试系统是否符合“需求规格说明书”。
4、使用阶段不同:
单元测试为开发人员在开发阶段要做的事情,集成测试和系统测试为测试人员在测试周期内级层做的工作。
测试类型 | 对象 | 目的 | 测试依据 | 测试方法 |
单元测试 | 模块内部的程序错误 | 消除局部模块的逻辑和功能上的错误和缺陷 | 模块逻辑设计、模块外部说明 | 大量采用白盒测试方法 |
集成测试 | 模块间的集成和调用关系 | 找出与软件设计相关的程序结构,模块调用关系,模块间接口方面的问题 | 程序结构设计 | 结合使用白盒和黑盒方法构造测试用例 |
系统测试 | 整个系统,包括系统中的硬件等 | 对整个系统进行一系列的整体、有效性测试 | 系统结构设计,目标说明书,需求说明书等 | 黑盒测试 |
扩展--三者的联系:
单元测试是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。
通常而言,一个单元测试是用于判断某个特定条件下某个特定函数的行为。例如,你可能把一个很大的值放入一个有序list 中去,然后确认该值出现在list 的尾部。或者,你可能会从字符串中删除匹配某种模式的字符,然后确认字符串确实不再包含这些字符了。
集成测试是单元测试的逻辑扩展。它最简单的形式是:把两个已经测试过的单元组合成一个组件,测试它们之间的接口。从这一层意义上讲,组件是指多个单元的集成聚合。
在现实方案中,许多单元组合成组件,而这些组件又聚合为程序的更大部分。方法是测试片段的组合,并最终扩展成进程,将模块与其他组的模块一起测试。最后,将构成进程的所有模块一起测试。此外,如果程序由多个进程组成,应该成对测试它们,而不是同时测试所有进程。
系统测试是将经过集成测试的软件,作为计算机系统的一个部分,与系统中其他部分结合起来,在实际运行环境下对计算机系统进行的一系列严格有效地测试,以发现软件潜在的问题,保证系统的正常运行。