2.2.1 软件测试活动与其它软件研制活动的关系

  软件测试是软件质量管理活动之一;软件测试组织通过软件配置管理组织获得其测试对象:软件产品(文档/代码/文件)或其中间形式;软件测试结果通过软件配置管理组织返回给软件开发组织;测试结果是软件质量控制的数据来源之一。

  2.2.2 软件测试的对象

  在大型软件系统中,软件成分被划分为多个层次。所有参加测试的人员都应了解其面对的软件系统的构成,同时清楚自己实现哪些部分、哪些方面的测试。

  各类系统定义文档是软件测试的依据,它们定义了各层次软件成分的功能/性能/实现的要求。必要时,测试组织者应及时汇集、整理、完善软件系统的成分树/森林,明确各层次软件成分的具体内容。当然,这部分信息也可能由其它组织提供。

  2.2.3 软件测试组织与软件开发组织的界面

  软件测试组织与软件开发组织的界面指:软件开发组织完成编码、调试、集成后通过软件配置管理组织移交给软件测试组织的软件成分的层次,简称“软件测试界面”。

  对低于软件测试界面的软件成分进行的排错的过程一般被称为“软件调试”;而对高于软件测试界面的软件成分进行的找错的过程被称为“软件测试”,其修改的过程被称为“软件更动”。

  一旦软件成分被提交到配置管理库中,则对其的修改必须遵循软件更动控制规范,将涉及不少人员,媒体转移较频繁,软件修改周期也较长。因此代码的测试不应过分依赖于测试组织,即:开发组织提交的软件成分应足够稳定。为了减少整个软件测试过程(发现问题—改动软件)的人力/物力/时间的消耗,测试组织与开发组织应达成共识:尽可能提高软件测试界面。定义较高软件测试界面的益处还在于:有利于开发组织更加主动关注其软件开发过程的质量控制;同时,还有利于测试组织集中时间和资源来执行软件高层测试(功能/性能的确认)。

  2.2.4 软件更动控制规范

  软件测试的对象是已置于软件配置管理控制之下的软件成分(程序、数据、文档及各类受控的文件)。软件更动控制是软件配置管理的主要任务之一。

  当软件开发/测试/维护人员发现软件问题(与软件配置管理项相关的软件错误、软件不一致或未知原因的软件异常状态)时,须填写软件问题报告,按照软件更动控制流程/算法,进入软件更动循环,产生相应的软件更动申请/报告。因此软件更动控制规范应包含:软件更动控制流程/算法、软件问题报告和软件更动申请/报告的格式。

  由于软件更动控制与软件回归测试的内在联系紧密,因此测试组织应参与制订软件更动控制规范,以使该规范能在适用于系统的前提下更节省软件研制的总消耗。

  2.3 软件测试的组织策略

  在软件测试的管理中,以下内容的定义反映测试工作的组织策略:

  a、软件测试遵循的标准;

  b、软件测试的工作范畴;

  c、软件测试环境;

  d、软件测试产品;

  e、适用于软件测试活动的软件资源标识规则;

  f、软件测试的进度安排。

  2.3.1 软件测试遵循的标准

  组织者在指定范围内选择软件测试遵循的标准,并结合本软件系统的具体要求,使之贯彻到整个软件测试的计划、实现和管理过程之中。根据标准,需要被明确的内容包括:测试阶段和测试文档类型。

  可以从三个角度来划分测试阶段:面向测试操作类型的阶段划分、面向测试操作对象的阶段划分、面向测试实施者的阶段划分。测试操作类型包括:调试、集成、确认、验证、组装、验收、操作等。测试操作对象可以是:单元、部件、配置项、子系统、系统等。测试实施者可以是:开发者、测试者、使用者、验收者等。各类标准从不同角度定义测试评审阶段,而测试组织者可以在符合所选标准的同时,结合多个划分因素规定本系统的测试阶段。

  各标准规定的测试文档类型也不尽相同。如国标《软件产品开发文件编制指南》规定了两类测试文档:测试计划、测试分析报告;国标《计算机软件测试文件编制规范》定义了八类测试文档:测试计划、测试设计说明、测试用例说明、测试规程说明、测试项传递报告、测试日志、测试事件报告、测试总结报告;《XXXX软件工程化技术文件》定义了三类测试文档:测试计划、测试说明、测试报告。我们认为后这种规定较易操作:因为,太少的测试文档类型不利于有步骤有层次地定义测试内容,也不利于测试用例和测试例程的良好表达;太多的测试文档类型易使测试组织陷入到繁杂的文档规范和编制中去;而第三种定义较为适中。其中:测试计划在系统分析/设计阶段提交,着重定义测试的资源、范围、内容、安排、通过准则等;测试说明在测试计划明确后开始编制,针对软件需求和设计要求具体定义测试用例和测试规程;测试报告分析和总结测试结果,测试日志是其必要附件。