1、整不清楚。整个系统的总测试要等全部程序设计结束且能连续测试时才可进行。个系统的总测试要等全部程序设计结束且能连续测试时才可进行。在在本本讲讲中中您您能了解如下能了解如下主要知识点主要知识点:系统测试的目标与任务系统测试的目标与任务系统测试方法;系统测试方法;系统测试过程;系统单元测试;系统集成测试;系统测试文档资料。系统测试的目标与任务系统测试的目标与任务 系统测试目标系统测试目标测试为软件工程师提供了一个既兴奋又担心的问题,兴奋测试为软件工程师提供了一个既兴奋又担心的问题,兴奋的是将软件工程师们的抽象概念提出的构造软件,现在得以的是将软件工程师们的抽象概念提出的构造软件,现在得以实现,并且到
2、了测试阶段。担心的是,软件在测试过程会出实现,并且到了测试阶段。担心的是,软件在测试过程会出现哪些问题?尤其是自己编制的那一部份会不会给整个系统现哪些问题?尤其是自己编制的那一部份会不会给整个系统带来影响?如果别人编的程序都没有问题,就是带来影响?如果别人编的程序都没有问题,就是“我我”编的编的程序出了问题,那又是多么的难看等等。其实系统测试不是程序出了问题,那又是多么的难看等等。其实系统测试不是针对哪一个人的,而是从整个系统出发,考查设计是否合理,针对哪一个人的,而是从整个系统出发,考查设计是否合理,任何一个人都不能把所有问题考虑得面面俱到,总是或多或任何一个人都不能把所有问题考虑得面面俱到
3、,总是或多或少地发生差错。对系统而言,就不能有差错。所以测试是非少地发生差错。所以测试是非常重要的。测试可以说就是常重要的。测试可以说就是“寻找错误寻找错误”,特点是寻找不经,特点是寻找不经常出现的错误。尽量把系统中隐藏着的错误消灭在调试期间,常出现的错误。尽量把系统中隐藏着的错误消灭在调试期间,测试还要对系统的容错能力、操作错误进行测试。通过测试测试还要对系统的容错能力、操作错误进行测试。通过测试要达到这样的一个目的,寻找问题,发现问题,纠正错误,要达到这样的一个目的,寻找问题,发现问题,纠正错误,提高系统技术能力,使系统早日投入运行。提高系统技术能力,使系统早日投入运行。系统测试任务系统测
4、试任务系统测试阶段有几方面的任务:系统测试阶段有几方面的任务:制定测试大纲;制作测试数据;程序测试;功能测试;子系统测试;系统测试;系统接口测试:写出测试报告书:向下阶段工作提交系统运行、维护手册的草案。制定测试大纲制定测试大纲测试大纲是测试工作的依据,主要有:测试大纲是测试工作的依据,主要有:检查每个模块在程序设计中是否已测试过,测试检查每个模块在程序设计中是否已测试过,测试的数据和输出结果是否正确?的数据和输出结果是否正确?检查每个子系统和功能在程序设计中是否已测试检查每个子系统和功能在程序设计中是否已测试过,测试的数据和输出结果是否正确?过,测试的数据和输出结果是否正确?检查上一阶段交来
5、的工作文档是否齐全?确定本阶段测试目标。制定本阶段测试内容。编写向下阶段工作提交的文档资料。制作测试数据制作测试数据数据制作好坏,直接影响系统测试的结果,制作数据制作好坏,直接影响系统测试的结果,制作测试数据时应注意:测试数据时应注意:由用户和程序管理组的人员制作,程序编码人员不应介入。要尽可能多的提供数据,供检测。尤其是交接口数据。提供的数据应分三类:没错误的数据,以检查功能实现。各种各机关报错误数据各种各机关报错误数据,以检查程序对错误数据处以检查程序对错误数据处理能力。理能力。提供程序与程序交接口数据(正确的、不正确的)提供程序与程序交接口数据(正确的、不正确的),以检查交接口情况。,以
6、检查交接口情况。系统测试方法系统测试方法系统的测试方法有两种,即用试题检查和用新旧两个系统作平系统的测试方法有两种,即用试题检查和用新旧两个系统作平行处理检查。行处理检查。用试题检查法用试题检查法此方法是先建立输入数据的模型,并事先用手工求得其预计此方法是先建立输入数据的模型,并事先用手工求得其预计输出,然后送入模型,与新系统所得结果进行核对,进行测输出,然后送入模型,与新系统所得结果进行核对,进行测试。试。这种场合,模型数据通常利用实际上已发生的数据,但有时这种场合,模型数据通常利用实际上已发生的数据,但有时也可能另外编制大量测试专用数据。用试题测试的方法在小也可能另外编制大量测试专用数据。
7、用试题测试的方法在小规模系统中较易实现而在大规模系统中,要用这各方法检查规模系统中较易实现而在大规模系统中,要用这各方法检查所有程序的全部变化很为困难,有时几乎是不可能的,在这所有程序的全部变化很为困难,有时几乎是不可能的,在这种情况下,不能一下子完成所有的运行测试,而要用划分得种情况下,不能一下子完成所有的运行测试,而要用划分得较细的输入模型,按各个子系统进行测试,尤其是要设法分较细的输入模型,按各个子系统进行测试,尤其是要设法分成三种处理,即基本特殊处理和出错处理,作出相应于各个成三种处理,即基本特殊处理和出错处理,作出相应于各个流程的数据模型。其中,基本处理最好是始终连贯地进行测流程的数
8、据模型。其中,基本处理最好是始终连贯地进行测试。试题要作各种改变,直至取得满意的结果。用新旧两个系统作平行处理检查用新旧两个系统作平行处理检查这一步检查是系统最后的测试,此阶段一结束,这一步检查是系统最后的测试,此阶段一结束,就进入系统的全面实施。不论旧系统是手工作就进入系统的全面实施。不论旧系统是手工作业还是计算机处理,本方法都通过旧系统的处业还是计算机处理,本方法都通过旧系统的处理结果与新系统的结果相比较进行检查。这种理结果与新系统的结果相比较进行检查。这种平均处理的时间视业务内容而定,短则平均处理的时间视业务内容而定,短则23个个月,长则半年至一年。它不仅可防止向新系统月,长则半年至一年
9、。它不仅可防止向新系统转换时产生混乱,也可以作为测试新系统可靠转换时产生混乱,也可以作为测试新系统可靠性的考机时间。在此期间,不只限于计算机范性的考机时间。在此期间,不只限于计算机范围的检查,还应检查手工作业和人的因素方面围的检查,还应检查手工作业和人的因素方面的问题,改正不合理的部分。的问题,改正不合理的部分。在讨论新旧两系统所得到的结果时,要明确新在讨论新旧两系统所得到的结果时,要明确新旧系统的不同点。当结果不一致时,不能武断旧系统的不同点。当结果不一致时,不能武断地认为总是新系统出错,还必须考虑是否旧系地认为总是新系统出错,还必须考虑是否旧系统的错误。统的错误。对试题平行处理所得结果的对
10、试题平行处理所得结果的检查应重视以下各项:请参检查应重视以下各项:请参见见出版社出版社电子政务系统电子政务系统建设与实施建设与实施(2007.)第第1版版的第的第9章图章图9-1 输入数据输入数据要注意新旧两系统中所用数据是否通用,要注意新旧两系统中所用数据是否通用,做过部分修订的数据在修订处是否正确。做过部分修订的数据在修订处是否正确。特别是新开始用计算机处理的系统,数据特别是新开始用计算机处理的系统,数据的项目与旧的手工作业相比通常变化较大,的项目与旧的手工作业相比通常变化较大,所以要应对代码的内容和添加、修订及删所以要应对代码的内容和添加、修订及删除的项目作充分的检查。新系统中所用的除的
11、项目作充分的检查。新系统中所用的所有数据应是事先校验过的正确数据。所有数据应是事先校验过的正确数据。程序程序尽管输入数据是正确的,但如果处理数据尽管输入数据是正确的,但如果处理数据的程序有错,仍是徒劳。因此要查看程序的程序有错,仍是徒劳。因此要查看程序是否正确地满足程序说明书中所说的所有是否正确地满足程序说明书中所说的所有条件。此时,若分为区域、常数、输入处条件。此时,若分为区域、常数、输入处理、基本处理、输出处理及特殊处理后进理、基本处理、输出处理及特殊处理后进行检查,可迅速而正确地完成任务。行检查,可迅速而正确地完成任务。程序说明书程序说明书程序说明书的内容是程序设计的依据,所程序说明书的
12、内容是程序设计的依据,所以必须正确完整。尤其是因机种更替而变以必须正确完整。尤其是因机种更替而变更系统时,可作出添加、修订和删除一览更系统时,可作出添加、修订和删除一览表,写明旧系统程序说明书和新系统程序表,写明旧系统程序说明书和新系统程序说明书的处理条件、处理内容、代码及项说明书的处理条件、处理内容、代码及项目等等,突出两者的不同之处。目等等,突出两者的不同之处。此外,也可考虑用两个程序进行测试的方法。由此外,也可考虑用两个程序进行测试的方法。由两组程序员对同一处理分别编制完全相同的程序,两组程序员对同一处理分别编制完全相同的程序,然后核对两者结果。此法主要用于测试象技术计然后核对两者结果。
13、此法主要用于测试象技术计算之类程序中找不到可比较结果的新程序。不过算之类程序中找不到可比较结果的新程序。不过若两个程序的结果一致,固然可知正确,若结果若两个程序的结果一致,固然可知正确,若结果不一致,就不能判断何者正确,因为缺乏基准。不一致,就不能判断何者正确,因为缺乏基准。这种方法的费用也高这种方法的费用也高,不能算是一种好的方法,但不能算是一种好的方法,但对于没有其它测试方法的业务来说,或许也只能对于没有其它测试方法的业务来说,或许也只能如此。如此。由于测试技术的发展,出现了多种测试,如自项由于测试技术的发展,出现了多种测试,如自项向下地测试,自底向上整体测试,整体测试方法向下地测试,自底
14、向上整体测试,整体测试方法有黑箱测试法、白箱测试法等。我们在系统测试有黑箱测试法、白箱测试法等。我们在系统测试中所使用的方法,都兼而有之,希望读者能给予中所使用的方法,都兼而有之,希望读者能给予评价。评价。系统测试过程系统测试过程 系统的一般测试过程用图系统的一般测试过程用图9-2 表示。请参见表示。请参见出版社出版社电电子政务系统建设与实施子政务系统建设与实施(2007.)第第1版的第版的第9章图章图9-2 系统测试实际上是顺序实现四个步骤的序系统测试实际上是顺序实现四个步骤的序列。最初,测试集中在每个单独的模块,列。最初,测试集中在每个单独的模块,保证它作为一个单元测试。其次,必须将保证它作