集成测试指南

1 测试对象和目的

1.  1  测试对象

软件集成测试的对象包括:

a)  任意一个软件单元集成到计算机软件系统的组装过程;

b)  任意一个组装得到的软件系统。

1. 2  测试目的

      软件集成测试的目的是检验软件单元之间、软件单元和已集成的软件系统之间的接口关系,并验证已集成软件系统是否符合设计要求。

2  测试的组织和管理

      软件集成测试一般由软件供方组织并实施,测试人员与开发人员应相对独立,也可委托第三方进行软件集成测试。软件集成测试的工作产品一般应纳入软件的配置管理中。

      软件集成测试的技术依据是软件设计文档(或称软件结构设计文档)。其测试工作的准入条件应满足待集成的软件单元已通过单元测试。

3  技术要求

软件集成测试一般应符合以下技术要求:

a)  应对已集成软件进行必要的静态测试,并先于动态测试进行;

 b)  软件要求的每个特性应被至少一个正常的测试用例和一个被认可的异常测试用例覆盖。

c) 测试用例的输入应至少包括有效等价类值、无效等价类值和边界数据值;

d) 应采用增量法,测试新组装的软件;

e) 应逐项测试软件设计文档规定的软件的功能、性能等特性;

f) 应测试软件之间、软件和硬件之间的所有接口;

g) 应测试软件单元之间的所有调用,达到100%的测试覆盖率;

h) 应测试软件的输出数据及其格式;

i) 应测试运行条件(如数据结构、输入/输出通道容量、内存空间调用频率等)在边界状态下而在人为设定的状态下,软件的功能和性能;

j)  应按设计文档要求,对软件的功能、性能进行强度测试;

k)  对完整性级别高的软件,应对其进行安全性分析,明确每个危险状态和导致危险的可能原因,并对此进行针对性的测试。

       对具体的软件,可根据软件测试合同(或项目计划)及软件的重要性、完整性级别对上述内容进行裁剪。

4  测试内容

4.1  总则

      当对已集成软件进行必要的静态测试时,所测试的内容与选择的静态测试方法有关。

               当动态测试时。本标准从全局数据结构及软件的适合性、准确性、互操作性、容错性、时间特性、资源利用性这几个软件质量子特性方面考虑。确定测试内容。对具体的软件。应根据软件测试合同(或项目计划)、软件设计文档的要求及选择的测试方法来确定测试的具体内容。

4.2  全局数据结构

     可测试全局数据结构的完整性。包括数据的内容、格式.并对内部数据结构对全局数据结构的影响进行测试。

4.3  适合性方面

    从适合性方面考虑,应对软件设计文档分配给已集成软件的每一项功能逐项进行测试。

4.4  准确性方面

      从准确性方面考虑。可对软件中具有准确性要求的功能和精度要求的项(如:数据处理精度、时间控制精度、时间测量精度)进行测试。

4.5  互操作性方面

      在互操作性方面,可考虑测试以下两种接口:所加入的软件单元与已集成软件之间的接口;已集成软件与支持其运行的其他软件、例行程序或硬件设备的接口。对接口的输入和输出数据的格式、内容、传递方式、接口协议等进行测试。

     测试软件的控制信息,如。信号或中断的来源,信号或中断的目的。信号或中断的优先级,信号或中断的表示格式或表示值。信号或中断的最小、最大和平均频率。响应方式和响应时间等。

4.6  容错性方面

      在容错性方面,可考虑测试已集成软件对差错输入、差错中断、漏中断等情况的容错能力,并考虑通过仿真平台或硬件测试设备形成一些人为条件,测试软件功能、性能的降级运行情况。

4.7  时间特性方面

     在时间特性方面,可考虑测试已集成软件的运行时间,算法的最长路径下的计算时间。

4.8  资源利用性方面   

      在资源利用性方面。可考虑测试软件运行占用的内存空间和外存空间。

5  测试环境

       测试环境应包括测试的运行环境和测试工具环境。

       测试的运行环境一般应符合软件测试合同(或项目计划)的要求,通常是开发环境或仿真环境。

 测试工具一般要求是经过认可的工具。

6  测试方法

       软件集成测试一般应采用静态测试方法和动态测试方法。静态测试方法常采用静态分析、代码走查等方法,动态测试方法常采用白盒测试方法和黑盒测试方法。通常,静态测试先于动态测试进行。

        在由软件单元和已集成软件组装成新的软件时,应根据软件单元和已集成软件的特点选择便于测试的组装策略。

7  测试过程

7.1  测试策划

      测试分析人员应根据测试合同(或项目计划)和被测试软件的设计文档(含接口设计文档)对被测试软件进行分析,并确定以下内容:

 a)  确定测试充分性要求。根据软件的重要性和完整性级别,确定测试应覆盖的范围及每一范围所要求的覆盖程度。

b) 确定测试终止的要求。指定测试过程正常终止的条件(如,是否达到测试的充分性要求),并确定导致测试过程异常终止的可能情况(如,软件接口错误)。

c) 确定用于测试的资源要求。包括软件(如操作系统、编译软件、静态分析软件、测试数据产生软件、测试结果获取和处理软件、测试驱动软件等)、硬件(如计算机、设备接口等)、人员数量、人员技能等。

d) 确定需要测试的软件特性。根据软件设计文档(含接口设计文档)的描述确定软件的功能、性能、状态、接口、数据结构、设计约束等内容和要求,对其标识。若需要,将其分类。并从中确定需测试的软件特性。

e) 确定测试需要的技术和方法,如,测试数据生成和验证技术、测试数据输入技术、测试结果获取技术、增量测试的组装策略。

f)  根据测试合同(或项目计划)的要求和被测软件的特点,确定测试准出条件。

g)  确定由资源和被测软件决定的软件集成测试活动的进度。

h)  对测试工作进行风险分析与评估,并制订应对措施。

        根据上述分析研究结果,编写软件集成测试计划。

       应对软件集成测试计划进行评审。评审测试的范围和内容、资源、进度、各方责任等是否明确。测试方法是否合理、有效和可行,风险的分析、评估与对策是否准确可行,测试文档是否符合规范,测试活动是否独立。当测试活动由被测软件的供方实施时,软件集成测试计划的评审应纳入被测试软件的概要设计阶段评审。在软件集成测试计划通过评审后,进入下一步工作;否则。需要重新进行软件集成测试的策划。

7.2  测试设计

     测试设计工作由测试设计人员和测试程序员完成,一般根据软件集成测试计划完成以下工作:

a) 设计测试用例。将需测试的软件特性分解,针对分解后的每种情况设计测试用例。每个测试用例的设计应符合4.5的要求。

b) 获取测试数据,包括获取现有的测试数据和生成新的数据,并按照要求验证所有数据。

c) 确定测试顺序。可从资源约束、风险以及测试用例失效造成的影响或后果几个方面考虑。

d) 获取测试资源。对于支持测试的软件,有的需要从现有的工具中选定,有的需要开发。

e)  编写测试程序,包括开发测试支持工具,集成测试的驱动模块和桩模块。

f)  建立和校准测试环境。

g)  编写软件集成测试说明。

       应对软件集成测试说明进行评审。评审测试用例是否正确、可行和充分,测试环境是否正确、合理,测试文档是否符合规范。当测试活动由被测软件的供方实施时,软件集成测试说明的评审应纳入软件开发的阶段评审。在软件集成测试说明通过评审后,进入下一步工作;否则,需要重新对软件集成测试进行设计和实现。

7.3  测试执行

       执行测试的工作由测试员和测试分析员完成。

       测试员的主要工作是执行软件集成测试计划和软件集成测试说明中规定的测试项目和内容。在执行过程中,测试员应认真观察并如实地记录测试过程、测试结果和发现的差错,认真填写测试记录(参见第C.2章)。

 测试分析员的工作主要有如下两方面:

 a)  根据每个测试用例的期望测试结果、实际测试结果和评价准则判定该测试用例是否通过。如果不通过,测试分析员应认真分析情况,并根据以下情况采取相应措施:

1)  软件集成测试说明和测试数据的差错。采取的措施是:改正差错,将改正差错信息详细记录,然后重新运行该测试。

2)  执行测试步骤时的差错。采取的措施是:重新运行未正确执行的测试步骤。

3)  测试环境(包括软件环境和硬件环境)中的差错。采取的措施是:修正测试环境,将环境修正情况详细记录,重新运行该测试;若不能修正环境。记录理由,再核对终止情况。

4)  软件的实现差错。采取的措施是:填写软件问题报告,可提出软件修改建议,然后继续进行测试;或者把差错与异常终止情况进行比较。核对终止情况。软件变更完毕后。应根据情况对其进行回归测试。

5)  软件的设计差错。采取的措施是:填写软件问题报告单,可提出软件修改建议,然后继续进行测试;或者把差错与异常终止情况进行比较,核对终止情况。软件变更完毕后,应根据情况对其进行回归测试或重新组织测试,回归测试中需要相应地修改测试设计和数据。

 b)  当所有的测试用例都执行完毕,测试分析员要根据测试的充分性要求和失效记录,确定测试工作是否充分,是否需要增加新的测试。当测试过程正常终止时,如果发现测试工作不足,应对软件进行补充测试(具体要求见7.2和7.3),直到测试达到预期要求,并将附加的内容记录在软件集成测试报告中:如果不需要补充测试。则将正常终止情况记录在软件集成测试报告中。当测试过程异常终止时。应记录导致终止的条件、未完成的测试和未被修正的差错。

7.4  测试总结

       测试分析员应根据被测软件的设计文档(含接口设计文档)、集成测试计划、集成测试说明、测试记录和软件问题报告单等,分析和评价测试工作,一般包括下面几项工作:

 a)  总结软件集成测试计划和软件集成测试说明的变化情况及其原因,并记录在软件集成测试报告中;   

 b)  对测试异常终止情况。确定未能被测试活动充分覆盖的范围。并将理由记录在测试报告中;

 c)  确定未能解决的软件测试事件以及不能解决的理由。并将理由记录在测试报告中;

 d)  总结测试所反映的软件代码与软件设计文档(含接口设计文档)之间的差异。记录在测试报告中;

e)  将测试结果连同所发现的出错情况同软件设计文档(含接口设计文档)对照,评价软件的设计与实现,提出软件改进建议,记录在测试报告中;

f)  编写软件集成测试报告,该报告应包括测试结果分析、对软件的评价和建议;

g)  根据测试记录和软件问题报告单编写测试问题报告。

 应对集成测试执行活动、软件集成测试报告、测试记录和测试问题报告进行评审。评审测试执行活动的有效性、测试结果的正确性和合理性。评审是否达到了测试目的、测试文档是否符合要求。当测试活动由被测试软件的供方实施时。评审由软件供方组织。软件需方和有关专家参加;当测试活动由独立的测试机构实施时,评审由软件测试机构组织,软件需方、供方和有关专家参加。

8  文档

 软件集成测试完成后形成的文档一般应有

 a)  软件集成测试计划;

b)  软件集成测试说明;

c)  软件集成测试报告;

d)  软件集成测试记录和/或测试日志;

e)  软件集成测试问题报告。

可根据需要对上述文档及文档的内容进行裁剪。

你可能感兴趣的:(系统测试)