让你提前认识软件开发(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,欢迎关注!)

时间: 2024-09-09 17:37:38

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

提前认识软件开发(1) 序言

序言 正式踏上软件开发岗位已经将近两年了,经历了很多,也学到了很多."万事开头难",学生转变为职业人的过程,恰似茧化成蝶的过程. 1.为什么要写作本系列? 在工作的过程中,我发现我们在学校里面学到的很多东西片面肤浅,根本达不到岗位的要求.像编码规范.研发流程等等学校里几乎不提及的知识,在实际的软件开发项目中却恰恰是异常的重要. 在学校里面,我们欠缺的教育主要包括以下方面: 第一,对编码规范的要求.计算机编程课上,老师只要求学生能够编写程序实现既定的功能即可,几乎不会对编码规范提出要求,

让你提前认识软件开发(1):序言

序言           正式踏上软件开发岗位已经将近两年了,经历了很多,也学到了很多."万事开头难",学生转变为职业人的过程,恰似茧化成蝶的过程.          1.为什么要写作本系列?        在工作的过程中,我发现我们在学校里面学到的很多东西片面肤浅,根本达不到岗位的要求.像编码规范.研发流程等等学校里几乎不提及的知识,在实际的软件开发项目中却恰恰是异常的重要.        在学校里面,我们欠缺的教育主要包括以下方面:        第一,对编码规范的要求.计算机编程

让你提前认识软件开发(15):程序调试的利器—日志

第1部分 重新认识C语言 程序调试的利器-日志           如果世界上有一个人能够保证一次写出来的代码是百分之百正确的,那么毫无疑问,他一定是世界上最优秀的程序员,没有之一.为什么要求代码写好过后要进行充分的自测(包括单元测试和集成测试)?就因为是人皆会犯错,是程序就会有bug.作为一名软件开发人员,必须要学会对程序进行测试,也就是要学会程序的调试.          一般而言,对代码的调试有以下几种方法:         第一,凭肉眼看.在开发阶段,我们编写的每一行代码都需要用我们的"

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

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

提前认识软件开发(33) 数据操纵语言(DML)

数据操纵语言(Data Manipulation Language,DML)包括insert.delete和update语句,用于增.删.改数据. 本文用以下的表tb_employeeinfo作为例子加以说明: create table tb_employeeinfo ( employeeno varchar(20) not null, -- 员工工号 employeename varchar(20) not null, -- 员工姓名 employeeage int null -- 员工年龄

提前认识软件开发(16) 如何对程序进行优化

对程序进行优化,是软件开发工程师必然会涉及到的问题.那么为什么要对程序进行优化呢?原因有以下几个: 第一,在原程序基础之上新增.删除或修改了功能,需要改变原程序流程.客户需求随时可能会变化,今天已经实现的功能,说不定明天就要修改或去掉.落实到程序上面,就需要我们随时准备对写好的代码进行修改,而不要奢望写好之后就永远不要动了. 第二,原程序有bug.这类情况出现得非常的频繁,很多软件有1.0.2.0.3.0等版本,部分原因就是前面版本中程序有问题,在修改程序的过程中使得软件版本不断升级. 第三,原

提前认识软件开发(15) 程序调试的利器:日志

如果世界上有一个人能够保证一次写出来的代码是百分之百正确的,那么毫无疑问,他一定是世界上最优秀的程序员,没有之一.为什么要求代码写好过后要进行充分的自测(包括单元测试和集成测试)?就因为是人皆会犯错,是程序就会有bug.作为一名软件开发人员,必须要学会对程序进行测试,也就是要学会程序的调试. 一般而言,对代码的调试有以下几种方法: 第一,凭肉眼看.在开发阶段,我们编写的每一行代码都需要用我们的"火眼金睛"多审查几遍.如果要问,最好的代码调试工具是什么?我认为是人眼.不管是代码还是文档,

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

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

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

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