软件测试的计划与管理

来源:互联网 发布:淘宝淘口令怎么用 编辑:程序博客网 时间:2024/05/21 21:34

  1、引言

  在工程化的软件研制过程中,软件测试活动贯穿整个软件项目的生存周期;独立的软件测试组织始终与设计/实现/维护组织并行工作;软件测试涉及的人/物/时间甚至可能超过软件项目总消耗的一半以上。因此,软件测试本身就是软件工程中值得专门计划和管理的一项子工程。

  本文将基于一个大型实时软件系统中软件测试的实践,从计划和管理的角度来分析和介绍软件测试的工作框架及其内容;然后讨论在较高层次上计划和管理软件测试时可以进一步分析和研究的内容。

  2、软件测试的工作框架

  软件测试的基本组织原则为:

  a、成立独立的测试组织,以实现第三方测试(IV&V)的要求。

  具体实现时可以采用:专职为主、兼职为辅和交叉测试的策略。

  b、软件测试工程化、规范化。

  包括:统一制订软件测试的方法与规范;重视软件测试文档的编制;明确定义软件测试环境,同时有重点地设计和开发软件测试工具。

  c、实现有效的测试过程管理。

  包括:测试资源(数据与程序)的配置管理;测试/回归测试的自动/半自动化执行;测试报告的自动/半自动化生成。

  d、重视测试结果与测试结果的利用。

  包括:加强结果收集统计和分析;指导软件进展和质量评估。

  根据基本组织原则,软件测试的工作框架包括三个部分:软件测试在软件系统研制过程中的定义(外部联系);软件测试的组织策略(内部结构);软件测试的过程控制(内部联系)。前两部分的定义相对稳定,是软件测试计划与管理的重点,以下分析和介绍其中的内容。

  2.1 软件测试在软件系统研制过程中的定义

  在软件测试工作之初,组织者应与其他有关人员协调,以正确定位以下内容:

  a、软件测试在软件研制中的作用;

  b、软件测试活动与其它软件研制活动的关系;

  c、软件测试的对象;

  d、软件测试组织与软件开发组织界面;

  e、软件更动控制流程。

  2.2 软件测试在软件研制中的作用

  软件测试的意义在于:

  a、发现软件错误;

  b、有效定义和实现软件成分由低层到高层的组装过程;

  c、验证软件是否满足任务书和系统定义文档所规定的技术要求;

  d、为软件质量模型的建立提供依据。

  即软件测试包括“找错”、“组装”、“确认”和“评估”四个层次的作用。

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

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

  2.2.2 软件测试的对象

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

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

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

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

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

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

  2.2.4 软件更动控制规范

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

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

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

  2.3 软件测试的组织策略

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

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

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

  c、软件测试环境;

  d、软件测试产品;

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

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

  2.3.1 软件测试遵循的标准

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

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

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

本文转载自51Testing软件测试网,查看全文:http://www.51testing.com/html/71/n-837571.html