(计算机应用技术专业论文)基于web的测试用例管理系统的设计与实现.pdf_第1页
(计算机应用技术专业论文)基于web的测试用例管理系统的设计与实现.pdf_第2页
(计算机应用技术专业论文)基于web的测试用例管理系统的设计与实现.pdf_第3页
(计算机应用技术专业论文)基于web的测试用例管理系统的设计与实现.pdf_第4页
(计算机应用技术专业论文)基于web的测试用例管理系统的设计与实现.pdf_第5页
已阅读5页,还剩63页未读 继续免费阅读

(计算机应用技术专业论文)基于web的测试用例管理系统的设计与实现.pdf.pdf 免费下载

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

文档简介

中文摘要 中文摘要 随着科技的进步,软件业的发展,人们对软件产品的质量要求越来越高, 软件测试越来越受到人们的关注,对软件测试用例管理的认识也在不断更新和 加强,过去人们非常重视测试用例设计方法、测试用例的自动化生成、测试用 例的构造方法和手段;随着软件开发规模的扩大,越来越多的软件需要增量式 开发。伴随着测试用例数量的增多,需要进行多次回归测试,测试用例的管理 难度越来越大。良好的测试用例管理系统便于作回归测试,能大大地提高工作 效率,减少软件测试的成本。本文对软件测试用例的管理方法进行了深入地探 讨和研究,设计和实现了基于w e b 的测试用例管理系统。 本文在明确软件测试管理重要性和分析了国内外软件测试管理工具现状的 基础上,结合机器智能所和南开越洋软件公司多年来软件测试的特点和实际情 况,研发了套适合中小企业的软件测试用例管理工具。该工具有这些特色: 1 ) 采用b s 结构;2 ) 实时地将测试项目、测试用例和缺陷联系在一起;3 ) 分角 色管理;4 ) 完整录入测试用例全过程:创建i 编写、审批、修改、执行和审核 过程,并记录执行测试用例时发现的缺陷,且将缺陷的修改过程和状态详细地 记录下来;5 ) 严格的权限分配和权限控制;6 ) 对测试用例和缺陷的使用情况 进行查询、输出和统计,并生成文档和图形;7 ) 以沮。方式导入,导出测试用 例库和缺陷库。 此工具操作方便、简单易学。此工具经多个项目实例证明,对一般的中小型 企业的软件测试用例管理具有普遍的指导意义,并将为软件测试用例管理开辟 了新道路,从而为推动软件业的发展贡献力量。 关键字 软件测试软件测试管理测试用例缺陷管理 a b s 仃a c t a b s t r a c t a l o n gw i mt l l ep r o g 化s s o fs c i e n a i i dt e c h n o l o g ya l l dt h ed e v e l o p m e n to f s 咖a r ei n d u 蚰啊p e o p l er e q l l i r eh i g h e rq u a l i t yo fs o f t w a l i ep m d u c t ,a i i ds o f t w 盯e t e s 虹n gh 雒b e c o m e 也ef b c u sm a t d r a w sm o r ca r i dm o r ep e o p l e si n t e n t i o n ,m e c o g l l i 廿o no fm a n a g e m e n to ft e s tc a s ei s a l s ou p d a t i n ga i l d h a l l c i n gc o n t i n u o u s l y 1 c o p l ea n a c h e dg r e a ti m p o n a n c et ot t l et e c h n i q u et od c s i g | l i n gt tc 勰e 、a u t o m a t i c f 0 n a t i o no ft e s tc a s e 、m em e a n sa i l ds t n l c t u r eo ft e s tc a s ei nm ep 雒t w i t lt h e e n l a 唱e m e n to f l es i z e 0 fs m w a r ep r o d u c t ,t l l em o r es o f t w a r en e e de x p l o i t i n c r c a s i n g ly ,l em o r eq i l a i l t i t yo ft e s tc a s e sd e m a n d h ir e g r e s s i n gt e s t ,p e o p l ep a y m u c hm o r ea t t e n t i o nt 0t h em a i l a g c m e n to ft c s tc 船e g d 0 dm a l l a g e m e n ts y s t e mo f t e s tc a s ei sc o n 、,e 1 1 i c n tf o rr e g r s i n gt c s t ,a n dc a i lh e l pi 弘o v ew o r k 啦d e n u ya n d q u i c h y a n di sa l s oa b l et 0c u td o w nm ec o s to fs o f t w a r et c s t h lt h ea n i c l ep m b i n g i n t o 山em a l l a g e m e n tm e t h o d0 fs o f t w a r et e s t i n gc a s ep r o f b u n d l y ih a v es u c c e s s f u l l y d c s i g i l e da i l dr e a l i z e da t e s tc 踮em a l l a g e m e n ts y s t e mb a s e do nw e b l e 脚c l ei n m ) d u c c st l l ei m p 叫锄c eo fs o f t w a r et e s t i n gm 柚a g e m e n te x p l i c i t l y a i l da l l a l y s e sm ea c t u a l i t yo f 血et 0 0 lo fs 砸w a r et e s t i n gm a r i a g e m e n ti no l l ro w n c o u n 缸ya n df b 而g i lc o u 删e s 0 nm eb a s eo fm ea c t i l a lc o m p l e x i o no ft h ei n s t i t u t c m a c l l i n e h l t e m g e n c eo f m k a iu i l i v e r s i t y a i l d e x p e f e x c h a n g e i n c a n dt i l e c h a r a c t e d s t i c so fs o f c w a r et e s t ,t h ep 印e rp m p o s e sas l l i to ft e s t i n gc a s em 锄a g e m e n t t o o lt oa d a p tt om i d m ea n ds m a l lc o m p 姐y t h et 0 0 lh a v em e s ec h a r a c t e d s t i c s :1 ) t h e s y s t e mi sb a s eo nb ,ss m l c t i l r e 、2 ) t e s tc 硒e 、t e s tp r o j e c ta i i db u ga r ec 鲫b i n e dw i t l l e a c ho t l e rr e a l - 廿m e l y 、3 ) 伍eu s e r sa r em 趾a 萨db 硒e da nm l e 、4 ) r c c o r d i n gm ef u l l p r o c 髓so ft e s tc 蠲e :c r e a t i n g 、c 伽叩m n g 、卸t h o r i z i n 昏a m e n m n g 、e x e 咖n ga n d c o n f i m i n gt e s tc a ,a i l de x e c i n i n gt e s tc 雏et of i n db u g 粕dm a l d n ga r e c o r do ft h e s e i n f o m 扭d o no fb u g 觚d a m 咖j n g l e b u g 血a th 船b 啪锄e n d c d 、5 ) 击s m b 嘶n g 锄d c 咖l l i n gp o w c rs 仃i c ”6 ) q u e r y i n g 强do u 啦u m n g 廿l eu s i n g 廿l i n go ft e s tc a s ea n d b u g ,a tt l l es 锄e 血m ,锄a l y z i n gt i l ei e s u l t 皿ds h a p i n gd i f ! f 色崩1 td i a g r a m sa b o u t p r o j c c t 、c a s e 张d b u g 、7 ) i m p o m n g ,c x p o m n gc 船es t o 佗锄db u gs 岫b y t i l em e a n so f a b s t r a c t x m l n i st 0 0 1i s 0 p e r a t e dc o n v i n y 锄dl e 帅e de 蠲i ly i th 舔u s e di n af e w n u m b e ro fp 删e c t s ,a n di t h 勰g e n c r a ls i g i l m c a l l c e t o g u i d ei i l i d d l e a 1 1 ds m a l l c o m p a i l yt om a n a g et e s t i n gc 髂e ,f u n l l e 彻。他,i tw i l lp u s ht 1 1 ed e v e l o p i n e n to f 廿1 e i n d u s t r yo fs o f c w a f et e s t k e y w o r d s o f t w a t e s d n gm a i l a g e m e mo fs o f t w a r et c s t i n g t e s tc a s e b u g m a i l a g e m e n t 内容目录 图目录 图2 1 软件测试过程的v 模型1 0 图2 2 软件开发和测试过程n 图2 3 测试项目、用例和缺陷的相互关系1 3 图3 1 基于w e b 的测试用例管理系统的组成。1 9 图3 一系统结构图。:2 0 图3 3 管理员系统模块的组成2 2 图3 4 基于w 曲的测试用例管理系统模块的组成2 3 图4 1 中间件结构图 图4 2 测试用例相关类的关系图。 图4 3 安全层次图 图4 4 登录记录图 图4 5 系统工作流程 图4 6 管理员登录页面图 3 3 3 5 图4 7 基于w 曲测试用例管理系统模块的页面图 图4 8 测试项目、用例库和缺陷库之间的关系图 v i i 3 6 3 7 内容目录 图4 9 相关的缺陷表之间的关系图4 1 图4 1 0 项目经理、测试人员和开发人员导航树4 6 图4 n 权限分配示意图 4 8 图4 1 2 测试用例管理流程4 9 图4 1 3 测试用例输出流程图“一5 0 图4 1 4 缺陷管理流程图 图4 1 5 缺陷查询流程图。: 5 2 图4 1 6 用例、缺陷和测试项目的统计图5 3 v 内容目录 表目录 表1 1 国内外主要软件测试管理工具比较表6 表4 1 测试用例相关类表。3 1 表4 2 系统运行环境表 表4 3 测试用例表 表4 4 相关缺陷库表之间的关系表4 2 表4 5 缺陷辅助表之间的关系表4 3 表4 6 缺陷状态字段表。 4 4 表4 7 缺陷状态信息表。4 4 表4 8 权限字段表。 4 5 第一章导论 第一章导论 第一节项目的背景介绍与问题提出 1 1 1 基本内容和概念 1 1 1 1 测试用例的概念和内容 1 ) 测试用例的基本概念 测试用例( t e s tc a s e ) 为了检验开发各个阶段的规格说明和程序的内 部结构是否与预期的相符,精心选出的一批测试数据,通过执行而得出对系统 表现的评价。 2 ) 测试用例的基本内容 测试用例包括测试用例号、测试用例库号、用例设计人员、时间、测试过程 说明、用例状态、预期结果、实际结果和测试结论等信息。 测试用例是软件测试的重要组成,也是软件测试成败的关键因素之一。测 试用例的选取是软件测试的关键,不同的测试数据对发现软件故障的能力差别 很大【1 】。为了节约时间和资源,提高效率,必须从大量的输入数据中精心挑选出 少量有代表性的测试数据,使得这些测试数据能够达到最佳的测试效果【1 3 j 。因 此,对挑选好的测试用例进行管理是必不可少的,而且测试用例的管理是软件 测试管理非常重要的一部分。 1 1 1 2 缺陷的概念与内容 1 ) 缺陷的基本概念 缺陷( b u g ) 软件系统中所有未能够达到性能目标或不能满足功能要求 的部分。它包含了一些偏差、谬误或错误,更多地表现在功能上的失败( f a i l u r e ) 和实际需求的不一致1 4 1 。 缺陷是软件产品的固有成分,是软件“与生俱有”的特征,软件开发过程 中缺陷无处不在,形式多种多样。有文档类的缺陷,如版本陈旧、配置不一致: 有技术类的缺陷,如流程错误、算法错误等;有设计类的缺陷,如错误的需求 分析、软件未能达到用户需要的功能和性能等。这些软件缺陷,有的容易表现 出来,有的隐藏很深难以发现,有的对使用影响轻微,有的将造成巨大的经济 第l 页 第一章导论 损失甚至带来生命危险。 2 ) 缺陷的基本内容 缺陷包括缺陷名称、添加人员、是否可重现、缺陷发现时间、缺陷类别、 缺陷解决优先级、缺陷状态、缺陷产生原因、缺陷解决的过程等信息。它记录 了测试过程中发现的问题并进行同步协调解决的情况。 国外的软件公司都十分重视软件测试,一般大中型公司都设有专职测试人员 和专门的测试管理体系。他们在测试过程中采用了网络和集成信息管理技术, 利用局域网或广域网进行跨国、跨地区、跨公司的项目调试和测试,并利用大 型的测试管理系统对项目的开发过程进行跟踪,对测试结果进行保存、分析、 统计和生成报表。国内的企业也在逐步增加软件测试的人力和物力,也在开发 软件测试管理系统,但其实用化程度还不高,处于起步阶段。 1 1 2 问题提出 随着信息技术的飞速发展,软件产品已广泛应用于国民经济和国防建设的 各个领域,如:交通、银行、物流、航天、航空、军事指挥及作战等。软件产 品的质量已成为人们共同关注的焦点。软件开发商为了占有市场,必须把产品 质量作为企业的重要目标;用户为了保证自己业务能顺利完成,只有选用优质 的软件产品。质量不好的软件产品不仅使软件开发商的维护费用增多、信誉度 下降,甚至导致企业破产;还会使用户的成本大幅度的增加,甚至还可能因为 很小的软件错误导致整个系统的崩溃,造成巨大的经济损失和灾难性的后果。 软件测试是软件开发过程中的重要内容之一,是保证软件产品质量和可靠 性的关键。一个成功的软件产品背后离不开周密的、有组织的软件测试工作。 人们在探讨如何避免软件错误和提高软件质量的过程中已经逐渐认识到:不管 采用什么技术和什么方法,软件错误是不可避免的;虽然采用新的方法、先进 的开发方式、完善的开发过程,可以减少错误,但是不可能完全杜绝软件中的 错误n 5 】。这些错误需要测试来找出。因此,测试对于软件开发是必须的。据统 计,在软件开发过程中,软件测试的工作量往往占软件开发总工作量的4 0 , 一些可靠性要求非常高的软件甚至占软件开发总量的6 0 。随着软件规模的不 断扩大,软件测试在整个软件开发周期中所占比例日益增大。另外,根据对一 些著名r r 企业的统计,它们的软件测试费用占整个软件工程所有研发费用的 第2 页 第一章导论 5 0 以上。美国质量保证研究所对软件测试的研究结果表明:越早发现软件中存 在的问题,开发费用就越低;在编码后修改软件缺陷的成本是编码前的l o 倍, 在产品交付后修改缺陷的成本是交付前的1 0 倍:软件质量越高,软件发布后的 维护费用就越低 15 1 。在相当一段时间人们非常关注软件测试的技术和工具,随 着软件测试工作的日益庞大,软件测试的过程越来越受到重视,软件测试管理 工具应运而生。许多著名企业都有自己的软件测试管理系统。 国外的软件公司都十分重视软件测试,一般大中型公司都设有专职测试人 员和专门的测试管理体系。他们在测试过程中采用了网络和集成信息管理技术, 利用局域网或广域网进行跨国、跨地区、跨公司的项目调试和测试,并利用大 型的测试管理系统对项目的开发过程进行跟踪,对测试结果进行保存、分析、 统计和生成报表。国内的企业也在逐步增加软件测试的人力和物力,也在开发 软件测试管理系统,。但其实用化程度还不高,处于起步阶段,存在一些问题。 我国的软件企业,特别是中小型企业,在软件测试方面存在这些问题。第、 在认识上,重开发、轻测试。有的公司在编码后期才进行测试,有的采用谁开 发谁测试,有的甚至连测试环节都没有。根本没有认识到软件项目的如期完成 不仅取决于开发人员,而且取决于测试人员。第二、在管理上随意、简单。对 测试用例和缺陷从不做记录,或者简单地把它们写在w o r d 文档中,没有建立 有效的软件测试管理系统。因此,对于许多软件企业来说,不仅要提高对软件 测试的认识,而且还要建立完善的软件测试管理体系 第二节软件测试管理工具的现状 目前,国内外有代表性的软件测试管理工具有m i c r o s o f t 公司的r a s , m e r c u r yi n t e r a c t i v e 公司的t e s t d i r e c t o r ,mr a t i o n a l 公司r a t i o n a lc l e a r q u e s t , 中科软件科技股份公司的i t e s t 2 o 等。下面对这些工具作以简要的介绍和总结: 1 2 1r a m s r a d s 主要专注于缺陷管理工具,它提供了缺陷填报、缺陷查询等功能。 它的主要特点【1 6 】: ( 1 ) 采用c ,s 结构的英文界面,使用时需要先在客户端进行安装,然后连接到 共享的数据库服务器上,从而达到测试工作的协同合作。 ( 2 ) 填报缺陷时十分方便和智能:它可以方便的访问到测试用例库,且能从测 试用例库中查询到填写缺陷时的所有可选项,从而有效地提高了填写缺陷的效 第3 页 第一章导论 率。 ( 3 ) 方便的交流和沟通:使用r a i d s 可以方便地同时上传多个缺陷图片到缺陷 数据库中,测试人员和开发人员可以通过r a i d s 方便地进行沟通和交流,沟通 和交流的记录动态地显示出来。 ( 4 ) 良好的查询功能:查询界面动态生成,且可以动态地任意组合查询条件, 使用者可以方便的查询到自己所关心的缺陷。 1 2 2 c l 明r q u 鹤t i b mr a t i o n a lc l e a r q u e s t 是国内目前比较常用的一款缺陷管理工具,是一 个强大的缺陷和变更跟踪系统,能在整个开发过程中记录、跟踪缺陷,并以灵 活的工作流管理各种类型的变更请求,帮助用户以更高的效率交付出更高质量 的软件。它的具体特点如下【2 】: ( 1 ) 有效的记录、管理和追踪变更请求:它通过多种易于使用的客户端,在任 何地点、以任何方式都可以捕获在整个开发生命周期中出现的各种类型的变更 请求等等:所有的变更请求都存储在统一的数据库中,以便进行各种形式的查 询,同时也便于管理。 ( 2 ) 促进团队的沟通和协作:它提供了一套完备的电子流管理系统,可以利用 企业现有的邮件服务系统实现自动电子邮件通知功能。当系统提交了新的变更 请求或已有变更请求的状态发生变化时,c l e a r q u e s t 会通过电子邮件通知相关 的人员,从而大大提高了团队的沟通和协作。 ( 3 ) 随时随地了解项目状况:支持通过w e b 的方式对系统访问,在浏览变更请 求的信息、生成多种统计分析图表和项目状态报告。 ( 4 ) 灵活、客观的项目统计指标:它具有查询图表、报告等功能,使得项目管 理人员能够方便、准确地得到统计结果。 】2 3 i h ) i 唧t o r t e s t d i r e c t o r 是m e r c u r y 公司研制的基于w e b 的测试管理系统,它是英文 界面的管理工具。可以使用它来规范科学的测试管理流程,建立了针对项目的 测试方案和计划,消除组织结构间、地域间障碍,让测试人员、开发人员和其 他人员通过中央数据仓库在不同的地方就能够交互测试信息。而且 t e s t d i r e c t o r 将测试过程流水化从测试需求管理、测试计划、测试日程安 第4 页 第一章导论 排、测试执行到出错后的错误跟踪仅在一个基于浏览器的应用中便可完成 而不需要每个客户端都安装一套客户端程序。它的主要特点如下: ( 1 ) 采用b s 结构:能消除组织结构间、地域间的障碍。它能让测试人员、开 发人员或其它的i t 人员通过一个中央数据仓库,在不同的位置互通测试信息。 ( 2 ) 图形化和报表输出:t e s t d i r e c t o r 常规化的图表和报告可以帮助进行信息 分析,还可以h 删l 或w o r d 形式生成和发送测试报告。测试分析数据还可简便 地输入到一种工业标准的报告工具,如e x c e l 、r e p o r t s m i t h 、c r y s t a lr e p o r t s 和其它类型的第三方工具。 ( 3 ) 需求管理:t e s t d i r e c t o r 的需求管理可以让测试人员根据应用需求自动生 成测试用例,通过提供一个直观机制将需求和测试用例、测试结果和报告的错 误联系起来。它有两种方式可将需求和测试联系起来:一是通过捕获并跟踪所 有首次发生的应用需求,生成一份测试计划,并将测试用例对应于需求:二是 由于w e b 应用是不断更新和变化的,需求管理允许测试人员加减或修改需求, 并确定目前的应用需求已拥有了一定的测试覆盖率。 ( 4 ) 计划测试: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 在测试计划期间,为测试 小组提供一个关键要点和w e b 界面来协调团队间的沟通,指导测试人员如何将 应用需求转化为具体的测试计划,还能完善测试设计并以文件形式描述每一个 测试步骤,包括对每一项测试、用户反应的顺序、检查点和预期结果。 ( 5 ) 错误跟踪:t e s t d i r e c t o r 的错误管理功能直接贯穿并作用于测试的全过程, 包括从最初的问题发现到修改错误再到检验修改结果。 。 1 2 4i - i b t 2 0 软件测试管理系统i t e s t 2 o 是中科软科技股份公司按照国际质量管理标准、 引进国际先进的软件测试管理经验研制成功的软件测试管理系统,可大大提高 测试的有效性和效率,大幅度降低测试人员的工作量,提高管理层监控、协调 软件测试过程的能力,提高产品质量并减少开发和维护成本。其主要的功能及 特点如下h j : ( 1 ) 采用b s 结构,可以安装在w e b 服务器上,相关人员可通过i n t e r n e t 网 同时登录和使用,协同完成软件测试,减少人员集中的麻烦和出差费用。 ( 2 ) 提供测试用例数据库和缺陷数据库,项目有关人员可以按照访问权限设置, 第5 页 第一章导论 共享和使用这些数据库。提供相应的自动化功能,可高效编写、运行、查询测 试用例,可快速填写、修改和查询软件缺陷报告:自动统计工作进度,自动生 成各种统计图表,提供测试文档模板,可将测试文档及数据传送到m so f f i c e 排版、打印。 ( 3 ) 将软件缺陷生命周期分为6 个生命状态:o p e n 、w o r k i n g 、v e r i f y 、c a n c e l 、 c l o s e 、d e f e r ,可详细记录、跟踪和管理每个软件缺陷的生命过程,直至解决 这个缺陷。可设置软件缺陷的类型、严重级别和优先级别,按轻重缓急处理软 件缺陷。 ( 4 ) 加强软件测试管理的透明度,提高管理层监控、协调软件测试过程的能力, 可随时分析动态数据,发现问题、解决问题,以客观测试数据作为决策的依据。 下面对这四款软件测试管理工具进行比较。如下表所示: 表1 1 国内外主要软件测试管理工具比较表 r a s c l e a r q ! w 蚶 t t d i r e c t o oi - t e s t 2 0 界面语言英文英文英文中文 体系结构 c ,sc s 、b ,sb ,sb ,s 邮件通知支持支持支持支持 缺陷管理强 强强强 不支持不支持支持支持 测试用例管理 强、集成c r y s t a l 强、集成e x c e l 、 较强、支持 报表输出一般 r 印o n s i i l i 山、 r e p o r t e x c e l 和w o i d c r y s t a lr e p o n 统计分析一般一般强一般 支持平台 w i n d o w sw i n d o w s 、u n i l、w i n d o w sw i n d o w s o m c l e 、m y a c e s s 、 0 r a c l e 、m y a c e s s 、 o r a c l e 、 支持数据库 s q l s e r v e r s q l s e r v c r s q l s e r v e r s q l s e r v e r 价格贵昂贵昂贵适中 安装配置的复 杂程度 简单复杂简单简单 m i c m s 曲世界 己被m m 合并,世世界主流测试软件国内著名软件 公司背景 著名软件公司界著名软件公司工具提供商公司 通过对上述四款测试管理工具的总结,作为一款优秀的软件测试管理工具 应该具有以下特点: 第6 页 第一苹导论 ( 1 ) 采用b s 结构:可以保证人员不受时间和地域限制、随时随地进行交流, 这样便于信息的沟通、传递以及加快对软件测试的处理过程。 ( 2 ) 缺陷报告机制:缺陷在发现后的每一次的状态改变要有详细的记录,并有 查询、统计等功能;当缺陷由于某种原因不能立刻解决时,能够帮助项目管理 人员做出有效的判断。 ( 3 ) 便捷的信息通道:应具有邮件系统、公告信息、即时信息系统,便于人员 间及时、准确地交流缺陷状态变化、测试用例情况。 ( 4 ) 文档和图形输出功能:用文档记录缺陷的各种状态、用例的情况、项目的 相关信息;通过图表能直观的反应测试进展情况,这样不但能够把握项目整体 状态,还能关注指定细节,还可以方便各种分析的要求。 本文提出的测试用例管理系统包含上述特点外,还有以下三个显著的特点: ( 1 ) 系统分角色管理:系统中包含系统高级管理员、项目经理、开发人员和测 试人员。不同的人员按不同的权限对系统进行相应的操作。 ( 2 ) 系统实时地将测试项目、测试用例和缺陷联系在一起。不但便于对项目的 管理,而且有助于测试用例的复用,1 以及作回归测试。 ( 3 ) 对测试用例和缺陷能够按需求进行联合统计,并对系统做出评价。 第三节本文内容组织 虽然国外还有很多种软件测试管理工具,国内在这方面的研究开发工作比 较薄弱。但目前国内软件组织,特别是中小型软件公司,对软件测试管理工具 的需求日益增长。虽然上述工具提供了测试用例管理、缺陷管理等基本软件测 试管理功能,但同时他们也存在以下几个方面的局限性: ( 1 ) 费用太高,使得中小型企业不能承受,部分免费工具大多功能不完善; 由于文化差异,国外产品都是采用英文界面和文档帮助系统,需要较强的英语 基础; ( 2 ) 大部分产品的软件缺陷严重等级、优先级和其他分类属性以及测试用例的 分类属性划分均固定不变,不能适应不同软件组织的要求u “; ( 3 ) 大部分软件管理系统仅限于对缺陷的管理,并没有对测试用例进行管理或 对测试用例进行简单的记录。更没有将测试项目、用例和缺陷关联起来。 鉴于以上软件测试工具的局限性,并总结以上管理工具的特点,本文研究 和开发一个功能比较完善、操作比较简单的、使用较方便的、适合中小型企业 第7 页 第一章导论 的、基于w c b 的测试用例管理系统。 本文的主要内容如下: 第二章简要介绍软件测试和软件测试管理系统的相关理论,阐述了软件测 试管理体系必要性和主要功能以及基于w e b 的测试用例管理系统的相关开发知 识。 一 第三章详细阐述了基于w 曲的测试用例管理系统的组成和主要功能,着重 研究软件测试用例管理、软件缺陷管理、测试项目管理以及如何将三者实时的 相结合,并对该系统进行全面概述。 第四章详细地叙述了系统实现的核心技术:采用多层中间件的结构、面向 对象的设计方法和多层安全机制;介绍了系统的运行环境和工作流程;描述了 页面设计的格式:着重阐述了测试项目、用例库和缺陷库表的设计方法和相互 关系;最后叙述了系统的主要功能的设计方法和实现过程;并给出了相应的试 验结果。 第五章总结本文的工作,并对下一步工作提出了构想和目标。 第8 页 第二章相关的理论与技术 第二章相关的理论与技术 第一节软件测试理论 软件测试是保证软件质量的重要手段。软件测试是根据软件开发的规格说 明和程序的内部结构而精心设计的一组测试用例,并运用这些测试用例去测试 程序,以发现程序错误的过程【l7 1 。但是除了测试出软件缺陷外,还要对整个系 统的性能进行评测。软件测试的目的是以最少的人力、物力和时间投入,尽可 能多地找出软件中潜在的各种错误和缺陷,并证明软件的功能和性能与需求相 符合:同时测试结果为软件可靠性分析提供依据。软件测试是一个完整的体系, 主要由测试计划、测试设计、测试实施、资源管理等相互关联、相互作用的过 程构成。 2 1 1 软件测试的内涵 随着软件产品的开发和发展,人们逐步认识到软件测试的重要性。然而, 什么是软件测试? 长期以来人们的观点不同:1 9 7 5 年g o o d e n o u 曲首次提出了软 件测试理论口】,随后,h u a i l g 全面的讨论了测试准则、测试过程及测试数据生成 等软件测试问题【6 】;1 9 7 9 年m y e r s 认为o ( 1 ) 测试是为了发现故障而执行程序 的过程:( 2 ) 一个好的测试用例在于能发现至今未发现的故障;( 3 ) 一个成功 的测试是发现了至今未发现的故障的测试。1 9 8 3 年e e 提出的软件工程标准术 语中给出软件测试的定义:“使用人工或自动来运行或测试某个系统的过程,其 目的在于检测它是否满足规定的需要或是弄清预期结果与实际结果之间的差 别”。它定义包含了两方面的含义,一是是否满足规定的需求,二是是否有差别 “8 1 。这两个定义都把软件测试的目的归结为发现故障和找出实际结果与预期结 果之间的差别。某种意义上是比较符合实际的,但软件测试实际上贯穿于软件 开发的需求分析、项目设计、代码编写、项目发布及项目维护的任何阶段。软 件测试并非仅仅是为了要找出错误,而是通过分析错误产生的原因和错误的分 布特征,可以帮助项目管理人员、开发人员以及测试人员发现当前所采用的软 件开发过程的缺陷。并对这些缺陷进行分析,项目管理员可以完善项目开发的 第9 页 第二章相关的理论与技术 过程,开发人员可以总结出编写代码的规则,测试人员能设计出有针对性地测 试用例和检测方法,改善测试的有效性。没有发现错误的测试也是有价值的, 完整的测试是评定软件质量的重要方法。 2 1 2 软件测试的完整过程 由于人们对软件测试的认识逐步改变,软件测试的过程也发生了相应的变 化。传统的软件测试过程有典型的v 模型。它是由p a u lr o o k 在8 0 年代后期提 出的,它认为这个软件开发流程先后次序为:需求分析、概要设计、详细设计、 编码、单元测试、集成测试、系统测试、验收测试。在v 模型中左侧代表开发 过程,先从定义业务需求开始,然后要把这些需求不断地转换到概要设计和详 细设计中,最后编写程序代码;右侧代表测试流程,执行先从单元测试开始, 然后是集成测试、系统测试和验收测试。v 模型的价值在于它非常明确地表明了 测试过程中存在的不同级别,并且清楚地描述了这些测试阶段和开发过程问各 阶段的对应关系。它的缺点是把软件测试描述为编写完代码后,才能对项目依 次进行单元测试、集成测试、系统测试和验收测试。如图2 1 所示: 图2 1 软件测试过程的v 模型 显然,软件测试过程的v 模型忽视了软件开发与软件测试是并行的,误认 为缺陷仅仅是由于编码引入的。其实,大部分缺陷是因不明确的需求分析、不 合理的设计等埋下的隐患。错误在初期也许只是范围很小的隐藏问题,但由于 第1 0 页 第二章相关的理论与技术 各开发阶段的连续性,使其逐步扩展。如果早期开发中出现的错误不能及时发 现和解决,将要带到设计、编码、测试等阶段,影响逐步扩大,这将要付出不 必要的人力、物力来修正错误f 19 2 0 】。因此,测试应该从项目的需求分析开始, 贯穿于项目开发的全过程。若在代码编写完,再开始测试,这将使得测试阶段 占用大量的时间和资源,很难保证任务按时完成,无法保证软件的质量。 因此,本文提出的软件测试过程模型是将软件测试与软件开发并行工作的, 贯穿于软件开发的各个阶段。在项目做需求分析后,系统设计和测试数据的编 写同时进行,这样便于尽可能早地发现软件中的错误,缩短软件测试在软件开 发中所占的时间。软件项目一开始,软件测试也就开始了从产品的需求分析、 审查到最后的验收测试、安装测试、系统发布等。如2 2 图所示: 2 1 3 软件测试的实质 图2 2 软件开发和测试过程 软件测试的实质就是根据开发各个阶段的规格说明和程序的内部结构精心 选出一批测试数据,形成测试用例,并用这些测试用例去驱动被测程序,观察 程序的执行结果,验证所得结果与预期结果是否一致,然后做相应的调整【1 7 l 。 软件测试就是对已完成程序的执行过程,其目的是以最小的代价找出各类错误 和缺陷,证明软件的功能和性能满足客户需求,并定性定量地评价软件系统的 可靠性和稳定性【8 】。软件测试是一个完整的体系,主要由测试计划、测试设计、 测试实施、资源管理等相互关联、相互作用的过程构成。 第l l 页 第二章相关的理论与技术 第二节软件测试管理体系 2 2 1 软件测试管理系统组成 一谈到软件测试,人们往往想到的可能是软件测试技术和软件测试工具, 而软件测试过程的管理常常被忽略。对成千上万个测试用例的管理、对测试中 产生的缺陷的跟踪工作量是非常大的,并且在回归测试中,测试用例要多次复 用。如果没有管理工具,仅依靠手工处理,那么软件测试的管理将是非常麻烦 的。但软件测试工作自始至终都需要管理,无计划性和随意性是软件测试工作 的大忌。只有在科学有效管理的基础上,先进的软件测试技术和软件测试工具 才能发挥作用,才能保证软件测试项目的成功。为了获取高质量的软件产品, 尽可能的找出软件中的缺陷,最大限度的满足客户需求,加强对测试工作的管 理显得尤为重要。软件测试管理是一种活动,可以对项目各阶段的测试计划、 测试用例、测试流程、代码、测试文档等进行跟踪、管理并记录其结果,并将 其结果反馈给系统的开发者和管理者,同时将测试人员发现的错误和开发人员 修改错误地过程记录下来,生成问题报告并对之进行管理【2 ”。软件测试管理包 括多方面的内容。从时间顺序上来分,测试管理包括四项主要的括动:测试计 划、测试方案、测试实施和错误跟踪、测试总结与报告:从功能应用上来分, 测试管理分为三部分:测试控制对象管理、测试流程控制和管理、统计分析和 决策支持。软件测试管理是一项系统性的工作,为了保证系统的正常运行,保 证系统运行效率,需要把握好系统中的各个环节。通过对软件进行测试管理可 以使测试工作严谨有序,能尽早发现错误,降低开发费用,确保软件产品的质 量。因此,一个好的测试需要一种好的测试管理工具。 软件测试管理就是通过一定的管理方法和工具来对整个软件测试过程进行 监控,从而提高软件测试工作的绩效【1 ”。它通常包括用户管理、测试项目管理、 测试用例管理、缺陷管理、测试进度的管理、测试任务的管理等,并对某系统 作相应的评价。 2 2 1 1 用户管理 用户管理是软件管理的基本信息之一。因为系统是让人使用的,而用户信 息是一个系统最基本的信息。用户管理包括用户信息管理、用户权限管理、用 户调配管理。用户信息管理主要是对用户的姓名、联系方式、学历等进行管理。 第1 2 页 第二章相关的理论与技术 权限管理主要是对一个测试项目中的项目经理、测试经理、开发经理、程序员、 测试员对各种操作赋予不同的权利。用户调配管理主要是针对不同项目、不同 时期人员担任角色的不同进行相应的调整,分配不同的权限。使每个人最大限 度的发挥出自己的优势。 2 2 1 2 项目管理 测试项目管理是软件测试管理的一个非常重要组成部分。它由项目信息、 项目代码和项目文档等部分组成。测试项目信息包括测试项目名称、测试项目 编号、测试项目管理员、测试项目起始、终止时间等。测试文档信息包括测试 项目的需求说明书、概要设计书、详细说明书、测试计划、测试用例管理说明 书、缺陷管理说明书等。 2 2 1 3 测试用例管理 随着软件系统的规模越来越庞大,测试用例越来越多样化,如何管理己选取 的测试用例? 当系统有改动时,测试用例也需要修改,如何管理测试用例的修 改过程2 9 1 7 而且,一个测试项目包括一个测试用例库,一个测试用例库又包括 成千上万的测试用例。如何将一个项目的各类测试用例有效地组织? 本文采用 了测试项目、测试用例和缺陷的三层树结构来管理测试用例。如图2 3 所示: 图2 3 测试项目、用例和缺陷的相互关系 如上图中所示:一个项目包括一个测试用例库,一个测试用例库中包含多 第】3 页 第二章相关的理论与技术 个测试用例,一个测试用例对应于一个或多个缺陷,它们之间是紧密相连的。 测试用例由静态信息和动态信息组成。测试用例的静态信息包括:测试用例的 名称、测试用例说明、测试类型、测试用例库等;其动态信息有:测试用例的 版本、评审信息、执行过程、测试预期结果、测试的结果、测试用例之间的依 赖关系、测试用例与缺陷的关系、测试用例与项目的关系等。 2 2 1 4 缺陷管理 缺陷管理的重要性 缺陷管理是软件测试管理的重要组成部分。尽可能的发现软件的缺陷是软 件测试的目的之一。缺陷的管理应包括两方面:缺陷信息的收集、整理和缺陷 信息的利用、分析。测试人员发现缺陷后需要将对缺陷的理解描述出来,项 目开发人员、项目管理人员以及其他的测试人员来观察、验证、修改这些缺陷。 因此,建立一个易于使用的记录缺陷、修改缺陷、查询缺陷的管理系统是必不 可少的。缺陷管理主要是记录在测试过程中发现的问题( 缺陷) 并且进行同步 解决,而且根据这些记录的信息进行相关的查询、统计、分析及输出。 缺陷管理的目标 确保每个被发现的缺陷都能够解决,“解决”的意思不一定是被修改后没有 错误,也可能是其他处理方式( 例如,延迟到下一个版本中修正或者由于技术 原因不可能被修正) 。总之,对每个发现的缺陷的处理方式必须能够在开发组织 中达到一致:收集缺陷数据并根据缺陷图表识别测试过程的各个阶段,决定测 试是否结束;并对收集的信息进行数据分析。 缺陷管理的组成 缺陷管理由这几部分组成:缺陷的描述、缺陷的查询、缺陷的统计、缺陷 的输出以及缺陷与项目、测试用例之间的关联信息的管理等。其中缺陷的描述 包括对缺陷基本信息、附加信息、报告信息、分类信息、讨论信息及终结信息 的描述;缺陷的输出有图形和文档两种输出形式。 2 2 1 5 测试任务管理 测试任务管理是根据一个测试项目时间和成本要求,对测试项目进行任务 的划分、人员工作的安排、调整等。 第1 4 页 第二章相关的理论与技术 2 2 1 6 测试进度管理 测试进度管理是对测试时间和测试成本的控制和管理。测试时间包括:测 试开始时间、测试计划完成时间、实际完成时间、实际用时、剩余时间等。测 试成本包括:计划成本、实际成本、剩余成本等。 本文研究的软件管理系统主要侧重于测试项目管理、测试用例管理、缺陷 的管理,并在软件测试过程中实时地将测试项目、用例和缺陷联系起来,不是 单纯地将缺陷信息做个完整的记录。实现测试用例、缺陷、项目之间的动态管 理。因为孤立的测试用例管理、缺陷管理、项目管理是毫无价值,这三者是紧 密相联的。 2 2 2 建立测试用例管理系统的必要性 众所周知,软件开发的过程不同于其他的生产过程。它是一种不消耗原材 料的、主要以人的知识为生产工具的开发过程,其中大部分成本来自管理m 1 。 据统计,软件测试需要的时间和经费要占总开发成本的一半,而软件测试管理 工具占管理成本的大部分。由此可见,一个成功的软件测试管理系统是必不可 少的。在软件测试管理体系中,建立基于w 曲的测试用例管理系统是非常必要 的。因为一个测试项目的测试用例成百上千,对这些测试用例进行有效的组织 和管理是至关重要的9 】;一个项目在开发过程中会出现各种各样的缺陷,如何将 开发各个阶段测试的用例与缺陷“有机”的管理起来:随着软件规模的扩大, 软件在开发过程中要不停地做回归测试,测试用例将要多次重复利用,如何使 其方便的重复使用,这些问题值得我们深思。 目前测试用例的管理有两种方法:一是用文档的格式来记录测试用例,比 如用w o r d 或e x c e l

温馨提示

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

评论

0/150

提交评论