(计算机应用技术专业论文)软件需求和测试协同管理工具的研究与实现.pdf_第1页
(计算机应用技术专业论文)软件需求和测试协同管理工具的研究与实现.pdf_第2页
(计算机应用技术专业论文)软件需求和测试协同管理工具的研究与实现.pdf_第3页
(计算机应用技术专业论文)软件需求和测试协同管理工具的研究与实现.pdf_第4页
(计算机应用技术专业论文)软件需求和测试协同管理工具的研究与实现.pdf_第5页
已阅读5页,还剩61页未读 继续免费阅读

(计算机应用技术专业论文)软件需求和测试协同管理工具的研究与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

山东大学硕士学位论文 摘要 在软件工程领域中,需求和测试的同步并行己经成为软件工业界的共识。传 统的以源代码开发为核心的开发模式,经常造成软件开发过程中的需求分析和设 计与具体的实现和测试之间的脱节。需求分析过程和测试过程日趋重要,需求和 测试的并行工作也日趋平常,需求和测试的协同管理的研究也就日趋紧迫。 本文分别分析了目前市场上代表性的软件需求管理工具( 如r e q u i s i t e p r o , d o o r s 和r t m ) 和软件测试管理工具( 如c a l i b e r - r b t ,t e s td i r e c t o r 和b m s ) 的主要功能和特点,并指出了它们对需求和测试并行工作处理的局限性。然后分 析了典型的软件开发模型v 模型和w 模型,通过引入测试前置的概念,提出了自 己的软件需求和测试协同工作模型。并在该模型的基础上研究实现了软件需求和 测试协同管理工具r t n e t 。 本文详细描述了软件需求和测试协同工作模型所支持的工作机制,分析了此 模型中的数据定义、数据关系和它的工作流程。在模型中实现协同管理需求、测 试用例和各种缺陷,这三者都是r t n e t 中的关键数据对象,三者的相互关联构 成了工作流程的基础,实现了协同管理。现有软件需求管理工具或测试管理工具 均将这三个对象独立处理相互没有关联关系,无法实现协同管理。论文中同时 重点介绍了模型中的自定义状态机制,利用此机制可灵活定制需求、用例和缺陷, 形成它们的工作状态流。 软件需求和测试协同工作模型是软件需求和测试协同管理工具r t n e t 的理 论基础。本文提出了r t n e t 的详细设计和实现方案。r t n e t 是以协同管理过程 为目标,因此涵盖了项目,计划,任务等过程管理,而这些功能在现有软件需求 管理工具或测试管理工具中欠缺或具有局限性。r t n e t 以项目为中心,分别建立 了需求测试用例和缺陷三种对象的管理,并为这些对象建立了计划和状态跟踪 的机制,从而更好的支持项目管理的功能。同时创新的引入度量管理,包括对过 程自身的度量和对产品的度量,对整个项目的定量化管理中起到了至关重要的作 用。 r t n e t 的主要技术特点包括:采用b s 结构,支持用户灵活接入;以项目管 山东大学硕士学位论文 理为核心,包括计划、任务、和度量管理等功能,全面协助用户管理工作和做出 正确的决策;支持需求和测试的协同工作,实现了对需求、测试用例和缺陷的统 一管理,提高了软件质量和工作效率;软件需求、缺陷和测试用例的分类属性僮 和工作流程的定制功能,使用户可以根据自身组织的管理要求进行自定义。 关键字:软件需求管理,软件测试管理,协同管理 a b s t r a c t i nt h ef i e l do fs o f t w a r ee n g i n e e r i n g ,t h es y n c h r o n o u sw o r ko f r e q u i r e m e n ta n d t e s th a sb e e na g r e e dw i t hi nt h es o f t w a r e i n d u s t r y t h et r a d i t i o n a lc o d e c e n t e r e d s o f t w a r ed e v e l o p m e n tm e d e lm a k ei tb r e a ka w a yb e t w e e nt h e r e q u i r e m e n ta n dt e s ti n t h es o f t w a r ed e v e l o p m e n tp r o c e s s t h ep r o c e s so f r e q u i r e m e n ta n a l y s i sa n dt e s ta r e g r a d u a l l yi m p o r t a n t ,a n dt h es y n c h r o n o u sw o r ko fr e q u i r e m e n ta n dt e s ta r eg r a d u a l l y c o m m o ns ot h er e q u i r e m e n ta n dt h et e s ts h o u l db ec a r r i e do u tc o o p e r a t i v e l y i nt h i sa r t i c l e ,w ea n a l y z et h ef u n c t i o na n dt h ec h a r a c t e r i s t i co ft h ec u r r e n t r e p r e s e n t a t i o n a l s o f t w a r e r e q u i r e m e n tm a n a g e m e n tt o o l s ,s u c h a s r e q u i s i t e p r o , d o o r sa n dc a l i b e r - r t ;a n dt h ec u r r e n tr e p r e s e n t a t i o n a ls o f t w a r et e s tm a n a g e m e n t t o o l s ,s u c ha sr 舢t e s ts t u d i o ,t e s td i r e c t o ra n dt e s te x p e r t a n dw ep o i n t o u tt h el i m i t a t i o nt od ow i t ht h e s y n c h r o n i z a t i o no f r e q u i r e m e n ta n d t e s to f t h e s et o o l s d u et ot h ea n a l y s i so f t h evm o d e la n dt h ew m o d e l ,w eh a v ef o r w a r d e dt h es o f t w a r e s y n c h r o n i z a t i o nm a n a g e m e n tm o d e lo fr e q u i r e m e n ta n dt e s t b a s e do nt h es o f h v a r e s y n c h r o n i z a t i o nm a n a g e m e n tm o d e l w eh a v er e a l i z e dt h es o f t w a r es y n c h r o n i z a t i o n m a n a g e m e n t t o o lo f r e q u i r e m e n ta n dt e s t 一一l i t , n e t i nt h i sa r t i c l ew ed e s c r i b et h ew o r k i n gm e c h a n i s mt h a tt h es y n c h r o n i z a t i o n m a n a g e m e n t t o o lo f r e q u i r e m e n ta n dt e s ts u p p o r ti nd e t a i l ,a n da n a l y z ed a t ad e f i n i n g , t h er e l a t i o no ft h ed a t aa n di t sw o r k f l o wi nt h i sm o d e li nt h i sm o d e lw ec a n s y n c h r o n i z a t i o nm a n a g et h er e q u i r e m e n t ,t e s tc a s ea n dd e f e c t t h et h r e et a r g e t sa r e t h ek e yd a t eo f t h em o d e lt h er e l a t i o n so f t h r e et a r g e t sh a v ef o r m e dt h ef o u n d a t i o no f w o r k f l o w i ne x i s t i n gs o 矗w a r er e q u i r e m e n tm a n a g e m e n t 幻o l so rt e s tm a n a g e m e n t t o o l s ,t h e y d ow i t ht h et h r e e t a r g e t si n d e p e n d e n t l y a n d u n a b l et or e a l i z et h e s y n c h r o n i z a t i o nm a n a g e m e n t a tt h es a m et i m ew ee s p e c i a l l yi n t r o d u c es e l f - d e f i n i n g s t a t em e c h a n i s mi nt h i sm o d e l u s i n gt h i sm e c h a n i s mw ec a nf i e x i b l et oc u s t o m i z e t h e r e q u i r e m e n t ,t e s t i n gc a s ea n d d e f e c t t h es o f t w a r es y n c h r o n i z a t i o nm a n a g e m e n tm o d e lo fr e q u i r e m e n ta n dt e s ti st h e t h e o r e t i c a lf o u n d a t i o no ft h es o f t w a r e s y n c h r o n i z a t i o nm a n a g e m e n t t o o lo f r e q u i r e m e n ta n dt e s t i 强n e t ,t h i sa r t i c l ep u t sf o r w a r d t h ed e t a i l e d d e s i g n a n d r e a l i z a t i o no fr t n e tt h ea i mo fl i t n e ti st h es y n c h r o n i z a t i o nm a n a g e m e n tp r o c e s s o f r e q u i r e m e n ta n dt e s t ,s ot h ep r o c e s sm a n a g e m e n t i nt h er t n e tc o n t a i n st h ep r o j e c t , p l a n s ,t h et a s k ,e t c a n di n e x i s t i n g s o f t w a r e r e q u i r e m e n tm a n a g e m e n tt o o l o r s o a w a r et e s tm a n a g e m e n tt o o lt h e s ef u n c t i o n sa r ed e f i c i e n to rl i m i t e d r 卫n e tr e g a r d d r o j e e la st h ec e n t r e , a n dm a n a g e t h er e q u i r e m e n t ,t e s tc a s e ,d e f e c ts e p a r a t e l y a n ds e t u pt h em e c h a n i s mt h a tp l a na n ds t a t ef o l l o wf o rt h e s et a r g e t ss ot h a tp r o j e c tc a nb e b e t t e r s u p p o r t e d a tt h es a m et i m ew ei n t r o d u c et h em e a s u r e m e n tm a n a g e m e n t i n n o v a t i v e l yt h a ti n c l u d et h em e a s u r e m e n t t op r o c e s so n e s e l f a n dm e a s u r e m e n tt ot h e p r o d u c t st h i sf u n c t i o nc a nb ee s s e n t i a lt ot h ep r o j e c tm a n a g e m e n t t h ec h a r a c t e r i s t i co fr tn e ti n c l u d e sj u s ta sf o l l o w s :t h i st o o li sc o n s t r u c t e di n 山东大学硕士学位论文 t h eb r o w s e r s e r v e rs t y l et h a ts u p p o f tt h ec u s t o m e rt oc o n n e c ti n t of l e x i b l y r e g a r d i n g m a n a g e m e n t a st h ec o r e ,i n c l u d et h ep l a n ,m i s s i o n ,m e a s u r e m e n tm a n a g e m e n ta n ds o o nt h i st o o lc a l lc o m p l e t e l yh e l pu s e r si nt h em a n a g e m e n tw o r ko f t h e i rd e v e l o p m e n t a n dm a k et h er i g h tc h o i c et ot h e i rd e c i s i o n ;s u p p o r t i n gt h es y n c h r o n i z a t i o nw o r ko f r e q u i r e m e n ta n dt e s t ,r e a l i z i n gt h eu n i f i c a t i o nm a n a g e m e n to fr e q u i r e m e n t ,t e s t i n g c a s ea n dd e f e c t a n d i m p r o v i n g t h es o f t w a r e q u a l i t y a n dw o r k e f f i c i e n c y ; s e l f - d e f i n i n gt ot h ea t t r i b u t ea n dw o r k f l o wo fr e q u i r e m e r i t ,t e s t i n gc a s ea n dd e f e c t , w h i c ht h ec u s t o m e rc a l lr e d e f i n ea c c o r d i n gt ow h a tt h e yn e e d k e y w o r d :s o f t w a r e r e q u i r e m e n tm a n a g e m e n t ;s o f t w a r e t e s t m a n a g e m e n t ; s y n c h r o n i z a t i o nm a n a g e m e n t v i 原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下, 独立进行研究所取得的成果。除文中已经注明引用的内容外,本论 文不包含任何其他个人或集体已经发表或撰写过的科研成果。对本 文的研究作出重要贡献的个人和集体,均已在文中以明确方式标明。 本声明的法律责任由本人承担。 论文作者签名:拯扭 日期: 迦生:;:! 兰 关于学位论文使用授权的声明 本人完全了解山东大学有关保留、使用学位论文的规定,同意学校保留或 向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅; 本人授权山东大学可以将本学位论文的全部或部分内容编入有关数据库进行检 索,可以采用影印、缩印或其他复制手段保存论文和汇编本学位论文。 ( 保密论文在解密后应遵守此规定) 论文作者签名:抽聱耸导师签名:茸蹲日瓤堕,显坠 山东大学硕士学位论文 第一章绪论 1 1 研究背景 软件开发的几十年历程业已证明,在开发生命周期中划分阶段的做法是很有 好处的。从经典的瀑布模型到螺旋模型和过程迭代方法,从快速软件开发( r a d ) 到r a t i o n a l 统一过程( r u p ) 。这些过程和方法都描述了将整个软件开发分为需 求、设计、编码和测试等阶段,并对每个阶段进行过程的定义和管理。但是,我 们也应该看到,软件开发本身就是个完整的过程,虽然我们可以将其划分为不 同的阶段和过程来加以管理。在现实的软件开发过程中。更是各个过程并发执行。 因此,我们应该将这些过程加以集成,找到集成过程的方法和模型,使这些人为 分离的过程能够紧密的结合在一起工作。 随着软件过程改进和软件质量管理的思想愈来愈受到人们的重视。软件测试 也由最初的只针对软件成品的测试扩展到了针对软件半成品和过程产品的全过 程测试。测试的生命周期已经贯穿于整个开发周期中。同时软件复杂性的提高使 得软件需求愈加复杂,变更频繁,需求过程的管理同样贯穿于整个开发周期中。 需求过程和测试过程得以并发执行。 但现有的测试管理工具( 如c a li b e r r b t ,t e s td i r e c t o r 和b m s 等) 都是 面向测试用例或缺陷的管理,没有针对测试用例和需求项的关系提供协同开发的 支持,也没有建立从需求项到测试用例以及缺陷报告的跟踪机制。当需求项发生 变更时无法保证测试用例的即时更新,从而测试用例和缺陷的有效性也就无法 得到保障。 现有需求管理工具( 如r e q u i s i t e p r o ,d o o r s 和r t m ) 等均从需求过程支持 和管理角度考虑,仅仅提供与其他测试管理工具的接口,没有针对测试用例和需 求项的关系进行协同开发的支持,同时也就没有建立需求项到测试用例以及缺陷 报告的跟踪机制。当需求项发生变更时,测试用例和缺陷的有效性无法得到保证。 而且需求缺陷往往等到集成测试阶段才被发觉出来,导致极大的修复成本。 因此,研究和开发支持需求和测试过程协同管理的工具不仅具有实际意义, 也有定的研究价值。 1 2 研究目标及内容 针对上述需求管理工具和测试管理工具的不足,我们研究了需求和测试协同 l 山东大学硕士学位论文 工作模型,并以该过程模型为基础,设计和实现了需求和测试协同管理工具 r t n e t 。 研究的主要内容为: ( 1 ) 软件需求过程管理 ( 2 ) 软件测试过程管理 ( 3 ) 需求和测试协同工作模型 ( 4 ) 需求和测试协同管理 ( 5 ) 需求和测试协同管理工具r t n e t 的总体设计及实现 通过r t n e t 实现需求过程和测试过程的协同管理,可以使系统分析员和测 试人员协同工作,有效的保证需求项的可验证性和测试用例的数据有效性。对于 提高软件质量和开发过程的可控性有一定的实际意义。 1 3 论文的组织结构 本文第一章介绍了当前软件过程的研究进展,以及相应工具的研究情况,提 出了本文的研究目标需求和测试协同管理的软件工具r t n e t ,以及具体的研 究内容。 第二章着重分析了现有的需求管理工具和测试管理工具的特点和局限性,并 对这些工具进行系统的比较。 第三章先分别介绍了软件开发模型v 模型和w 模型。然后提出了需求和测 试协同工作模型。该模型是r t n e t 支持的开发模型的理论基础。 第四章介绍了r t n e t 的需求和测试协同管理,体现了r t n e t 的设计思想, 是r t n e t 的实现基础。 第五章对r t n e t 的实现进行详细描述,包括工具包含的子系统及所应具有 的功能、主要数据结构和工具的架构。 第六章结束语对本文的内容做了总结,并提出了下一步工作的构想和目标a 山东大学硕士学位论文 第二章现有软件需求管理工具和测试管理工具综述 2 1 软件需求管理工具概述 随着软件系统广度以及复杂程度的增加,传统手工组织需求管理的方法日益 暴露出诸多问题,越来越不能满足软件需求管理的要求。目前市场上出现了许多 的商业需求管理工具,其中具有代表性的包括c a l i b e r r t 、d o o r s 、r a t i o n a l r e q u i s i t e p r o 等【l ”,这些工具虽然不能代替项目组从用户那里收集正确的软件需 求,但是它们可以简化需求分析管理的过程,促进项目开发组成员的交流,最终 提高软件需求的效率和质量。下面就其一一论述。 2 1 1 r e q u is i r e p r o r e q u i s i t e p r o i ”】是由r a t i o n a l 公司推出的强有力的需求管理工具,适用于 w i n d o w s 操作系统。r e q u i s i t e p r o 是以文档为核心管理需求工作产品的,支持以 w o r d 形式存储的需求导入到数据库中的功能,但不支持从非文本对象,如e x c e l 或i m a g e 文件与数据库的合并。r e q u i s i t e p r o 可以定义各种不同的需求,以及需 求的属性。需求以列表的形式显示,并可以修改属性,支持需求层次树的显示方 式。采用需求跟踪矩阵的方式进行需求跟踪管理。r e q u i s i t e p r o 具有版本控制机 制,但是不支持需求基线的定义。同样也具有良好的集成和扩展性:r e q u i s i t e p r o 不仅可以建立与r a t i o n a lr o s e 的u s ec a s e 的关联,还可以建立与r a t i o n a lt e a m t e s t 的t e s tc a s e 的关联;可以和w o i 固整合,以文档的形式管理需求工作产品, 但是对于w o r d 有些功能的支持存在问题;可以建立与m i c r o s o f tp r o j e c t 中项目 任务的关联。 2 1 2c a l b e r r t 最新的c a l i b e r r t 1 2 】是由b o r l a n d 公司推出的,适用于w i n d o w s 操作系统, 具有趣好的需求管理能力和集成扩展性。c a l i b e r - r t 以数据库的形式管理需求工 作产品,所有的模板和数据都存储在数据库中,同时还可以定义不同的数据库元 素,如业务需求、用例、功能需求、硬件需求、非功能性需求以及系统测试用例 等等。可以定义每类需求的属性,例如发起人、负责人、需求原因、状态、风险 等等。需求以需求层次树的形式展现在用户的面前提供类似于w i n d o w s 资源 管理器层次显示方法来操作需求层次树。具有d o c u m e n tf a c t o r y 功能,定义了 s r s 范本,方便在w o r d 文件中根据需求属性做查询。具有以使用者自定义的格 式或报表格式输出需求文件的能力,使用者可以根据自己的习惯来调整输出格 皇垒垒垒垒兰墼坠坠圣一 式。具有良好的系统集成和扩展能力,提供与多种软件的整合;c a l i b e r r t 提供 和w o r d 整合,支持多种格式的文件的导入导出,可用性很高;c a l i b e r - r t 可以 建立需求与s e l e c ts o f t w a r et o o l s 的s e l e c t e n t e r p r i s e 中的u s ec a s e 、c l a s s 或处理 设计元素之间的关联;c a l i b e r - r t 可以建立需求与存储在m e r c u r yi n t e r a c t i v e 中 t e s td i r e c t o r 的测试实体间的关联。c a l i b e r - r t 在w e b 页面上的需求属性是只读 的,不f 毙:j n 以编辑。 2 1 3d o o r s d o o r s h 川是由t e l e l o g i c 公司推出的以数据库为中心的需求管理工具,适用 于u n i x 与w i n d o w s 操作系统。支持多种文件格式与数据库的导入和导出。采用 l i n k m a t r i x 来连接单个需求或者需求与其它的系统元素。支持需求层次树的形式 管理需求文件。可直接显示需求的属性值,指定相应的连接,当需求的状态改变 时,改变颜色来通知使用者,但是修改需求属性在另外的窗口上,使用不够直观。 可以储存需求的编辑变更记录,但是没有提供版本的变更记录。提供类似于c 语言的开发环境。d o o r s 也同样具有良好的系统集成扩展性:d o o r s 可以和 w o r d 集成。在w o r d 上添加工具列;d o o r s 可以建立与m i c r o s o f t p r o j e c t 项 目任务阃的关联;d o o r s 可以建立与r a t i o n s r o s e 设计元素间的关联。 2 1 4 需求管理工具的比较和分析 通过对以上三种工具的分析,可以得到表2l 。 r e q t d s i t e p r v c a h b e t - r td o o r s 存储中心文档数据库数据库 文档和需求数据库的交互较好较好较好 同步文档和数据库不好无无 设定自定义的需求一般一般一般 确定需求基线无无有 需求跟踪管理较好一般一般 需求变更管理一般 一般一般 与测试的掷同工作无 无无 - 计划管理无无无 任务管理无无无 过程度蠡无 无无 表21c a l i b e r - r t 、d o o r s 、r e q u i s i t e p r o 、r t m 比较一览表 4 山东大学硕士学位论文 = = = = = = = = = = = = = = = = = = = = = = = = = = = = ! ! ! ! = = ! = = = = = = = = = = = = = = = ! = = = 2 2 软件测试管理工具概述 和需求管理工具相比,测试管理工具应用较为普遍。但大部分公司应用的测 试管理工具都局限于对缺陷数据库的管理。目前,大家比较熟知的功能较齐备的 测试管理工具主要有:m s 的r a i d s ,r a t i o n a l 公司的t e s ts t u d i o ,m e r c u r v i n t e r a c t i v e 公司的t e s t d i r e c t o r ,s i l i c o nv a l l e yn e t w o r k s 公司的t e s te x p e r t , c o m p u w a r e 公司的q a d i r e c t o r 等【“。 其中,r a i d s 是专注于缺陷管理的工具,它提供了缺陷填报,缺陷查询等功 能。而t e s ts t u d i o 是专注于对测试用例的管理的工具,它按层次性组织测试用例, 易于查询和运行测试用例。t e s t d h e c t o r 和t e s te x p e r t 是另两个测试管理工具, 也提供了较好的缺陷管理和测试用例管理功能。 下面,我们先来对这些工具做一个比较详细的了解,然后对它们做比较。 2 2 ,1 r a l d s 和t e s ts t u d i 0 组合 r a i d s 具有缺陷管理功能,而t e s ts t u d i o 具有测试用别管理功能。将两者组 合在一起工作就具有了软件测试管理的基本功能了。 k a i d s 是英文版面的c s 结构的软件系统,它的个特点是填报缺陷时十分 方便和智能,因为它可以很方便快捷的访问到测试用例数据库,所以它能动态的 从测试用例数据库中查询到填写缺陷时的所有的可选项,从而有效的提高了填报 缺陷的效率。 r a d s 将缺陷分为o p e n 、v e r i f y 、c l o s e 三个状态。使用r a i d s 可以方便的 同时上传多个缺陷图片到缺陷数据库中,测试人员和开发人员可以通过r a i d s 方便的进行沟通和交流,沟通和交流的记录都动态的显示在缺陷描述的结尾。 t e s ts t u d i o 是英文版面的单机版软件系统,其测试用例在系统中以树结构显 示,显得层次清晰。t e s ts t u d i o 的一个比较突出的特点是,它支持测试用侧的不 同轮次的运行,而且多个轮次可以同时进行。t e s ts t u d i o 将测试用例分成n o t r u n 、p a s s 、f a i l e d 、b l o c k e d 等四个不同的状态,来标识测试用例的运行情况。 使用r a i d s 和t e s ts t u d i o 的组合工具来进行测试管理时,可以很好的对缺 陷和测试用例进行管理和跟踪,但我们也要看到,t e s ts t u d i o 的运行是建立在 一个己生成的测试用例库的基础上的,它们并不具有需求管理的功能,并不直接 支持测试用例的生成。同时,在测试管理的其它方面,比如测试进度计划管理、 测试任务管理等许多的其它方面,这个工具组合也没有充分的支持。 山东大学硕士学位论文 2 2 2t e s t d ir e e t o r t e s t d i r e c t o r 是一个英文版的基于w e b 浏览器的b s 结构的测试管理软件。 它将测试过程流水化作业,从测试需求管理,到测试计划,测试日程安排,测试 执行以及到出错后的跟踪,整个过程的管理可以在浏览器中很方便的完成。 对于测试需求管理,t e s t d i r e c t o r 可以让测试人员根据应用需求自动生成测试 用例,通过提供一个直观机制将需求和测试用例、测试结果和报告的缺陷联系起 来,从而确保完全的测试覆盖率。 t e s tp l a nm a n a g e r 提供对测试计划的管理,根据r e q u i r e m e n t sm a n a g e r 所定 义的需求,t e s tp l a nw i z a r d 快速地生成一份测试计划,如果事先已经将计划信息 以文字处理文件如m sw o r d 的方式存储,t e s tp l a nm a n a g e r 可以利用这些信息, 并将这些信息导入到t e s tp 1 a nm a n a g e r 中。 一旦测试计划建立后,t e s t d i r e c t o r 的测试实验室管理为测试日程制订一个基 于w e b 的框架。它的s m a r ts c h e d u l e r 根据测试计划中创立的指标对运行着的测 试执行监控。 t e s t d i r e c t o r 的出错管理直接贯穿作用于测试的全过程,以提供从最初的问题 发现到修改错误再到检验修改结果这整个过程的管理。通过t e s t d i r e e t o r 可以进 行一定的测试评价。在测试过程的最后一步是分析测试结果,确定应用程序是否 已部署成功或需要再次的测试。t e s t d i r e c t o r 提供图形化和测试报表的输出。 虽然t e s t d i r e c t o r 的功能较全面,但是它是以强规定性牺牲灵活性为代价的, 如果使用t e s t d i r e c t o r 进行测试管理,你需要从开始就按系统规定的方式来进 行工作,而实际上,许许多多的组织在软件开发的不同的阶段都有自己不同的处 理方式。这无疑会大大的限制了t e s t d i r e c t o r 的使用。 2 2 3t e s te x p e r t t e s te x p e r t 也是一个英文版的测试管理工具,能管理整个测试过程,从测试 计划、测试例程、测试执行到测试报告。它具有如下的一些特点: 数据库管理测试文档、测试用例、测试结果,支持标准s q l 访问。 支持以m i c r o s o f tw o r d 格式输入测试条件。 提供测试例程a p i ,命令行接口,选项个性化定制。 支持高速多任务测试。 集成r a t i o n a lc l e a r c a s e 、r a t i o n a lp u r i f y 、r a t i o n a lp u r e c o v e r a g e 、r a t i o n a l v i s u a lt e s t 、s u nj a v a s t a r 等测试软件。 可按用户要求生成测试报告,支持h t t p 协议测试报告传递。 6 山东大学硕士学位论文 同样,t e s te x p e r t 对测试需求管理的支持和测试任务的管理支持不够,对自 动化测试的支持好于对手工测试的支持。 2 2 4 兰个工具的比较和分析 通过对以上三种工具的分析,可以得到表2 2 。 r a i d s 、t e s ts t u d i o 组合 t b 虬d i r e c t o r t e s t e x o e r t 体系结构c s 、单机版 e sc s 缺陷管理强强较好 测试用例管理强较好强 需求管理无较好无 测试任务管理无无无 测试评价一般较好强 测试计划管理一般较好一般 过程度量管理无无无 表2 2r a i d s 、t e s ts t u d i o 组台、t e s t d i r e c t o r 、t e s t e x p e r t 比较一览表 2 3 综述 软件工程发展到今天已经不再是孤立的研究需求或测试过程。需求和测试的 生命周期都延伸到了整个软件开发周期,需求和测试的协同工作的研究也成了当 前软件工程研究的重要课题。 在前两节中我们已经分析了现有的需求管理工具和测试管理工具的优点和 不足。因此,我们在设计和实现我们自己的软件测试管理工具时,需要充分考虑 和借鉴这些已有工具的优点和特长,同时也要力求对它们考虑和实现上没有的很 好支持的特性进行设计。 从下一章开始我们开始介绍我们的软件需求和测试管理工具的管理思想和 设计的功能特性。 山东大学硕士学位论文 第兰章需求和测试协同工作模型 现有工具无法有效的支持需求和测试的协同工作,于是我们通过对两种开发 模型v 模型和w 模型1 2 5 1 分析后,引用测试前置的概念,建立了需求和测试协 同工作的模型,来协同管理需求、测试用例和各种缺陷。 3 1 v 模型 v - 模型宣称测试并不是一个事后弥补行为,而是一个同开发过程同样重要的 过程。v 模型最早由已故的p a u lr o o k 在8 0 年代后期提出,而后被包含英国国 家计算机中心文献中发布,旨在改进软件开发的效率和效果。v 模型明确的指出 了测试过程中存在的不同阶段,并且描述出这些测试阶段和开发过程各阶段的对 应关系。v 模型如下图3 1 所示: 图3 - 1 :v 模型不恿图 v 模型绉述了一些不同的测试级别,并说明了这些级别所对应的生命周期中 不同的阶段。v 模型的价值在于它非常明确地标明了测试过程中存在的不同级 别,并且清楚地描述了这些测试阶段和开发过程期间各阶段的对应关系: t 单元测试的主要耳豹是针对编码过程中可能存在的各种错误,例如用户输 入验证过程中的边界值的错误。 集成测试主要目的是针对详细设计中可能存在的问题,尤其是检查各单元 与其它程序部分之间的接口上可能存在的错误。 系统测试主要针对概要设计,检查了系统作为一个整体是否有效地得到运 行,例如在产品设置中是否达到了预期的高性能。 - 验收测试通常由业务专家或用户进行,以确认产品能真正符合用户业务上 的需要。 在不同的开发阶段。会出现不同类型的缺陷和错误,所以需要不同的测试技 术和方法来发现这些缺陷。 8 山东大学硕士学位论文 v 模型是从瀑布开发模型发展而来,和瀑布开发模型有着一些共同的特性, 由此也和瀑布模型一样地受到了批评和质疑。v 模型的缺陷: ( 1 ) 对于测试设计,v 模型的用户往往会把执行测试与测试设计分开对待。 ( 2 ) v 模型将系统开发过程划分为具有固定边界的不同阶段,这使得人们很 难跨过这些边界来采集测试所需要的信息。有些测试如需求测试应该执行得更早 些,有些测试则需要延后进行。而且,它也阻碍了你从系统描述的不同阶段中取 得信息进行综合。 3 。2h 模型 v 模型揭示了软件测试活动分层和分阶段的本质特性,但容易导致需求阶段 隐藏的错误一直到最后验收测试时才被发现的结果。w 模型是从v 模型发展而 来,它强调测试伴随着整个开发周期,而且测试的对象不仅仅是程序,需求、功 能和设计同样要测试。 需求分析需求测试f ,当。,二一 l 概要设计i l 功能测试 详细设计li 设计测试l i 构件集成测试 l 叁塑ii 兰重型堕l 图3 - 2 ;w 模型 在w 模型中,只要相应的开发活动一结束,就可以开始执行测试,可以说, 测试与开发是同步进行的,从而有利于尽早的发现问题。以需求为例,需求分析 一完成,我们就可以对需求项进行测试,而不必等到最后才进行验收测试。 3 3 需求和测试协同工作模型 w 模型虽然弥补了v 模型的一些缺陷,但它同样存在v 模型所具有的不妥之 处。它们都把软件的开发视为需求、设计、编码等一系列的串行活动。而事实上, 虽然这些活动之间存在着相互牵制的关系,但在大部分时间内,它们是相互独立 的,可咀并发进行。因此我们引入了测试前置的概念。 测试前置是指将测试和开发紧密结合,将开发和测试的生命周期整合在一 起,标识了项目生命周期从开始到结束之间的关键行为。测试前置同w 模型一样 9 山东大学硕士学位论文 要求在设计阶段进行计划和测试设计,而不是等到某一阶段工作完成了才去实施 测试计划和设计。在这种情况下,测试只是验证了这一阶段工作的正确性,而不 是验证整个系统本该实现的东西。同时测试前置将测试和需求、开发等活动整合 在一起并发执行,三者相互反馈信息,形成了统一的生命周期,突破了w 模型的 阶段限制。 r t n e t 主要功能就是协同管理需求、测试用例和各种缺陷,通过引用测试前 置的概念,建立了需求和测试协同工作的模型。在这个协同工作模型中,需求一 个很重要的基本属性就是需求的可验证性。根据其可验证性我们定义其验证标 准,这也是测试用例设计的主要数据输入之一。根据测试用例执行的结果反馈给 验证标准,如果测试用例执行产生了缺陷,则反馈给需求项,进行变更需求;如 果测试用例执行正常,则结果反馈给验证标准,继续影响测试用例的设计。形成 了需求项、测试用例和缺陷三者之间的关联。 3 3 1 模型中的数据定义 r t n e t 主要功能就是协同管理需求、测试用例和各种缺陷,所以这三种数据 对象就是r t n e t 处理的关键对象。图3 3 描述了三种对象数据模型的定义。 需求项 p k | 盎塞亟堕 p k l 要且虫 p k 标题 发起人 详细内容 优先级 测试案例 p k p k 塞璁| 婴 需求项i d 爵求版本号 设计人 详细描述 优先级 p k p k 缺陷堡 案例m 需求项i d 求版本j 持有人 详细内容 优先级 图3 - 3 数据模型定义 上面图中描述的需求、测试用例和缺陷的数据定义并没有建立与数据库的一一对 应的关系,只是说明了这三种对象数据的主要属性信息的定义,以及对象之间连 接关系建立的依据。 3 3 2 模型中的数据关系 需求一个很重要的基本属性就是需求的可测试性,或称之为可验证性a 需求 项的可测试性就是看是否能够设计测试或其他的验证方法( 例如审查或证明) 来 确认每项需求在产品中正确的实现。在需求和测试协同工作模型中设计测试用例 1 n 山东大学硕士学位论文 不仅可以为以后产品测试做好初始化的准备,还能够验证需求是否是可测试的 同时还可以检测需求的缺陷,返回给需求人员加以改正。 图3 4 需求和测试数据关系图 需求数据和测试数据的相互关系如图3 4 所示,图中的箭头表明了两种对 象的对应关系。测试用例的设计是基于需求的,我们在需求项的属性中引入了验 收标准的定义,而测试用例的设计就是建立需求项的验收标准的基础之上,针对 一个需求项都可以设计若干测试用例对其进行验证。需要我们注意的是,并不是 所有的测试用例都是基于需求设计的,还有基于设计和编码的,我们这里只讨论 与需求项相关的测试用例。需求缺陷是在审核需求和设计测试用例的过程中产生 的需求项的缺陷,所以需求项和需求缺陷的对应关系也是l :n 的。产品缺陷的数 据来源于两个途径,一是按照测试用例运行的产品与需求项描述不符所产生的, 另一个途径就是在探索性测试过程中产生的。 为了准确建立需求和测试数据的联接,有效的支持需求和测试的协同工作, 需求项和测试用例以及缺陷报告都是通过唯一标识的需求项编号和需求项版本 号建立联接的。当需求项发生变更,需求项的版本号会随之发生改变,从而可以 检测出测试用例的需求项版本号与需求项自身

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论