让你提前认识软件开发(48):集成测试

第3部分 软件研发工作总结

集成测试

【文章摘要】

一般的软件研发项目均涉及到多模块和多功能。在各个模块实现其功能之后,把相关模块结合起来进行集成测试以验证整个系统是否满足需求是很有必要的。

本文以作者的实际项目经验为背景,描述了集成测试的整个过程,并对集成测试过程中的一些常见问题进行了简单的介绍。

1. 前言

大部分软件开发人员在工作过程中可能都会有这样的经历:明明在自己模块中实现得好好的功能,一旦和其它模块结合就会出现问题。因此,集成测试就显得很重要。这就有点像很多国内的标准与国际标准不统一一样,当我们走出国门之前,一定要确保自己是按照国际标准在做事情,这也省去了之后的很多麻烦。

作者从事的很多软件项目都包含了许多模块,功能复杂。在各部分完成其预定功能之后,将所有模块合在一起进行集成测试,不仅能够发现本模块的不足,还能够验证整个系统的功能能否满足客户的要求。集成测试是如此的重要,以至于在项目的研发过程中,它是必不可少的一环。

本文对集成测试的整个过程进行了详细的描述,并对测试过程中的一些注意事项和常见问题进行了简单的描述。

2. 项目的总体架构和逻辑模块

本文所举例子的总体架构和逻辑模块如图1所示。

图1 总体架构和逻辑模块图

如图1所示,本系统涉及到4个部分:AAA模块、BBB模块、CCC模块和数据库。AAA模块、BBB模块、CCC模块完成相对独立的功能,但它们都要和数据库打交道。

由此可见,该系统涉及到的模块较多、功能较为复杂,需要通过集成测试来验证总体功能能否达到客户的要求。

3. 集成测试的操作过程

集成测试操作过程与现场实际的测试过程没有什么两样。在测试之前,要保证系统所需的模块都成功搭建,相关的配置文件中的各个配置项都填写正确。

本次集成测试的操作流程如图2所示。

图2 集成测试的操作流程

如图2所示,整个操作流程是一环扣一环。当某一步操作失败之后,整个集成测试即宣告失败。为了确保系统功能的正确性,可以对之进行多次集成测试,每次都用不同的数据。此外,在测试过程中,若发现问题,要及时更改后再测试。

4. 集成测试常见问题及其解答

在集成测试过程中,常见的问题及解答如下:

        1) 某一个模块的功能执行失败,一定是该模块存在问题吗?

答:不一定。由于是对整个系统进行测试,那么一个模块有问题,就同样需要对其它模块也进行检查。

        2) 集成测试过程中发现了问题,改随便一个模块都可以,那么如何确定应该修改哪一个模块呢?

答:一般说来,哪个改动起来最容易就改哪个,我们需要坚持的原则是变化最小、影响最小。

        3) 如何确定集成测试的步骤?

答:有两种方法,一是按照需求来测试,二是按照系统执行流程来测试。建议选择第二种方法,这样显得更加有条理性,可以验证整个流程是否正确。

5. 总结

本文主要介绍了实际软件项目中集成测试的整个过程,并对测试过程中的常见问题进行了分析和解答。

集成测试的主要目的是保证代码的质量,进而确保系统和产品的质量。开发人员在编写完代码之后,一定要对代码和系统进行充分的测试,以减少后续修改所带来的麻烦。

