专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »软件工程 » 软件Software测试计划:软件Software测试的计划和管理 »正文

软件Software测试计划:软件Software测试的计划和管理

来源: 发布时间:星期四, 2009年2月12日 浏览:52次 评论:0


1 引言... 12 软件Software测试工作框架... 1

2.1 软件Software测试在软件Software系统研制过程中定义... 2

2.2 软件Software测试在软件Software研制中作用... 2

2.2.1 软件Software测试活动和其它软件Software研制活动关系... 2

2.2.2 软件Software测试对象... 2

2.2.3 软件Software测试组织和软件Software开发组织界面... 2

2.2.4 软件Software更动控制规范标准... 3

2.3 软件Software测试组织策略... 3

2.3.1 软件Software测试遵循标准... 3

2.3.2 软件Software测试工作范畴... 3

2.3.3 软件Software测试环境... 4

2.3.4 软件Software测试产品... 4

2.3.5 适用于软件Software测试活动软件Software资源标识规则... 4

2.3.6 软件Software测试进度安排... 4

3 结论和讨论... 4

3.1 软件Software测试重点... 4

3.2 软件Software测试难点... 5

3.3 软件Software测试步涵义... 5

3.3.1 软件Software测试本质... 5

3.3.2 软件Software静态分析技术... 5

3.3.3 软件Software测试质量... 5

3.3.4 软件Software测试可信度... 6

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

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

2 软件Software测试工作框架
软件Software测试基本组织原则为:

a.成立独立测试组织以实现第 3方测试(IV&V)要求

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

b.软件Software测试工程化、规范标准化

包括:统制订软件Software测试思路方法和规范标准;重视软件Software测试文档编制;明确定义软件Software测试环境同时有重点地设计和开发软件Software测试工具

c.实现有效测试过程管理

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

d.重视测试结果和测试结果利用

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

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



2.1 软件Software测试在软件Software系统研制过程中定义
在软件Software测试工作的初组织者应和其他有关人员协调以正确定位以下内容:

a. 软件Software测试在软件Software研制中作用;

b. 软件Software测试活动和其它软件Software研制活动关系;

c. 软件Software测试对象;

d. 软件Software测试组织和软件Software开发组织界面;

e. 软件Software更动控制流程

2.2 软件Software测试在软件Software研制中作用
软件Software测试意义在于:

a. 发现软件Software

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

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

d. 为软件Software质量模型建立提供依据

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

2.2.1 软件Software测试活动和其它软件Software研制活动关系
图1描述了软件Software研制过程中各种活动输入/输出关系可以看到:软件Software测试是软件Software质量管理活动的;软件Software测试组织通过软件Software配置管理组织获得其测试对象:软件Software产品(文档/代码/文件)或其中间形式;软件Software测试结果通过软件Software配置管理组织返回给软件Software开发组织;测试结果是软件Software质量控制数据来源的

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

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

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

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

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

2.2.4 软件Software更动控制规范标准
由图1知:软件Software测试对象是已置于软件Software配置管理控制的下软件Software成分(、数据、文档及各类受控文件)软件Software更动控制是软件Software配置管理主要任务的

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

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

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

a.软件Software测试遵循标准;



b.软件Software测试工作范畴;

c.软件Software测试环境;

d.软件Software测试产品;

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

f.软件Software测试进度安排

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

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

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

2.3.2 软件Software测试工作范畴
软件Software测试工作包括两个层次:

a. 测试工作组织和管理包括:制定测试思路方法和规范标准、控制测试进度、管理测试资源

b. 测试工作实施包括:编制符合标准测试文档、研制测试环境、和开发组织协作实现各阶段测试活动

软件Software测试工作可以分为 4个方面:

a.测试管理测试小组是质量保证组织个成分因此测试管理工作应被置于软件Software质量管理工作范围内

