单元测试
单元测试指对代码的最小单元进行测试,对于不同的语言,单元有不同的定义,要根据实际情况来判定:
C语言中单元:一个函数或子过程
Java语言中单元:一个类
图形化软件单元:一个窗口或一个菜单
C++等面向对象语言:基本为一个类
Ada语言单元:独立过程或函数
单元测试即指的是对软件中的最小可测试单元进行检查和验证。是最低级别的测试活动。
开发者会编写一小段测试代码来检验自己某个特定函数的功能,来检查代码是否会按预期进行,形成习惯,会写出高质量的代码,也会提高编码水平。
集成测试
集成测试是单元测试的逻辑扩展,单元测试覆盖了所有的最小单元,但集成测试依旧是不可或缺的,单元内部没有问题,但把许多单元组合成组件后,局部无法反映出的问题,在全局上很有可能暴露出来,所以集成测试也叫做组装测试或联合测试。
集成测试组合的单元一定要是已经测试过的单元,不然集成测试的效果会受很大的影响。纠错也会产生更大的代价,集成测试采用的方法就是测试软件单元的组合能否正常工作,测试它们之间的接口等问题。
单元测试和集成测试的比较:
出发点相同,都是为了保证项目的健壮性,可靠性,正确性。
不同点:(1)检查时机:单元测试是在软件编码前期
集成测试是在系统即将开发完毕再测试
(2)测试目的:单元测试是程序员自身的检测,是对类的功能进行测试
集成测试仅关注输入输出,是向客户提供质量保证
(3)测试工具:单元测试可以使用自动测试框架,要写测试代码。
集成测试需要更多人协调,测试重点会放在业务处理和性能上
(4)测试粒度:单元测试是在单只程序上
集成测试是在整个系统上
集成测试比单元测试规模大,消耗资源多,消耗时间长。
下面简单介绍一下系统测试和验收测试:
系统测试:对最终软件系统进行全面测试,将已经测试过的子系统装配成一个完整系统,检验其功能是否与说明书相符。
验收测试:是向未来的用户表明系统能够像预期要求的那样工作,是部署软件之前的最后一个操作。