?集成测试,又称为组装测试,就是将软件产品中各个模块组装起来,检查其接口是否存在问题,以及组装后的整体功能、性能表现。在开展集成测试之前,我们进行了深入的单元测试(当然,实际工作中大多公司不会做单元测试,仅有程序员各自检查自己的代码),从个体来讲,可能解决了很多的缺陷,但所有的个体组合起来,就可能出现各种各样的问题。1+1<2?的问题,此刻尤为突出。在单元测试阶段,我们无法发现资源争用、接口调用、时钟延迟等等问题。假如有两个模块A、B,一个数据在A?处处理时因代码问题,延迟了0.01?秒,然后流转到B?模块处理,又延迟了0.01?秒,那么对于个体来讲,可能0.01?秒算不了什么,但当数据流转的环节增加时,相应的延迟时间也在不断的增加,最终的累加数据可能带来非常严重的后果,二战期间的爱国者导弹时间,就给了我们深刻的教训。每个环节的缺陷在最终被放大后,可能会引起软件的失效。所以,单元测试阶段的成果并不能保证集成测试没有问题。采用科学有效的集成测试方法,在软件生产活动中是非常有必要的。
集成测试一般可采用非增式集成方法、增式集成方法(自底向上集成;自顶向下集成;组合方式集成)等策略进行测试,利用以黑盒测试为主,白盒测试为辅的测试方法进行测试。集成测试人员一般有测试工程师担当,开发人员将经过单元测试的代码集成后合成一个新的软件版本,交由配置管理员,然后测试组长会从配置管理员处提取集成好的版本进行测试。就像一个自行车生产线一样,工人将自行车的各个部件先检查,没有问题后再组装成一辆完整的自行车交由质检人员进行检查。软件测试工程师就像这里的质检人员,负责对集成组装后的软件版本进行检测。集成测试阶段主要解决的是各个软件组成单元代码是否符合开发规范、接口是否存在问题、整体功能有无错误、界面是否符合设计规范、性能是否满足用户需求等等。?