b.测试计划独立测试组织负责定义软件Software测试思路方法和规范标准开发组织负责编制单元测试计划和介绍说明;测试组织主要负责编制其它各测试阶段测试计划和介绍说明

c.测试实施测试实施组织作用是:按测试计划和测试介绍说明定义对测试对象进行相应测试;填写测试报告中相应表格

d.测试评审依据软件Software测试评审准则在各测试阶段评审时提交类型完整测试文档

2.3.3 软件Software测试环境
软件Software测试环境包括设计环境、实施环境和管理环境

软件Software测试设计环境指:编制测试计划/介绍说明/报告及和测试有关文件所基于软/硬件设备和支持

软件Software测试实施环境指:对软件Software系统进行各级测试所基于软/硬件设备和支持测试实施环境包括被测软件Software运行平台和用于各级测试工具

软件Software测试管理环境指:管理测试资源所基于软/硬件设备和支持测试资源指测试活动所利用或产生有形物质(如软件Software、硬件、文档)或无形财富(如人力、时间、测试操作等)广义测试管理环境包含测试设计环境、测试实施环境和专门测试管理工具

对软件Software测试环境定义包括两个方面:折衷需求和实际条件来选择已有测试工具;有重点地自行开发测试辅助工具软件Software测试必须依托工具以便:测试过程自动/半自动执行和测试结果自动/半自动评审和报告目前市场上测试工具分为 3类:代码分析工具、自动/半自动测试过程管理工具和测试资源管理工具

2.3.4 软件Software测试产品
软件Software测试工作所产生文档、、服务、以及相关文件总和称的为软件Software测试产品它是软件Software产品部分

除了所选标准规定在各评审阶段需提交测试文档外还可以根据实际情况编制其它类型软件Software测试文档

测试组织需提交是其开发测试工具及其测试环境

测试组织提供服务包括:培训和技术支持包括为开发组织使用测试工具和环境提供帮助、为开发组织提供测试计划/介绍说明/报告编写指导、协助开发组织实施相应测试;协调和建议包括在充分理解软件Software系统工作原理和流程基础上为软件Software系统质量保证工作提供尽可能多信息

2.3.5 适用于软件Software测试活动软件Software资源标识规则
测试者除了要统给出各类测试文档标识(或定义规则)还要定义其它测试文件如文档审查项列表、代码审查项列表、软件Software审查报告、软件Software问题报告、软件Software更动申请、软件Software更动报告、软件Software测试日志标识

软件Software测试组织应获得或自行整理其所面对软件Software系统中各级软件Software成分对应文档/文件/代码标识另外测试组织自行开发测试辅助工具也将置入配置管理库因此对其标识定义应符合整个软件Software系统标识定义规则

2.3.6 软件Software测试进度安排
软件Software测试工作是整个软件Software研制工作部分因此测试进度初步安排应在软件Software开发计划中定义在各阶段测试计划中将对测试进度安排给出更具体定义

软件Software测试实施开始时间将受限于软件Software开发进度;每个测试阶段进度控制将受限于测试资源(人/物/时间)

软件Software测试组织者可以在每个月末向软件Software质量管理组织提交:本月<测试工作活动汇总>、下<测试工作初步安排>和当前状态测试文档以利于软件Software质量管理组织评估软件Software系统质量、控制软件Software系统测试进度



3 结论和讨论


3.1 软件Software测试重点
软件Software测试重点是:

a. 测试用例和测试例程良好设计测试用例及测试例程设计是整个软件Software测试工作核心测试用例反映对被测对象质量要求决定对测试对象质量评估

b. 测试工作管理尤其是对包含多个子系统大型软件Software系统其测试工作涉及大量人力和物力有效测试工作管理是保证有效测试工作必要前提

c. 测试环境建立软件Software测试工作量很大重复/繁杂劳动很多在有限测试条件下建立测试环境、提供测试辅助工具是减少软件Software研制费用重要措施



3.2 软件Software测试难点
软件Software测试难点在于:

