(计算机软件与理论专业论文)ram模型对测试用例设计适用性的实验研究.pdf_第1页
(计算机软件与理论专业论文)ram模型对测试用例设计适用性的实验研究.pdf_第2页
(计算机软件与理论专业论文)ram模型对测试用例设计适用性的实验研究.pdf_第3页
(计算机软件与理论专业论文)ram模型对测试用例设计适用性的实验研究.pdf_第4页
(计算机软件与理论专业论文)ram模型对测试用例设计适用性的实验研究.pdf_第5页
已阅读5页,还剩62页未读 继续免费阅读

(计算机软件与理论专业论文)ram模型对测试用例设计适用性的实验研究.pdf.pdf 免费下载

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

文档简介

r a m 模型对测试用例设计适用性的实验研究 摘要 市场驱动的需求工程中,需要管理大流量、多来源、多抽象层次的持续的需求 流,而不仅是管理来自于特定客户和用户的需求。作为一种用于需求获取和管理的 分级结构化的方法,r a m 模型能够在市场驱动的需求过程中,基于需求的自然特性 管理软件需求。其可用性已经在企业中得到了验证。而将r a m 应用到早期软件测 试能够更有效地验证在市场驱动的需求工程环境下的软件需求以确保软件质量,现 阶段还没有相关的研究。本论文探讨了与此相关的实验研究,通过比对传统需求规 格说明方法i e e e 标准,从有效性和效率两个方面,进行了r a m 模型对测试用例设 计适用性的实验研究。本文在改进初始实验的基础上,在企业环境中设计并组织实 施了由程序开发人员参与的规范实验。 对所收集的实验数据的统计分析表明,在测试用例设计的有效性方面,r a m 模 型与i e e e 标准没有显著差异,但在测试用例设计的效率方面,r a m 模型的效率要 高于i e e e 标准。综合考虑有效性和效率两个方面,r a m 模型适用于测试用例设计。 这为今后进一步研究在市场驱动的需求工程中基于r a m 模型的测试用例生成方法 提供了一定的参考和依据。 硕士研究生吴鸿( 计算机软件与理论) 指导教师魏长江教授 关键词:r a m 模型;测试用例设计;有效性;效率;实验 e x p e r i m e n t a lr e s e a r c ho nt h es u i t a b i l i t yo fr a m f o rt e s tc a s ed e s i g n a b s t r a c t i nm a r k e t - d r i v e nr e q u i r e m e n t se n g i n e e r i n g ,i td e m a n d ss u p p o r tf o rh a n d l i n gt h e r e q u i r e m e n t sc o n t i n u a l l yc o m ei i lf r o mm u l t i p l es t a k e h o l d e r so nm u l t i p l ea b s t r a c t i o n l e v e l si n s t e a do fs o m es p e c i f i cc u s t o m e r s a sah i e r a r c h i c a la b s t r a c t i o nm e t h o d , r e q u i r e m e n t sa b s t r a c t i o nm o d e lw a sd e v e l o p e df o rr e q u i r e m e n t sm a n a g e m e n tb a s e do n t h en a t u r a lc h a r a c t e r i s t i co fr e q u i r e m e n t s r a mw a sv a l i d a t e di ni n d u s t r yo nt h eu s a b i l i t y f o rr e q u i r e m e n t sm a n a g e m e n t t h e r ea r en or e s e a r c h e so nw h e t h e ru s i n gr a mf o r s o f t w a r et e s t i n ga te a r l ys t a g e so fs o f t w a r ed e v e l o p m e n tp r o c e s sc a ne f f e c t i v e l yv a l i d a t e s o f t w a r er e q u i r e m e n t si nm d r ef o re n s u r i n gs o f t w a r eq u a l i t y n i st h e s i sp r e s e n t ss u c h a ne m p i r i c a lr e s e a r c ht h a ta ne x p e r i m e n t a t i o nr e s e a r c hw i t hag o a lo fe v a l u a t i n gt h e s u i t a b i l i t yo fr a m f o rt e s tc a s ed e s i g nw i t hr e s p e c tt oe f f e c t i v e n e s sa n de f f i c i e n c yb yt h e c o m p a r i s o nw i t hi e e es t d w h i e l l i sas t a n d a r do ft h et r a d i t i o n a lr e q u i r e m e n t s s p e c i f i c a t i o n i nt h et h e s i s ,ac o n t r o l l e de x p e r i m e n ti sc o n d u c t e db a s e do nt h er e f i n e m e n t o fa ni n i t i a le x p e r i m e n tp l a n n i n g ,a n di so p e r a t e dw i t ht w e n t yd e v e l o p e r si ni n d u s t r y a n a l y s i so ft h ec o l l e c t e dd a t af r o mt h ee x p e r i m e n ti n d i c a t e st h a tr a mh a sas i m i l a r e f f e c t i v e n e s so nt e s tc a s ed e s i g na su s i n gt h er e q u i r e m e n t si nm e es t d f o r m a t w h i l ei s m o r ee f f i c i e n to nt e s tc a s ed e s i g n t h e r e f o r e ,r a mi ss u i t a b l ef o rt e s tc a s ed e s i g n ,a n d h a sb e t t e rp e r f o r m a n c et h a ni e e es t d c o m p r e h e n s i v e l yi nv i e wo fb o t he f ! f i c i e n c ya n d e f f e c t i v e n e s s t h i sc o n c l u s i o np r o v i d e sr e f e r e n c ea n db a s i sf o rd e s i g n i n gn e wm e t h o d s b a s e do nr a mf o rt e s tc a s ed e s i g ni nm d r e p o s t g r a d u a t es t u d e n t :h o n gw u ( c o m p u t e rs o f t w a r e t h e o r y ) d i r e c t e db yp r o f e s s o r :c h a n g - j i a n gw e i k e yw o r d s :r a m ;t e s t e a s ed e s i g n ;e f f e c t i v e n e s s te f f i c i e n c y ;e x p e r i m e n t 学位论文独创性声明、学位论文知识产权权属声明 学位论文独创性声明 本人声明,所呈交的学位论文系本人在导师指导下独立完成的研究成果。文中 依法引用他人的成果,均已做出明确标注或得到许可。论文内容未包含法律意义上 已属于他人的任何形式的研究成果,也不包含本人已用于其他学位申请的论文或成 果。 本人如违反上述声明,愿意承担由此引发的一切责任和后果。 论文作者签名:呈鸡日期:力矽年r 月,口日 学位论文知识产权权属声明 本人在导师指导下所完成的学位论文及相关的职务作品,知识产权归属学校。 学校享有以任何方式发表、复制、公开阅览、借阅以及申请专利等权利。本人离校 后发表或使用学位论文或与该论文直接相关的学术论文或成果时,署名单位仍然为 青岛大学。 本学位论文属于: 保密口,在年解密后适用于本声明。 不保密叼。 ( 请在以上方框内打“4 ”) 论文作者签名:关妈 导师签名: 日期:2 纠罗年r 月,9 日 日期: 沙刀年歹月,口日 ( 本声明的版权归青岛大学所有,未经许可,任何单位及任何个人不得擅自使用) 腑 蕊 第一章引言 1 1 研究背景和意义 第一章引言 过去十几年在需求工程领域的研究表明,需求工程已经由传统预定式的需求工 程( b e s p o k er e q u i r e m e n t se n g i n e e r i n g ) 转变为市场驱动的需求工程( m a r k e t d r i v e n r e q u i r e m e n t se n g i n e e r i n g ,简称m d r e ) i f 4 j 。虽然m d r e 在许多方面与传统需求工 程有相似之处,即传统需求工程使用的一些方法在m d r e 中仍然适用,但m d r e 具有新的特性,如上市时间特性( t i m e t o m a r k e t ) 和由内部丌发部门创造需求掣卫。 这些新的变化也为软件开发的需求过程带来了新的挑战。例如,在m d r e 中,产品 需求来源于包含大量不同种类的涉众( s t o c k h o l d e r ) 的市场,因而所获得的需求也 自然地具有不同的抽象层次,并且需求过程是持续的。在这种情况下,使用分级结 构化的模型获取和管理需求能够为产品管理在需求的选择开发和企业资源利用方面 起到平衡作用【5 6 1 。需求抽取模型( r e q u i r e m e n t sa b s t r a c t i o nm o d e l ,简称r a m ) 5 1 就是这样一种分级结构化模型。它根据需求自身的抽象层次对其分级管理,并将各 抽象层次的需求相关联,从而增强了需求的可测试性和可理解性。因此,在需求管 理方面,r a m 模型可为需求的后续处理,如需求的优先级划分和需求的选择等,提 供更好的决策支持l 引。 另一方面,许多研究和实践表明,越早发现并修复软件中的错误和缺陷,其花 费越t j 、l t l 。因此,软件测试活动应在软件开发过程的早期就开始计划、设计并实施。 作为软件开发的第一步,从需求工程中获得的高质量的需求( 如具有可理解性和可 测试性等) 3 3 ln - i 作为在软件开发过程早期进行软件检验和验证( s o f t w a r ev e r i f i c a t i o n a n dv a l i d a t i o n ) 的重要输入【1 叭2 1 。文【8 ,9 】给出了在需求过程中基于传统需求描述( 如 i e e e 标准1 1 5 j ) 进行软件测试时对需求可测试性的评判标准。但是较少有文献资料关 注分级结构化需求管理模型在软件测试中的应用。 本论文阐述了与此相关的实验研究n 引,即通过比对传统需求描述方法i e e e 标 准,从有效性和效率两个方面,评估r a m 模型对测试用例设计适用性的实验研究。 为达到该研究目的,本文在改进初始实验计划的基础上,在企业环境中设计并组织 实施了由程序开发人员参与的规范实验。 1 2 国内外研究现状 近些年的研究表明,需求工程不再是传统的面向特定客户预订式的需求过程, 它正发生着变化【1 4 1 。例如,基于目标的需求工程( g o a l b a s e dr e q u i r e m e n t s e n g i n e e r i n g ,简称g o r e ) f 狮2 】是关注于如何获取那些可转化为产品需求的目标, 1 青岛大学硕十学位论文 并通过将其自顶向下的分解精炼得到所开发产品的需求。在对目标的分解精炼过程 中,可以自然得到需求的不同抽象层次及其关联,从而根据其层次和关联对需求进 行管理,如对需求的跟踪等。 市场驱动的需求工程则是关注于以市场为导向的软件产品的整个需求获取、分 析和管理过程【3 】。软件开发过程的市场驱动性使得需求过程具有了新的特点,即软 件的开发由以前的项目起始变为需求起始,如图1 1 所示。 图1 1 需求在软件开发过程中的不同角色 从图1 1 可以看出,在以需求起始的软件开发中,需求来源多种多样并具有市 场导向性,因而需求本身自然地具有了多抽象层次的特点。而市场驱动的需求工程 就是通过对这些大量的具有多抽象层次的需求进行细化、分析协商和管理,从而获 得高质量的需求以驱动后续一系列的项目开发活动。在由这些需求驱动的增量式开 发过程中,开发产品的一个版本( r e l e a s e ) 1 6 】主要需要考虑三方面的问题,即该版 本中应包含并实现哪些需求、什么时候向市场发布此版本,以及开发该版本的花费。 另外,还要为产品的整体开发过程做好决策规划,即制定版本计划( r e l e a s ep l a n n i n g ) 【6 l 。其主要内容包括决定什么时间为满足哪些客户或用户的哪些要求而开发包含哪 些需求的产品版本,以及根据该版本所要达到的质量等级决定本次开发过程中各类 资源的投入。由此可见,在市场驱动的需求工程中市场是影响产品开发的最重要因 素之一。 2 第一章引言 测试用例设计是软件测试过程中的一个重要活动。作为系统测试或组件测试的 部分,测试用例的设计以有效的发现软件的错误和缺陷为目标,用来确认所开发 的系统是否实现了既定的软件需求1 1 ,即通过设计并运行测试用例发现需求中存在 的问题并最终验证需求。另外,在编码前基于用户需求设计测试用例也是极限开发 ( e x t r e m ep r o g r a m m i n g ) l z o l 的组成部分之一。 测试用例目前没有经典的定义,比较通常的说法是指对一项特定的软件产品进 行测试任务的描述,体现测试方案、方法、技术和策略【3 5 】。编写测试用例的内容一 般包括测试目标、测试环境、输入数据、测试步骤、预期结果等1 1 9 1 。一组测试用例 被称为一个测试用例集( t e s ts u i t ) 。通常,为测试一个需求需要设计多个测试用例 作为一个测试用例集以覆盖需求的不同情况。由于在软件测试上的高花费以及软件 失效的重大影响,如何选择适合的测试用例测试系统是测试工作中的一项重要任务。 有效地评价测试用例的质量有利于促进测试结果。在评价测试用例质量时应考虑以 下三个方面【1 6 】: 1 ) 度量的对象。在度量测试用例质量前应首先确定度量的对象,即是度量单 个测试用例、度量测试用例集,或是度量生成测试用例的方法。 劲度量的内容和度量阶段。区分在不同的软件开发阶段有哪些可用于生成测 试用例的文档制品是十分重要的。例如,在需求阶段,测试用例是基于需 求说明书设计的。在这种情况下,对需求的覆盖可作为度量测试用例质量 的标准之一。而发现软件缺陷的数量的标准更适用于在编码阶段基于代码 的测试用例评估。 3 ) 区分绝对质量和相对质量。在现实中很难定义一个测试用例质量的绝对测 量,所以更合理的度量应关注于质量的相对性,如哪一个测试用例的质量 更好些。 在本论文的课题研究中,实验的内容之一就是基于需求规格说明书设计编写测 试用例,即对每一个测试需求设计编写测试用例以测试其功能。而依照文1 2 2 j ,现存 的黑盒测试方法并不支持基于需求的测试用例设计。虽然一些基于规范语言的测试 用例自动生成方法支持基于需求的测试用例设计,但考虑到在本课题实验中所使用 的需求规格说明书是基于自然语言的,另外培训参与者实验的人员使用规范语言设 计编写测试用例将花费大量时间,而本课题的实验时间比较有限,所以在实验中不 采用基于规范语言的自动化测试方法。作为替代,实验参与者可以使用基于场景的 方法( s c e n a r i o b a s e dm e t h o d ) 2 3 l ,先将需求说明转化为不同的场景,再根据场景设 计测试用例。在实验过程中,对需求进行场景转化的部分不需要进行文字记录。 另外,在实验研究方面,国外已经有一些关于测试用例生成、测试用例质量以 及测试用例优化的实验研究【砒7 l ,但大都是基于规范语言或自动测试方法的实验研 3 青岛大学硕士学位论文 究。虽然这些实验与本课题实验使用的方法差异较大,但学习这些实验的过程加深 了对实验研究的理解,也对本课题实验的设计规划起到了一定的指导作用。 1 3 课题的研究目的和研究问题 本论文的课题研究目的是使用实验研究的方法,通过与i e e e 标准比较,从有 效性和效率方面评估r a m 模型对测试用例设计的适用性。在本论文工作开始前, 就同一课题进行了初始实验设计,并做了前期测试以评估该初始实验设计( 对初始 实验计划的介绍见3 1 节) 。在此基础上,为达到本论文课题的研究目的,本课题 的研究步骤如下: 1 ) 根据前期测试结果和反馈信息,以及最终j 下式实验新的实验环境,改进初 始实验计划; 2 1 在企业环境下组织实施正式实验,并收集相关实验数据; 3 ) 统计分析所收集的实验数据,并回答本课题的研究问题。 本课题研究目的可被概括为这样的研究问题,即与i e e e 标准比较,r a m 模型 在有效性和效率方面是否适用于测试用的设计。本课题实验选取了四个直接测量 ( d i r e c tm e a s u r e m e n t ) 2 8 1 以细化有效性和效率,即将有效性细化为设计编写的测试 用例对测试需求的覆盖和测试用例运行的有效性两个方面;将效率细化为设计编写 测试用例所花费的时间和设计编写测试用例所用到其他相关需求的数量两个方面。 有关这四个直接测量的详细介绍见3 3 2 节。在此基础上,可将原研究问题细化为以 下六个子问题: 1 ) 是否基于r a m 模型格式的需求设计编写测试用例,其对测试需求的覆盖要 优于基于i e e e 标准格式的需求设计编写的测试用例? 2 ) 是否基于r a m 模型格式的需求所设计编写的测试用例,在其运行的有效性 方面优于基于i e e e 标准格式的需求所设计编写的测试用例? 3 ) 基于r a m 格式的需求所设计编写测试用例的有效性是否优于基于i e e e 标 准格式的需求所设计编写测试用例的有效性? 4 ) 基于r a m 模型格式的需求设计编写测试用例与基于i e e e 标准格式的需求 相比,哪个花费的时间少? 5 ) 是否使用基于r a m 模型格式的需求获取设计编写测试用例的相关信息时, 所用到其他相关需求的数量会比使用基于i e e e 标准格式的需求设计编写 测试用例而用到其他相关需求的数量少? 回基于r a m 格式的需求进行测试用例设计的效率是否高于使用基于i e e e 标 准格式的需求? 其中,问题一至问题三是为评估有效性方面设置的,而问题四至问题六是为评 4 第一章引言 估效率方面设置的。根据以上的六个研究问题,本文将选择和定义相应的实验变量, 并通过统计分析实验后所收集到的实验数据,回答这六个研究问题。 1 4 课题的研究方法 研究方法一般可分为定量分析和定性分析两类【1 4 l 。定量分析方法,例如调查 ( s u r v e y ) 1 4 l 和实验( e x p e r i m e n t ) 1 1 3 l ,是对事物数量的分析,其关注于通过度量 和统计来评估和解释某种因果关系。而定性分析方法,例如案例分析( c a s es t u d y ) 1 1 4 】,则是对事物性质的分析,更注重于通过多个角度理解分析社会或人类各种问题 的过程。 本论文的课题研究综合使用了定量分析和定性分析的研究方法。首先,本文使 用定性分析方法,通过查阅有关软件工程中实验研究的文献资料,详细了解如何根 据本课题的研究内容设计规范实验规划。然后,本文使用定量分析方法,在改进初 步实验计划的基础上设计了一个完整的正式实验规划,并在实验实施后收集相关实 验数据进行统计分析,再根据获得的实验结果解答设定的研究问题,从而达到本课 题既定的研究目的。 本文的主要创新点如下: 1 1 针对r a m 模型在测试用例设计方面的适用性进行了研究; 2 ) 运用规范实验的方法研究这一课题,并在企业环境下设计实施了全新的规 范实验; 3 1 经分析,实验结果表明r a m 模型适用于测试用例设计。这为今后研究基于 洲模型的测试用例设计方法或框架提供了一定的理论基础。 1 5 本文的组织结构 本文的组织结构如下: 第一章,引言部分,首先介绍了本课题的研究背景和意义,阐述了国内外研究 现状。然后说明了本课题的研究目标和研究问题,以及本课题的研究方法和主要创 新点; 第二章,是对r a m 模型简介,包括其分级结构和对需求处理的过程; 第三章,详细介绍为本课题的研究所设计的完整实验规划,包括了对初步实验 设计的简介和在此基础上对实验规划的改进。重点介绍了本课题最终的正式实验规 划,包括实验目的、实验变量的选择和定义、实验假设、实验环境和实验主体的选 择、实验指导设计、实验类型设计,以及用于实验数据的分析步骤和方法。然后说 明避免对于实验结果有效性威胁的措施。最后介绍正式实验实施的过程; 5 青岛大学硕士学位论文 第四章,是对收集到的实验数据的统计分析,包括对直接测量的原始数据分析、 对收集于不同公司的实验数据的独立分析和所有实验数据的组合分析。在此基础上 回答本课题设定的全部研究问题; 第五章,总结与展望,对本论文的工作进行总结,并对下一步的研究进行展望。 6 第二章r a m 模型概述 第二章r a m 模型概述 由以项目为中心的软件开发向以产品为中心的丌发过程的转变要求企业在软件 开发过程中对来自市场的大流量需求的管理给予更多支持1 1 卅。在这样的背景下, g o r s c h e k 和w o h l i n 为达到这一要求而设计了需求抽取模型r a m 5 。虽然r a m 模 型最初是针对于解决瑞典d a n a h e rm o t i o ns 萏r 6a bf d h r ) 公司在市场驱动的需求工 程中的实际问题而设计,但在r a m 模型设计中也考虑了灵活性因素,即通过裁减 r a m 模型可以满足不同企业在不同开发环境中的应用。通过在企业环境下的静态验 证和动态验证,r a m 模型的实用性和可用性己得到确认1 3 4 1 。 不同于将所有需求进行同抽象级处理的传统方法,r a m 模型对需求的处理是基 于需求自身的不同抽象层次进行的,即r a m 模型按照需求自身的抽象层次区分处 理。这样使得软件设计和开发人员能更好地理解哪些是应开发的产品需求、需求的 目的是什么,以及需求之间的关系如何等【5 1 。作为一个分级结构化需求管理模型, r a m 模型的基本结构由四个抽象层次组成,分别为产品层( p r o d u c tl e v e l ) 、特性 层( f e a t u r el e v e l ) 、功能层( f u n c t i o nl e v e l ) 和组件层( c o m p o n e n tl e v e l ) ,如 图2 1 所示。 (企业策略j 一。”一 一。一一4 。 产品策略j 。,。 一, 7 r a m 模型抽象层次 1 ,、 产品层( 目标)| 特性层( 特性) | 功能层( 功能动作) | 组件层( 功能具体组成细节) | 图2 1i 乙气m 模型的基本分级结构 产品层是删模型分级结构中的最高抽象层。处于这一层次的需求不是传统 意义的需求,而更接近于产品的远景,即产品层的需求可以与产品战略进行直接比 较并与公司战略进行间接比较,从而增强所开发产品的可理解性。洲模型的第二 层次是特性层。特性层的需求说明了产品应支持的特性,但并不详细描述各产品特 性所包含的具体功能。删模型的第三层次功能层包含了产品的功能性需求和非功 能性需求。这一层次中的需求详细描述了产品功能,是产品的后期设计开发的基础。 组件层是l 乙蝴模型中的最低抽象层。组件层的需求是对功能层需求的再细化,更 7 青岛大学硕士学位论文 接近于对产品功能的详细设计描述。组件层的存在主要是考虑到在m d r e 中有一些 需求是来源于内部开发部门的工程师和程序设计人员的,而他们对需求描述的角度 更接近于产品如何设计开发。 基于以上的四层抽象结构,r a m 模型通过三个步骤处理需求,如图2 2 所示。 r a m 模型对需求处理的第一步是需求说明。在这一步骤中,r a m 模型通过不同的 属性对所有获得的原始需求进行详细说明。主要属性有需求名称( t i t l e ) 、需求描述 ( d e s c r i p t i o n ) 、需求的缘由和成效( r e a s o n b e n e f i t ) 。以及需求的约束和风险 ( r e s t r i c t i o n s r i s k s ) 。这一步的目的是通过对原始需求的详细说明获得对产品需求 的整体理解。r a m 模型对需求处理的第二步是将已详细说明的需求按其抽象层次放 置到相应的分级层次中。这一步的主要目的是将详细说明后的需求按其自身的抽象 层次进行分级。r a m 模型对各抽象层次的需求进行的第三步处理则是对各抽象层的 需求进行抽象或分解,并建立各层次需求间的关联。在这一步处理中可能会抽象或 分解出新的需求。对需求的抽象或分解需依照以下两个规则1 5 j : 1 1 不应存在与产品层没有关联的需求。 2 ) 所有需求应分解到功能层。 按照规则一,处于较低抽象层的需求通过向上抽象获得新的具有较高抽象层次 的需求。按照规贝, t j - ,处于较高抽象层次的需求通过向下分解会产生新的具有较低 抽象层次的需求。但在r a m 模型中的所有需求通过第三步的处理都会相互关联。 因此,经r a m 模型处理过的需求不再是单一需求,而是一个包含了从产品层需求 到功能层( 或到组件层) 需求的需求链。这样可以为理解需求提供更多的信息,也 为需求的后续处理,如需求的选择和需求优先级划分,给予更多的决策支持。 原始需求 勘勘蛰 图2 2r a m 模型需求处理步骤 8 第三章实验规划 第三章实验规划 本章详细介绍了本论文研究课题的实验规划。首先简述初始实验计划以及对该 计划的各项改进。在此基础上,详细介绍正式的实验规划,包括实验目的、实验变 量的选择和定义、实验假设、实验环境和实验主体的选择、实验指导设计、实验类 型设计,以及实验数据的分析方法。然后分析对正式实验规划有效性的威胁及应对 措施。最后介绍正式实验的实施过程。 3 1 初始实验计划简介 在本论文研究项目开始f j 设计了一个初始实验计划。在该初始实验计划中,实 验目的被定义为通过比对i e e e 标准,从有效性和效率两个方面,评估r a m 模型对 测试用例设计的适用性。计划将该实验分别在青岛大学和瑞典布莱京理工大学 ( b l e k i n g et e k n i s k ah 6 9 s k o l a ,简称b t h ) 进行,并选择青岛大学的计算机软件与 理论专业和布莱京理工大学软件工程专业的硕士研究生作为实验主体参与实验。该 实验的类型被设计为单因子( 需求描述格式) 双处理( i e e e 标准格式和r a m 模型 格式) 实验,。因此在实验中,实验主体会被随机分配到两个小组中( 每组人数相同) , 并基于不同格式的需求说明设计编写测试用例。在该实验的初始计划中定义了相应 的实验变量和度量( m e a s u r e ) 1 1 3 j ,例如把“有效性”定义为测试用例集的平均质量, 并通过对待测试需求的覆盖性和对测试用例集运行的有效性两个度量对“有效性 进行评估。而对于“效率 的评估,则选取测试用例集设计编写的时间花费和为获 得该测试用例集设计编写的相关信息而使用的其它相关需求的数量两个度量。 实验中使用由瑞典布莱京理工大学m i k a e ls v a h n b e r g 博士编写的课程管理系统 ( c o u r s em a n a g e m e n ts y s t e m ,简称c m s ) 的需求规格说明书作为设计编写测试用 例的实验材料。c m s 系统是为满足大学对课程信息化管理的要求而设计的。它主要 包括了课程信息管理和课程参与者管理。其中,c m s 系统可为课程的参与者提供如 课程消息、课程进度安排、相关课程材料等信息。c m s 系统的使用者主要包括课程 管理员、课程助教、学生和系统管理员。选择该系统的需求规格说明书作为实验材 料是因为与c m s 系统类似的打l e a r n i n 9 1 系统正在瑞典各大学使用,在校学生对该 系统功能相对比较熟悉,有助于他们更好地参与实验。 初始实验计划设计完成后,在b t h 进行了一次前期测试以评估该计划。两名就 读于b t h 软件工程专业的硕士研究生参与了该前期测试。为避免对实验结果有效性 的不良影响,在参与前期测试前,两名实验参与者仅被告知了该测试的目的,且未 1 打譬l e a r n i n g 系统请见:h t t p s :w w w i t s l e a m i n 2 c o m 9 青岛大学硕士学位论文 提前获得任何相关实验材料。前期测试由两个部分组成,即实验学习和培训部分和 实验任务实施部分。在实验学习和培训部分中,实验参与者了解到了与实验相关的 背景知识和实验指导,以便其理解实验内容以及如何实施相应实验任务。该部分大 约进行了2 5 分钟。其后,在实验任务实施部分,按照实验计划,两名实验参与者被 分成两组后,分别填写了背景评估调查问卷并基于各自的需求描述格式为c m s 系统 的十个待测的功能性需求设计编写测试用例。该部分大约进行了8 0 分钟。在结束以 上两个部分后,收集了实验参与者对该初始实验计划的意见和建议,用以评估该初 始实验计划并对其加以改进。 3 2 实验计划改进 基于前期测试以及实验参与者的反馈意见和建议,本文总结了初始实验计划的 缺陷,并制定了相应的改进措施。各缺陷和相应改进措施如下: 1 ) 实验主体对c m s 系统的理解不足而影响实验任务的实施。如在上一节中所 述,在前期测试前,实验参与者仅被告知了该前期测试的目的,且未提前 获得任何相关实验材料,因此他们是在前期测试的实验学习和培训部分第 一次阅读到c m s 系统的需求规格说明书。由于时间有限,实验主体可能会 因为对测试系统及其需求的理解不足而影响到测试用例的设计和编写。在 前期测试结束后,两名实验参与者也反馈了类似的意见,即没有足够的时 间理解待测系统及其需求,所以不能很有效地设计编写测试用例,并建议 在正式实验实施之前向实验主体发放完整的c m s 需求规格说明书。 改进若拖为使实验主体充分理解待测系统及其需求,在正式的实验规划中, 完整的c m s 系统规格说明书将提前两天发放给实验主体,并要求其在参与实验前阅 读该文档,以便更好地理解待测系统及其需求。而另一份实验材料,即包含十个待 测需求的文档材料,仍将在进行实验进行时发放给实验主体。由于在实验进行中还 将用到完整的c m s 系统规格说明书,所以要求实验主体携带该实验材料参与实验。 2 ) 需改进实验实施步骤。如上节所述,前期测试主体由两个部分组成,即实 验学习和培训部分和实验任务实施部分。其中,实验任务实施部分包括两 项内容,即实验主体的背景评估和测试用例的设计编写。在这种情况下, 实验分组是在实验任务实施部分前进行的。因此,在实验学习和培训部分, 所有的实验参与者会了解到相同的实验学习和培训内容,即未来各分组中 的实验主体会了解到另一分组的实验背景知识和实验任务。这将威胁到实 验结果的内部有效性i l 引。 改迸黝对实验实施步骤作如下改进。首先,将实验主体的背景评估提前到 正式实验前进行,以评估实验主体的背景差异性。然后基于背景评估的结果,在正 1 0 第三章实验规划 式实验前对实验主体进行分组。而币式的实验实施过程仍由两部分组成,即首先进 行实验学习和培训部分再进行实验任务实施部分。但不同之处在于,改进后的实验 任务实施部分只包括测试用例的设计编写任务。在此情况下,各组的实验主体在实 验学习和培训部分进行中将只获得与该组实验任务相关的实验背景知识和实验培 训,这样就避免了由于各组间了解彼此的实验内容而造成对实验结果有效性的不良 影响。 3 ) 需改进实验学习和培训部分的内容。在实验实施过程中,实验学习和培训 部分的作用是为实验主体介绍相关的实验背景知识并按实验任务对其进行 培训,使其理解实验内容并完成相应实验任务。如上节所述,在实验的初 步计划中,所有实验主体有着相同的实验学习和培训部分,这将对实验结 果的内部有效性产生不良影响。另外,在实验的初步计划中,实验学习和 培训部分在内容上包含了有关实验计划的内容,如实验假设,变量的选取 等。实验主体在了解到这些信息后,可能会在实施实验任务过程中猜测实 验结果,从而影响到实验结果的有效性。 我进若旌在正式的实验规划中,实验学习和培训部分的内容将基于不同分组 重新设计编写。例如,基于i e e e 标准格式的需求设计编写测试用例的分组,在实 验学习和培训部分中,只会了解到有关i e e e 标准的背景知识以及如何基于该格式 的需求设计测试用例,而不会了解到任何有关r a m 模型的内容。另外,在重修设 计编写的实验学习和培训部分内容中,将不包含任何与实验计划本身有关的信息。 除了上述改进外,由于正式实验的实验环境的变化,本文还基于新的实验环境 对实验计划做了相应的改进。如3 1 节所述,按照初始实验计划,本研究课题的实 验将在青岛大学和瑞典布莱京理工大学进行,实验主体分别为两校的计算机软件与 理论专业和软件工程专业的硕士研究生。但由于时间及资源的限制,该实验未能按 原定计划在学校内实施。最终,本课题的实验研究选择在企业环境下继续进行。经 过联系沟通,青岛软件园中的两家软件公司,即创迹软件有限公司青岛分公司2 和青 岛高校信息产业有限公司3 ,参与到本课题的实验研究中,并为本课题的实验研究提 供了相应的资源支持。通过与两家公司的负责人对本课题研究内容和改进后的实验 规划进一步的沟通协商,两家公司最终决定各自从暂时空闲的程序丌发人员中随机 选择1 0 人作为实验主体参与正式实验的实施,即共有2 0 名程序开发人员参与正式 实验。由于这两家公司有各自的工作时间安排,所以正式实验无法安排在同一时间 进行。另外,由于这2 0 名实验参与者来自具有不同企业背景的公司,若将其结合为 一个总体进行分组也会由于各自不同的企业背景对实验结果的有效性造成不良影 2 有关创迹软件有限公司青岛分公司的详细信息,请见h t t p :w w w t r e c h i n a t o m 3 有关青岛高校信息产业有限公司的详细信息,请见h t t p :w w w g a o x i a o i t t o m 1 1 青岛大学硕士学位论文 响。综合考虑以上因素,经协商,最终的正式实验分别在两家公司独立实施。因此, 在每一次实验中,有1 0 名程序开发人员作为实验主体参与实验。他们将根据背景评 估的结果被随机分为两组,5 人一组。一号组的实验主体将基于i e e e 标准格式的需 求说明书设计编写测试用例,而二号组的实验主体将基于r a m 模型格式的需求说 明书设计编写测试用例。由于正式实验只在国内实施,所有的实验材料只是用中文 版本。在后面的内容中,本文用“a 公司 和“b 公司”代替两家参与实验的公司 名称,以避免在实验实施及实验数据分析过程中,因不同公司与实验数据的关联而 对实验结果有效性的不良影响。 3 3 正式实验规划 本节详细介绍改进后的正式实验规划,包括实验目的、实验变量的选择和定义、 实验假设、实验环境和实验主体的选择、实验指导设计、实验类型设计,以及实验 数据的分析步骤和方法。 3 。3 1实验目的 依照w o h l i n 等【1 3 1 提出的实验目的定义模板,改进后的正式实验的实验目定义如 下: a n a l y z er a m a n di e e es t d f o rt h ep u r p o s eo fe v a l u a t i o n w i t hr e s p e c tt oe f f e c 疗v e n e s sa n de f f i c i e n c y f r o mt h ep o i n to fv i e wo ft h er e s e a r c h e r i nt h ec o n t e x to fd e v e l o p e r si ni n d u s t r yd e s i g n i n gt e s tc a s e sb a s e do nt h e r e q u i r e m e n t ss p e c i f i c a t i o n si nt w od i f f e r e n tf o r m a t s 以上实验目的的定义表明,在正式实验中,实验客体对象( o b j e c t ) 是两种需 求描述及管理的方法,即i e e e 标准和r a m 模型。实验的意图是通过比对i e e e 标 准,从有效性和效率两个方面,评估r a m 模型对测试用例设计的适用性。另外, 实验的结果是从实验研究人员的角度进行分析阐述的。最后,实验背景( c o n t e x t ) 表明该实验是在企业环境中进行,由程序开发人员作为实验主体参与实验,他们的 实验任务是基于c m s 系统需求规格说明书对十个c m s 系统需求设计编写测试用 例。 3 3 2实验变量的选择和定义 依照书【1 3 】中所述,实验的变量可分为两种类型,即自变量( i n d e p e n d e n tv a r i a b l e ) 和因变量( d e p e n d e n t v a r i a b l e ) 。在实验过程中,自变量的变化会导致因变量的相应 1 2 第三章实验规划 变化,所以需要通过控制自变量来间接控制其对因变量的影响。自变量也称作因子 ( f a c t o r ) 1 1 3 l ,一个因子的值称作一个处理( t r e a t m e n t ) 1 3 】。而因变量是那些受自 变量变化影响的变量。在对因变量进行测量时会用到直接测量( d i r e c tm e a s u r e m e n t ) 【1 3 l 和间接测量( i n d i r e c tm e a s u r e m e n t ) 1 1 3 l 。这两种度量的区别在于,对实体属性的 直接测量不涉及其他任何属性和实体的测量,而间接测量则需要由多个直接测量相 互关联后获得瞄j 。在选取实验变量时,还需确定所选变量的测量标度( m e a s u r e m e n t s c a l e ) a 8 j 及其取值范围。 依照在3 3 1 小节中表述的实验目的,本实验为单自变量( 单因子) 实验,即自 变量为需求格式。而i e e e 标准格式和r a m 模型格式为该因子的两个不同处理。该 自变量的测量标度为标称( n o m i n a l ) 1 2 8 1 。实验目的还给出了本实验的两个因变量, 即有效性和效率。这两个变量是同类型实验中经常选取的变量,在不同实验目的和 背景下其定义和测量方法也有所不同,并且二者很难通过直接测量获得。所以在实 验中将根据本课题的实验目的和背景,重新定义有效性和效率这两个变量,并选取 其他相关因变量,通过间接测量,以测量有效性和效率这两个因变量的值。 在本实验中,根据实验目的和实验背景,因变量有效性定义为对每一个测试需 求所设计编写的测试用例集的平均质量。如2 2 节所述,对于测试用例质量的评价 有多种不同的度量。本实验中在评价测试用例的质量时,不是针对单一测试用例, 而是评价为每一个测试需求所设计编写的测试用例集的质量。另外,本课题实验中, 所有测试用例是基于需求规格说明书设计编写的,并且对于测试用例集平均质量的 评价是通过模拟的方式进行的,即不实际运行测试用例。所以对测试用例集平均质 量的测量不是以测量发现软件中存在错误或缺陷的数量来决定。作为替代,本文定 义了以下两个直接测量来评价测试用例集的平均质量: 1 ) 对测试需求的覆盖( c o v e r a g e ) 2 、l 对运行测试用例集的有效性( v a l i d i t y ) 对每一个直接测量,本文定义了相应的测量标准以及不同的标准的等级。这两 个变量的测量标度为间隔( i n t e r v a l ) 1 2 s 】。表一给出了对每个测试用例集的质量进行 评价的标准。根据以上所述,有效性的测量公式定义如下: 啪哪川巧;朵, 其中,q 礓:c r s _ i + v r s i , 4 q 稻:全部测试用例集的平均质量。 q 礓:第i 个测试需求的测试用例集的质量。 公式3 - ( 1 ) 公式3 一( 2 ) 青岛大学硕士学位论文 c 礓:第f 个测试需求的测试用例集对该需求功能的覆盖。 ;:第f 个测试需求的测试用例集运行的有效性。 表3 1 测试用例集质量的评级标准 变量 评价标准等级值 测试用例集没有覆盖测试需求的任何功能。 0 测试用例集只覆盖了测试需求的止常情景。 1 c 礓 测试用例集覆盖了测试需求的止常情景和部分对异常的处理。 2 测试用例集覆盖了全部测试需求的功能。 3 测试朋例集的设计编写的内容无效,因而无法运行。 0 测试用例集的设计编写包括了测试用例的目的、需要的输入,测试步骤和

温馨提示

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

评论

0/150

提交评论