【摘要】TestDirector是Mercury
Interactive公司推出的基于WEB的测试管理工具。它能够指导进行测试需求定义、测试计划、测试执行和缺陷跟踪,即整个测试过程的各个阶段。通过整合所有任务到软件测试中,来使整个测试管理工作更有效,并确保客户收到更高质量的产品。
【关键词】需求定义测试计划测试执行缺陷跟踪需求树测试计划树测试集
Part II需求定义
你应该通过定义测试需求来开始整个应用程序的测试过程。需求详细地描述了在你的应用程序中哪些需要被测试,为测试组提供了整个测试过程的基础。
通过定义这些需求,你能够更好地聚焦于商业需要并对测试进行计划和管理。需求与测试和缺陷关联,从而确保整个过程可追溯并能帮助整个过程的决策。
本章描述了怎样使用TestDirector需求模块来定义测试需求。需求定义工作流包括如下过程:
在使用TestDirector之前,首先确保你已经有一个存放测试数据的工程。关于创建工程的更进一步信息,请参考《TestDirector管理员手册》(TestDirector
Administrator’s Guide)。
定义测试范围
测试组通过收集所有对应用程序测试有用的文档开始整个测试工作,例如收集市场和商务需求文档、系统需求说明书和设计文档等。
使用这些文档您可以对应用程序的测试方面作一个全面彻底的了解,并以此为基础来确定你的测试范围——测试目的、目标和策略(Goal、Objective、Strategy)。
在确定测试范围之前应该先问一下自己,如下几个问题:
- 应用程序的主要目的和方向是什么?
- 应用程序有哪些主要特点?
- 哪些功能在这个产品中是相对重要的?
- 在应用程序中,哪些功能是危急的或高风险的?
- 你的测试优先级是什么?
- 你的客户或最终用户是否同意你的测试优先级?
- 你总的质量目标是什么?
创建测试需求大纲
质量保证的管理人员用测试范围为应用程序的测试定义所有的测试需求。它们先定义测试主题,并将各个测试主题指派给测试组内的各个QA测试人员。然后每一个QA测试人员将自己所负责的测试主题记录到TestDirector工程上。
需求主题是通过创建需求树记录在需求模块里。此需求树是以图表的方式形象地描述了你的需求说明书,并显示了不同级别需求的等级关系。
举个例子,假设一个航班预定软件,它能够让你去管理航班调度、旅客登记和机票销售。QA管理人员可能会定义他主要的测试需求为:登陆操作、数据库操作、传真发送操作、安全性能力检查、图形和报表操作、UI检查操作和帮助。对于完整的例子,请查看TestDirector_Demo工程。
关于创建需求树的更进一步信息,请看第8章的“开发需求树”(Developing the Requirements
Tree)。
定义需求
对于每一个需求主题,QA均应该创建相应的详细测试需求列表。例如,Application Security需求主题可能会被分解为如下的需求:
在需求树中的每一个需求均要求被详细描述,并且应该包括所有与需求相关的附件。QA测试人员分配每个需求一个优先级,此优先级会作为测试组创建测试计划的一个考虑因素。
分析需求定义
QA管理人员复查已经定义的需求,并确保它们在先前定义的测试范围之内。一旦被认为复查通过的话,还应该将其标识为“已复查(Reviewed)”状态。
可以通过产生TestDirector报告和图表来帮助复查需求。更进一步信息,请查看26章“产生报告”(Generating
Reports)和27章“产生图表”(Generating Graphs)。
在随后的测试计划中,你应该使用这些需求作为基础。并且在测试计划阶段所创建的测试也应该覆盖这些需求。关于需求和测试覆盖的更进一步信息,请查看第12章“连接测试到需求”(Linking
Tests to Requirements)。这些测试也能够被缺陷进行关联,从而在整个测试过程形成完整的回溯。
需求模块一览
本章将介绍TestDirector需求模块的核心元素。包括如下内容:
- 需求模块(The Requirements Module)
- 需求菜单栏(The Requirements Menu Bar)
- 需求工具条(The Requirements Toolbar)
- 需求树(The Requirements Tree)
需求模块
你可以在TestDirector中点击Requirements标签页,来定义你的需求。可以通过文档视图(Document
View)或覆盖视图(Coverage View)两种方式来显示需求树。
注意:你可以从Microsoft Word、Excel或第三方的需求管理工具中导入需求到你的TestDirector工程。对于导入需求,你必须首先安装相应的TestDirector插件。对于更详细信息请查看《TestDirector安装手册》(TestDirector
Installation Guide)。
默认情况下,需求模块是以文档视图方式显示需求树。
你也可以以覆盖视图方式来显示需求树。这种方式能够让你更方便地为需求增加或修改测试覆盖。关于测试覆盖的更进一步信息,请看第12章“连接测试到需求”(Linking
Test to Requirements)。
需求模块包括如下的核心元素:
- Requirements Menu Bar,需求菜单栏,具有需求模块命令的下拉菜单。
- Requirements Toolbar,需求工具栏,具有创建或修改需求树的常用命令按钮。
- View Box,视图选择框,能够让你去选择需求树的显示方式:文档视图或覆盖视图。
- Requirements Tree,需求树,你的测试需求的一种图形表达。更详细信息请看60页的需求树(The
Requirements Tree)。
- Description Tab,描述标签页,显示当前所选择需求的注释,仅在文档视图中有效。点击Show箭头去显示描述面板。
- History Tab,历史标签页,显示当前所选择需求的历史操作列表。
- Tests Coverage Tab,测试覆盖标签页,显示了在需求树上,当前所选择的需求的测试列表。仅适用于覆盖视图。
- Details Tab,细节标签页,显示了在需求树上当前树选择需求的详细描述。仅适用于覆盖视图。
需求菜单栏
需求菜单栏包括如下菜单项:
- Requirements菜单,包括命令:在需求树上修改需求、从一个需求产生一个测试、Mail一个需求。
- View菜单,包括命令:设置需求树的显示、查找一个需求、浏览测试覆盖、关联缺陷、附件。
- Tools菜单,包括命令:转换需求到测试。
- Analysis菜单,包括命令:产生需求报告和图表。关于需求报告的更详细信息,请看第26章,“产生报告”(Generating
Reports)。关于需求图表的更详细信息,请看第27章,“产生图表”(Generating Graphs)。
需求工具栏
需求工具栏包括如下按钮:
- New Requirements:新建需求,增加一个新的需求到需求树。TestDirector将增加此需求到当前所选择的需求下面,并处于相同等级。
- New Child Requirements:新建子需求,增加一个新的需求到需求树。TestDirector将增加此子需求到当前所选择的需求下面,并处于低一级的级别。
- Cut:剪切,移动所选择的需求到需求树的新位置。要与Paste按钮联合使用。
- Copy:拷贝,拷贝所选择的需求到需求树的另外位置或另外的TestDirector工程。需要与Paste按钮联合使用。
- Paste:粘贴,粘贴一个剪切或拷贝的需求到需求树的另外位置。
点击Paste箭头并选择Paste,去粘贴需要到当前所选择的需求下面,以相同的级别。
点击Paste箭头并选择Paste as Child,去粘贴需要到当前所选择的需求下面,以低一级的级别。
- Delete:删除,从需求树中删除所选择的需求。
- Refresh Selected:刷新,刷新在需求模块中的数据。
点击Refresh Selected按钮,去刷新当前所选择的需求。所有子需求也会被同时刷新。
点击Refresh Selected箭头并选择Refresh All去刷新所有的需求。
- Select Columns:选择列,打开选择列对话框,你可以决定哪些字段显示在需求树中,并决定它们的显示顺序。
- Zoom in:展开,改变需求树的细节等级。
点击Zoom In按钮去展开需求树的指定分支。
点击Zoom In箭头并选择Zoom Out One Level去取消预先展开的命令。
点击Zoom In箭头并选择Zoom Out To Root去收缩,并显示整个需求树的根结点。
- Find:查找,打开查找需求对话框,能够让你在需求树中查找你想要的需求。
- Mail Requirement:Mail需求,打开发送邮件对话框,你可以从邮件列表中选择收件人,或输入其它的邮件地址,发送需求邮件。
- Attachments:附件,打开附件对话框,能够让你为所选择的需求添加附件。对于更多信息,请看第4章“增加附件”(Adding
Attachments)。
- Test Coverage:测试覆盖,打开测试覆盖对话框,能够让你为选定的测试需求增加测试覆盖。注意:你也能够右键点击一个需求,并选择Associated
Defects去浏览有测试覆盖需求的所有缺陷关联。
需求树
TestDirector在需求树中有机的组织并显示数据。需求树中每一行都显示了一条独立的需求。需求树中可以显示如下细节信息:
选项
|
描述
|
附件(Attachment) |
指示本需求是否包含附件。
此字段值可以为“Y”或“N”。 |
作者(Author) |
创建此需求的用户名。
默认情况,TestDirector插入登陆用户名到此字段。
|
覆盖状态(Cover Status) |
需求当前的状态。默认情况下,状态为Not Covered。
一个需求的状态能够是如下几种:
Not Covered:这个需求没有被链接到测试。
Failed:覆盖此需求的一个或多个测试被执行,且状态为:Failed。
Not Completed:覆盖此需求的一个或多个测试被执行,且状态为:Not Completed。
Passed:覆盖此需求的所有测试均有同样状态:Passed。
No Run:覆盖此需求的所有测试均有同样状态:No Run。
你能够点击一下State,去打开你所选择需求的测试覆盖对话框,关于覆盖的更详细信息,请看第12章的“连接测试到需求”(Linking
Tests to Requirements)。
|
创建日期(Creation Date) |
需求被创建的日期。默认情况下,创建日期被设置为当前服务器日期。你也可以点击下拉箭头去显示一个日历,并选择一个不同的创建日期。 |
创建时间(Creation Time) |
需求被创建的时间。默认情况下,创建时间被设置为当前服务器的时间。 |
修改(Modified) |
标识此需求被最后修改的时间。 |
名称(Name) |
需求名。 |
优先级(Priority) |
需求的优先级。范围从最低级别(Level 1)到最紧急级别(Level 5)。 |
产品(Product) |
需求所基于的应用程序组件。 |
需求ID(Req ID) |
需求的唯一数字ID,右TestDirector自动分配。注意,需求ID是只读的。 |
复查(Reviewed) |
标识此需求是否被复查,并且被责任人批准通过。 |
类型(Type) |
需求的类型,可以是Hardware或Software。 |
注意:你可以改变需求树中任何字段的标签,也可以最多增加24个用户自定义的标签到需求树中。更进一步信息,请看《TestDirector管理员手册》(TestDirector
Administrator’s Guide)。 开发需求树
需求树组织并展示了你整个的测试需求体系。本章描述了:
- 创建需求树(Creating a Requirements Tree)
- 在树中查询需求(Finding Requirements in the Tree)
- 查看需求树(Viewing the Requirements Tree)
- 查看需求历史(Viewing Requirement History)
- 邮寄需求(Mailing Requirements)
- 查看关联缺陷(Viewing Associated Defects)
- 修改需求树(Modifying the Requirements Tree)
- 从需求创建测试(Creating Test from Requirements)
关于需求树
定义测试需求的过程是单调乏味并耗时的。大多数情况下,测试组是用字处理软件或电子表格文档来记录需求。这样的需求文档维护复杂,难以组织和分类,而且不能够连接到基于需求创建的测试和相应的缺陷。
作为整个测试过程的第一步,TestDirector需求模块能够让你简单的定义和管理你的测试需求。测试小组通过在TestDirector中创建需求树来记录需求。它以图表的方式展现了整个需求说明和需求关系。
一旦你已经创建了测试,你就可以在需求和测试间建立连接,而测试与缺陷又可以建立关联。通过这种方式,你就可以跟踪测试需求到整个测试过程的每一个步骤。假如测试需求被改变,你可以立即确定哪些测试和缺陷受到影响,并且是谁负责的收到了影响。你能够在需求树中分组和分类需求,监控需求过程和任务分配,并产生详细的报告和图表。
注意:本章假定你是使用需求模块的Document View去创建需求树。关于Coverage
View的更进一步信息,请看第12章的“连接测试到需求”(Linking Tests to Requirements)。
创建需求树
你可以通过创建需求树来定义你的需求。
创建需求树:
在需求模块的工具栏上点击New Requirement按钮,或者选择Requirements
> New Requirement.
注意:假如需求字段已经在工程自定义窗口中定义,,则New Requirement对话框将被打开。为不要的字段选择值,并点击OK。
TestDirector将增加一个默认名称为“New Requirement”的新需求到需求树中。
- 为新的需求输入一个名称,并按Enter。注意,需求名称中不能够包括字符:/ ^ *。
- 为需求添加需求细节。关于在需求树中的有效字段的更详细信息,请看第7章“需求模块一览”(The
Requirements Module at a Glance)。
- 在Description面板中,输入新需求的描述信息。
- 点击Attachments按钮或选择View > Attachments,为新需求添加附件。附件可以是文件、URL、应用程序的快照、剪贴板中的图像或系统信息。TestDirector会在需求树中,紧挨着需求名放置一个可点击的附件图标。对于更多信息,请查看第4章“添加附件”(Adding
Attachments)。
- 点击Tests Coverage按钮或选择View>Tests Coverage,为需求添加测试覆盖。测试覆盖定义了测试计划树中的测试并能够让你连接测试需求到测试。你仅仅只有当在测试计划期间创建测试后,才能够定义测试覆盖。关于测试覆盖的更详细信息,请看第12章“连接测试到需求”(Linking
Tests to Requirements)。
- 添加另外的需求到需求树:
- 点击New Requirement按钮,在当前需求下面添加同等级需求。
- 点击New Child Requirement按钮,在当前需求下面添加低一级的需求。
- 在树中查找需求
你可以基于需求名称或其它的一些信息,在需求树中查找需求。
注意:假如你使用放大,TestDirector会限制在你放大的区域进行搜索。关于树放大的更进一步信息,请查看67页的“查看需求树”(Viewing
the Requirements Tree)。
查找需求:
- 在工具栏上点击Find按钮,或者右键点击需求树,并选择Find,Find
Requirement对话框将被打开。
- 在Find in Field框中,选择查找的依据。
- 在Value to Find框中,输入或选择你所选择字段的值。此查找是不分大小写的。
举个例子,假如字段为Name,则在Value to Find框中输入需求名称。假如字段名为Priority,则在Value
to Find框中,选择一个优先级(从一到五)。
点击Find。TestDirector将会用给定的值去定位这个需求。假如搜索是成功的,搜索结果对话框将被打开,并显示可能匹配的列表。从列表中选择一个结果,并点击Go
To按钮,则会在需求树中高亮显示此需求。
假如搜索不成功,相应的提示信息框将被弹出。
查看需求树
你能够改变TestDirector显示需求树的方式。包括放大和缩小树、显示编号、刷新树、展开和折叠树的分支。
缩放树:
你能够放大或缩小需求树中的需求主题。这能够让你去改变树显示的明细程度。
放大:
- 在需求树中选择一个需求主题
- 在工具栏上点击Zoom In按钮,或者右键点击需求并选择Zoom In。
需求树仅仅只显示所选择的需求主题和这需求主题所包括的内容。
缩小:
要反转一个放大的行为,你可以缩小一个层次或完全的缩小。
- 点击Zoom In箭头,并选择Zoom Out One Level去取消先前放大的命令。
- 点击Zoom In箭头,并选择Zoom Out To Root去全部缩小并显示整个需求树。
显示编号:
现在View > Numeration去显示需求树中每一个需求具有等级的编号。一旦你对需求树作了改变,TestDirector将自动为这些需求重新编号。注意,这些编号和为每个需求分配的唯一需求ID是没有关系的。默认情况下,需求以编号方式显示。
刷新树:
你可以在需求模块中刷新数据。
- 快速地刷新需求:选择所要刷新的需求,并点击Refresh Selected按钮,此需求和所有的子需求将被刷新。
- 刷新所有需求:点击Refresh Selected箭头,并选择Refresh All。
展开和折叠树:
你能够展开或折叠需求树中的分支,这能够让你去改变树显示的细节程度。
- 展开树枝:单击分支名左侧的展开符号。若想展开分支的所有层,需要右击分支名称,并选择Expand。
- 折叠树枝:单击分支名左侧的折叠符号。若想折叠分支中所有层,需要右击分支名称,并选择Collapse。
关于定义过滤条件的更进一步信息,请查看第27页的“过滤记录”(Filtering Records)。
查看需求历史
你可以查看需求树中所有需求的修改记录。
查看需求的修改历史:
- 在需求树上选择一个需求。
- 点击History标签页,所有字段的修改历史都显示在网格中。
对于需求的每一个改变,网格上都会显示相应的修改日期、修改人名称和修改后的值。
你能够定义哪些字段可以显示在网格中。在Field列表中,选择一个字段名称,仅仅只查看该字段的修改记录。
关于保存历史记录的更进一步信息,请查看《TestDirector管理员手册》(TestDirector Administrator’s
Guide)。
|