(本人微博:http://weibo.com/zhouzxi?topnav=1&wvr=5,微信号:245924426,欢迎关注!)

让你提前认识软件开发(48):集成测试,布布扣,bubuko.com

时间: 2024-08-05 13:15:10

让你提前认识软件开发(48):集成测试的相关文章

让你提前认识软件开发(40):既要写好代码,又要写好文档

第3部分 软件研发工作总结 既要写好代码,又要写好文档 对于软件相关行业,在学校或单位上,大家也许都已经注意到了,除了要编写的程序.绘制设计图之外,还有一个重要的工作便是写文档.为什么要写文档呢?因为我们要把自己做的东西展示出来,不光展示给同行看,可能还要展示给其他岗位上的工作人员看,甚至展示给用户看.如果我们只是会写程序,不会在文档中描述自己的想法,那么就真正的成为"码农"了. 工作也有一段时间了,我发现周围的同事,会写高质量文档的确实很少.李开复老师在<浪潮之巅>的序言

让你提前认识软件开发(47):同行评审

第3部分 软件研发工作总结 同行评审 在<浪潮之巅>这本书中,吴军老师描述了在Google早期的工作方式,其中有一段是这么写的:我一般会在吃完晚饭后把代码修改的清单发给克雷格做代码审核,他一般晚上10点左右会回复我,给我修改意见,详细到某一行多了一个空格. 吴军老师所描述的内容,其实就是软件开发中的同行评审流程. 几乎在所有的软件项目中,都需要同行评审.一个人不管能力多强,看问题的角度总会受到限制,写出来的程序和文档等定不会是十全十美的.如果能够让懂行的同事给参阅一下,并提出他们认为正确的意见

让你提前认识软件开发---学长的软件开发经验总结(19)

第1部分 重新认识C语言 C语言中的协议及单元测试示例 [文章摘要] 在实际的软件开发项目中,经常要实现多个模块之间的通信,这就需要大家约定好相互之间的通信协议,各自按照协议来收发和解析消息. 本文以实际的程序代码为例,详细介绍了如何用C语言来实现通信协议,并基于对协议字段的判断,说明了程序单元测试的过程,为相关的开发工作提供了有益的参考. [关键词] 软件开发  协议  单元测试  C语言  字段 一.软件模块之间的协议 什么是软件模块之间的协议?不同的软件模块之间要实现相互通信,就必须遵循共

让你提前认识软件开发(41):编程时首先达到正确性,其次考虑效率

第3部分 软件研发工作总结 编程时首先达到正确性,其次考虑效率 在实际的软件开发项目中,经常会遇到产品开发周期很短的问题.也就是说,开发人员需要在"质量"和"速度"之间做出权衡.具体到程序代码,就存在到底是先考虑实现功能(即保证程序的正确性),还是要一步到位把事情做好(即保证程序的正确性的同时,兼顾其效率)? 在网上,有关这方面的讨论也非常的多.微软亚洲研究院研究员刘未鹏老师写过一篇文章<编程的首要原则>(http://mindhacks.cn/2009

让你提前认识软件开发(38):完成第一个新需求

第3部分 软件研发工作总结 完成第一个新需求 在入职后不久,我得到了第一个新任务:完成某个版本的一个新需求.所谓的"需求",就是用文档的形式告诉我们要做什么,要实现什么功能. 在得到需求文档之后,我仔仔细细地阅读了好几遍,发现有些地方自己并不是很明白.如果在自己都不是很确定的情况下修改代码,其后果是很严重的,项目经理曾经这样告诫我.我把自己的疑惑以邮件的形式发给了SE(系统工程师),让他把需求讲明白.在我们公司,SE负责写需求,他们要把用户想要实现的功能写成文档,然后让软件开发工程师来

让你提前认识软件开发(46):首先是为人编写程序,其次才是计算机

第3部分 软件研发工作总结 首先是为人编写程序,其次才是计算机 "首先是为人编写程序,其次才是计算机",这是软件开发的基本要点,软件的生命周期贯穿于产品的开发.测试.生产.发布.用户使用.版本升级和后期维护等长期过程中,只有易读.易维护的软件代码才具有生命力. 在实际的软件开发过程中,可能是由于工作很忙的原因,很多开发人员只注重实现程序的基本功能,而忘记了编程规范,因此写出来的代码只能让计算机看懂,人要看懂很不容易.更有甚者,有些项目组为了赶进度,明确要求组员以实现产品功能为主,代码能

让你提前认识软件开发(45):代码的第一印象

第3部分 软件研发工作总结 代码的第一印象 我们都很注重给别人的第一印象,也有很多书籍教我们怎样给别人留下一个美好印象的.确实,如果我们第一眼看到某个人,就觉得很不爽,那么一定会在心理上产生抵触,以后再见到他,会有一种疏远的感觉.也正因为如此,当今社会交往中的"面子工程"很重要,不管怎样,先撑足了自己的脸面再说. 代码也一样,也会给别人留下或好或差的印象.当我们看到优美的代码时,会有一种想继续研究下去的欲望,甚至会有一种觉得很享受的感觉.相反,当我们看到丑陋的代码时,就会咬牙切齿,因为

让你提前认识软件开发(44):如何解决软件故障?

第3部分 软件研发工作总结 如何解决软件故障? 在软件产品的运营维护阶段,软件工程师的一项重要工作就是解决软件的bug.在学校的时候,大家学完一门课程,然后考试通过就万事大吉了.但在实际的软件开发项目中,将软件成功交付给客户,只是"万里长征走完了第一步",后面还有大量的工作要做,例如:解决软件故障.新增功能.版本升级等.作为一名合格的软件工程师,一定要学会准确.迅速地解决软件出现的各种问题. 为什么解决软件问题的能力如此重要?因为软件项目的成功率不容乐观.国内某IT公司对本公司内软件项

让你提前认识软件开发(20):如何在C语言里面执行SQL语句?

[文章摘要] 在通信类软件中,程序经常需要与数据库打交道.为了实现诸如从数据库中获取数据.更新数据库表某字段.插入或删除某条数据等功能,就需要在C语言程序中构造一些SQL语句,并用函数来执行这些SQL语句. 本文介绍如何在C语言程序中构造并执行SQL语句,为相关软件开发工作的开展提供了参考. [关键词] SQL语句  C语言  程序  流程  开发 一.为什么要在C语言程序中执行SQL语句? 在C语言程序中执行SQL语句的原因有以下几个: (1) 程序需要获取数据库中某数据表的字段值,并对这些字