a. 测试用例及测试例程是其设计者对被测对象实现原理和外部需求理解能否正确反映对被测对象质量要求很大程度上取决于其设计者分析、理解和设计能力这是种缺乏指导性思路方法、不易制订标准或规范标准、需要“窍门技巧”设计活动

b. 目前缺乏测试管理方面资料几乎没有可供参考、已实现、完整测试管理和测试实施模式

c. 软件Software测试有效实施需要开发组织和测试组织充分配合虽然测试活动看似是对开发人员劳动成果不断“挑剔”但测试工作出发点是:确保开发人员劳动成果成为可被接收、更高品质软件Software产品因此测试人员应向开发人员谦虚求教在测试工作中真正发挥作用为保证软件Software产品高质量起尽可能大作用测试组织者应在促进上级组织协调各组织工作方面发挥作用

d. 有效测试工作需要投入足够人力和物力需要对工作难度和消耗有充分估计测试组织者也应在促进上级组织对资源调度方面发挥作用

3.3 软件Software测试步涵义
步分析和研究以下内容会更有利于软件Software测试组织者在较高层次上计划和管理软件Software测试工作

3.3.1 软件Software测试本质
软件Software测试本质是对比和模拟(仿真)检验软件Software是否有错或是否满足要求两个前提是:存在预期参考;存在软件Software运行环境

理想软件Software研制过程是:每阶段软件Software产品和前阶段软件Software产品在逻辑上等价其蕴涵了个假设:尽管每个阶段描述方式区别但其描述内容都是精确、完全这个假设在实际软件Software工程中是不容易满足因此不能期望理想软件Software研制过程

更广义软件Software测试指:软件Software研制中某两个阶段工作结果对比

3.3.2 软件Software静态分析技术
相对软件Software动态测试技术(亦称计算机测试技术)审查会(Inspection)、人工运行(或叫走查Walkthrough)和静态检验(Desk checking )等软件Software静态分析技术是在软件Software研制较早阶段对非形式化软件Software产品人工测试方式如对文档-文档静态分析(需求介绍说明和结构设计对比)或对文档-代码静态分析(详细设计和源代码对比)

在软件Software静态分析技术中软件Software(文档/代码)“运行环境”是在人头脑中模拟生成

强调软件Software静态分析技术原因在于:越早期软件Software描述越不易形式化其“隐含”语义越多其等价转换到下阶段描述难度越大

静态分析技术主要用来发现本阶段产品缺陷但当发现前面阶段软件Software产品问题时就要填写软件Software问题报告遵循软件Software更动控制规范标准

3.3.3 软件Software测试质量
通过对比应用软件Software测试技术可以发现以下 3类软件Software问题:

a. “即:前阶段导出语义为A本阶段导出语义为B而A1B

b.“缺少”即:前阶段导出语义为A本阶段无此导出语义

c.“多余”即:本阶段导出语义为B阶段无此导出语义

发现第类软件Software问题过程即谓“找错”发现后两类软件Software问题过程即谓“确认”设计不周密测试用例可能并不能区分这 3类软件Software问题

软件Software测试本身质量在于:其提供有关软件Software产品质量信息含量发现软件Software问题并能区分其类型软件Software测试被称为是优质

3.3.4 软件Software测试可信度
软件Software测试结果是衡量软件Software产品质量依据但软件Software测试依据、设计和操作可靠性又由什么来保证呢?因而软件Software测试结果本身就带有可信度相信软件Software测试结果前提是:认可测试设计者/实现者/实施者能力和责任感同时认可其所依赖测试工具可靠性

在ISO 9001标准中规定:任何测试工具所参考标准都不应低于使用它软件Software项目标准对于所选购测试工具可以获得生产商提供质量认证;对于自行开发测试辅助工具测试组织可以遵循标准提供研制测试辅助工具全部开发/测试文档以提高其提供测试结果可信度




0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: