(检测技术与自动化装置专业论文)基于petri网的嵌入式软件测试用例自动生成方法研究.pdf_第1页
(检测技术与自动化装置专业论文)基于petri网的嵌入式软件测试用例自动生成方法研究.pdf_第2页
(检测技术与自动化装置专业论文)基于petri网的嵌入式软件测试用例自动生成方法研究.pdf_第3页
(检测技术与自动化装置专业论文)基于petri网的嵌入式软件测试用例自动生成方法研究.pdf_第4页
(检测技术与自动化装置专业论文)基于petri网的嵌入式软件测试用例自动生成方法研究.pdf_第5页
已阅读5页,还剩80页未读 继续免费阅读

(检测技术与自动化装置专业论文)基于petri网的嵌入式软件测试用例自动生成方法研究.pdf.pdf 免费下载

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

文档简介

i 与 n a n j i n gu n i v e r s i t yo f a e r o n a u t i c s a n da s t r o n a u t i c s t h eg r a d u a t es c h o o l c o l l e g eo f a u t o m a t i o ne n g i n e e r i n g a p p r o a c h t oe m b e d d e ds o f t w a r et e s tc a s e s g e n e r a t i o nb a s e do np e t r i i t e t r i1 _ i 。n 1 7 e t 。 a 砀e s i si n m e a s u r e m e n tt e c h n i q u e & a u t o m a t i o ni n s t r u m e n t s b y s u nl i n a d v i s e db y d r l i uj i u f u s u b m i t t e di np a r t i a lf u l f i l l m e n t o ft h er e q u i r e m e n t s f o rt h ed e g r e eo f m a s t e ro fe n g i n e e r i n g j a n u a r y , 2 0 1 0 1 承诺书 本人声明所呈交的硕士学位论文是本人在导师指导下进 行的研究工作及取得的研究成果。除了文中特别加以标注和致 谢的地方外,论文中不包含其他人已经发表或撰写过的研究成 果,也不包含为获得南京航空航天大学或其他教育机构的学位 或证书而使用过的材料。 本人授权南京航空航天大学可以将学位论文的全部或部 分内容编入有关数据库进行检索,可以采用影印、缩印或扫描 等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后适用本承诺书) 作者签名: 幺l 皇超 日期: 丝2 1 :墨:矿 一 i 网具有很好的解决异步、并发模型的特点,而场景级测试中测试用例生成同样面对异步、并发 的问题,因此选择p e t r i 网作为测试用例自动生成方法的建模方式。 本文以场景类测试为例提出了基丁二p e t r i 网的嵌入式测试用例自动生成方法,通过p e t r i 网 理论对测试模型建模,再对模型分析验证,最后生成测试用例集。该方法支持回归生成测试用 例集,弥补了对测试用例集需求变化的情况。同时,该方法支持测试用例的自动生成。该方法 可以有效的描述系统中的状态及行为,并且保证了较高的覆盖率指标,有助于提高测试的效率 和质量。 本课题在研究p e t r i 网模型分析时提出了标识展开树的方法。本方法通过定义循环。住点和跳 出一书点米极大的简化可达标识树的规模,并用标识展开树分析了有界性、可达性和活性。同时, 对于p e t r i 网应h j 中经常出现的状态爆炸问题,用标识展开树的分析方法做了验证。 最后,本文提供了基于p e t r i 网嵌入式测试用例自动生成方法的可视化建模上具,实现了软 件建模、模型分析及测试用例的自动生成,该上具对本课题方法正确性和实用性做了很好的验 证。 关键词:嵌入式软件测试,p e t r i 网,测试用例,自动化测试工具,可达树 基于p e t r i 网的嵌入式软件测试用例自动生成方法研究 a b s t r a c t t h es o f t w a r et e s t i n gt e c h n o l o g yo f f e r se n s u r e n c et ot h es o f t w a r eq u a l i t y i m p r o v e st h es o f t w a r e r e l i a b i l i t y ,a n dr e d u c e st h ec o s to fs o f t w a r e ,w h i c hh a sak e yt a c h eo ft h eg e n e r a t i o no f t e s tc a s e s 1 1 l e g e n e r a t i o no ft e s tc a s e si sd e s i g n e db ya r t i f i c i a lo rs e m i - a r t i f i c i a lw a y sw h i c ha r eh a r dw o r k , l o n gt e s t c y c l e ,e a s yo m i s s i o na n dl o we f f e c t i v e n e s s h o w e v e r , t h ea u t o m a t i c ag e n e r a t i o no fs o f t w a r et e s tc a s e sc a n o f f s e tt h el i m i t a t i o ni nac e r t a i ne x t e n t 1 1 h ea u t o m a t i o no fs o f t w a r et e s tc a s e si san o d u sa b o u ta u t o m a t e d s o f t w a r et e s t i n ga l lt h ew h i l e p e t r in e ti saf o r m a l i z i n gl a n g u a g e - r e p r e s e n t a t i o nm e t h o dw i t hg r a p h i c a lu s e ri n t e r f a c e i ti sac u r r e n c y i r e p r e s e n t a t i o nm e t h o do fs y s t e me n s u r e n c e ,w h i c hh a sg r a p h i c a ll a n g u a g ew i t hf o r m a l i z i n gs e m a n t e m e , h a sc o m p r e h e n s i b l eg r a p h i c a lr e p r e s e n t a t i o na n di se a s yo p e r a t e db yn o n - p r o f e s s i o n a lu s e r p e t r in e th a sa t y p i c a lc h a r a c t e r i s t i co f r e s o l v i n gt h ea s y n c h r o n o u sa n di n t e r c u r r e n tm o d e l s 1 1 l ea s y n c h r o n o u sa n d i n t e r c u r r e n tq u e s t i o n sh a v eac o n f r o n t a t i o nw i t ha u t o m a t i o ng e n e r a t i o no ft e s tc a s e s t h e r e f o r e p e t r in e ti s u s e da sam o d e l i n gm e t h o do f a u t o m a t i o ng e n e r a t i o no f t e s tc a s e s 。 an e wm e t h o do ft e s tc a s e sg e n e r a t i o nb a s e do np e t r in e ti st ob es h o w nw h i c hi sm o d e l e dw i t ht h e t h e o r yo f p e t r in e t t h e na n a l y z e da b o u tm o d u l er e l i a b i l i t ya n dt h eg e n e r a t i o no f t e s tc a s e s t l l i sm e t h o d s u p p o r t sa u t o m a t i o na n dr e g r e s s i o no f t e s tc a s e s b yt h i sm e t h o d ,s y s t e ms t a t ei se f f e c t i v et ob e d e s c r i p t e d ,t h eh i g hc o v e r a g ei sp r o v i d e d ,a n dt h ee f f i c i e n c ya n dq u a l i t yi sc o n t r i b u t e dt ob ee n h a n c e d t h i sp a p e rp r e s e n t sam e t h o do fu n f o l d e dm a r k i n gt r e ei nr e s e a r c h i n gp e t r in e tm o d e l t h es i z eo f r e a c h a b i l i t yt r e ei sv e r ys i m p l i f i e db ym e a n so f d e f i n i t i o no fe n dn o d ea n dl o o pn o d e a n d ,t h i sm e t h o d c a nb e u s e da n a l y s i s i n gb o u n d n e s s r e a c h a b i l i t ya n da c t i v i t yo fp e t r in e t 1 1 b ep r o b l e mo fs t a t ee x p l o s i o n c o m e sa c r o s sf r e q u e n t l yi na p p l y i n go f p e t r in e t ,a n da l s oc a nb er e s o l v db yt h i sm e t h o d i nt h ee n d ,t h i sp a p e rp r o v i d e sav i e w a b l em o d e l i n gt o o lb a s e du p o nt h em e t h o d a n dw ec a nu s ei tf o r m o d e l i n g ,a n a l y s i n ga n da u t o m a t i cg e n e r a t i o no f t e s tc a s e s t h ec o r r e c t n e s sa n dp r a c t i c a l i t yi sv e r y v e n t i c a t e d 一 k e y w o r d s :e m b e d d e ds o f t w a r et e s t i n g ,p e t r in e t ,t e s tc a s e s ,a u t o m a t i ct e s t i n gt o o l ,r e a c h a b i l i t yt r e e l l 第二章软件测试及测试自动化5 2 1 软件测试5 2 1 1 软件测试的定义一5 2 1 2 软件测试的目标5 2 1 3 软什测试的分类7 2 1 4 软件测试过程9 2 2 嵌入式系统软件测试1 0 2 2 1 嵌入式系统1 0 2 2 2 嵌入式系统的软件测试1 l 2 3 软件测试自动化一1 2 2 3 1 传统软件测试中的问题1 2 2 3 2 软件测试自动化1 2 2 3 3 适合于自动化的测试过程1 3 2 3 4 测试用例自动生成1 4 2 3 5 软什测试用例自动生成方法1 4 第三章基于p e t r i 网的软件测试用例自动生成研究1 6 3 1p e t r i 网基本理论一1 6 3 2 基于p e t r i 网的软件测试用例自动生成方法概要1 8 3 3p e t r i 网建模2 0 3 3 1 结构化语言的p n 建模一2 0 1 1 1 基于p e t r i 网的嵌入式软件测试用例自动生成方法研究 3 3 2 面向对象语言的p n 建模一2 0 3 3 3 场景类模型p n 建模一2 6 3 4p n 模型结构信息的处理机制2 8 3 4 1p e t r i 网的s 图模型2 8 3 4 2p e t r i 网模型抽象方法2 8 3 4 3p e t r i 网结构信息存储3 0 3 5p n 模型的分析与验证3 1 3 5 1 状态爆炸问题3 2 3 5 2 定义标识展开树3 2 3 5 3p n 特性分析3 5 3 6 测试用例生成3 7 3 6 1 生成步骤3 7 3 6 2 生成规则3 8 3 7 测试用例分析4 0 3 8 回归测试4 l 3 9 卅、结4 1 第四章基y - p e t r i 网的软件测试用例自动生成- t 具设计4 2 4 1 总体框架一4 2 4 1 1 工具的整体结构4 2 4 1 2 类结构图及土要功用4 2 4 1 3s q l 关系图及表的设计4 3 4 。2 测试r t 具的g u l 设计4 7 4 3 分析模块实现5 0 4 3 1 分析模块的功能一5 0 4 3 2 模型分析5 0 4 3 3 测试用例生成5 2 4 4 模拟模块实现5 4 4 5 小结5 5 第五章a t m 系统的软件测试用例自动生成5 6 i v 5 6 一5 6 5 7 5 8 一5 8 5 9 6 0 6 2 5 4 1 测试序列生成6 2 5 4 2 测试用例生成一6 3 5 4 3 测试用例的覆盖率分析6 4 5 5 小结6 4 第人章总结与展望6 5 6 1 本课题主要研究j r 作总结6 5 6 2 后续t 作展望6 5 参考文献一6 7 致谢:7 0 在学期间的研究成果及发表的学术论文一7 l v 基于p e t r i 网的嵌入式软件测试用例自动生成方法研究 图表清单 图2 1 软件测试与开发的并行示意图9 图2 2 软件测试过程11 图2 3 传统软件测试中的问题1 2 图2 4 软件测试的五个活动1 3 图3 1 基于p e t r i 网软件测试用例自动生成流程图2 0 图3 2 顺序结构的p e t r i 网模型2 0 图3 3a 型条件语句的p e t r i 网模型2 l 图3 4b 型条件语句的p e t r i 网模型2 1 图3 5s w i t c h 语句的p e t r i 网模型。2 2 图3 6f o r 语句的p e t r i 网模型2 3 图3 7w h i l e 语句的p e t r i 网模犁2 4 图3 8 某a t m 系统的模型2 5 图3 9 某a t m 系统等价的类p e t r i 网模型2 5 图3 1 0 某系统的场景模型2 7 图3 1 1 简化后a t m 系统的p n 模型一2 9 图3 1 2a t m 系统的s 图p n 模型3 0 图3 1 3 某系统的关系模型3 1 图3 1 4 某系统的p n 模型一3 4 图3 1 5p n 模型的可达状态图一3 4 图3 1 6a t m 系统的标识展开树3 5 图3 1 7 软件测试用例的测试流程图4 0 图4 1 总体框架图一4 3 图4 2 类结构总体视图4 4 图4 3 各元素的s q l 关系视图4 5 图4 4 工具的整体界面截图4 8 图4 5 事件驱动机制模型4 9 图4 6 测试用例生成算法流程图5 3 图4 7p n 模型变迁点火流程图5 5 图5 1a t m 系统的示意图5 6 图5 2a t m 模犁的p n 图5 7 图5 3a t m 系统的可达状态图5 8 5 9 6 0 图5 6 以m 0 为初始状态的结果状态图6 1 图5 7 以m 1 为初始状态的初始状态p n 图6 1 图5 8 以m 1 为初始状态的结果状态图6 2 图5 9 a t m 系统测试用例一6 3 表2 1 衡量软件质量的典型因素6 表2 2 黑盒测试与白盒测试的比较8 表3 1a t m 场景描述2 7 表3 2 邻接矩阵公式中量的释义一3 l 表3 3 参数取值对测试序列的影响3 8 表4 1 有向弧表中元素的约定( 键、类型及说明) 4 5 表4 2 标签表中元素的约定( 键、类型及说明) 4 6 表4 3 库所表中元素的约定( 键、类型及说明) 4 6 表4 4t o k e n 表中元素的约定( 键、类型及说明) 4 6 表4 5 变迁表中元素的约定( 键、类型及说明) 4 7 表5 1a t m 模型的p n 图中代号释义5 6 v i l 基于p e t r i 网的嵌入式软件测试用例自动生成方法研究 英文或符号 a s w t ( a u t o m a t i cs o f t w a r et e s t i n g ) d f s ( d e p t h _ f i r s ts e a r c h ) b f s ( b r e a t h f i r s ts e a r e h ) b l a c kb o x t e s t i n g w h i t eb o x t e s t i n g c o v e r a g ec r i t e f i a g a ( g e n e t i ca l g o r i t h m ) q a ( q u a l i t ya s s u r a n c e ) u t ( u n i t t e s t i n g ) v & v ( v a l i d a t i o na n dv e r i f i c a t i o n ) u m l ( u n i f i e dm o d e l i n gl a n g u a g e ) 0 0 ( o b j e c t - o r i e n t e d ) p n ( p e t r in e t ) e n ( e l e m e n t a r yn e t ) m 。 m t x 工 f t o k e n s t k w 注释表 释义 自动化软件测试 深度优先搜索 广度优先搜索 黑盒测试 白盒测试 覆盖准则 遗传算法 质量保证 单元测试 验证与确认 统一建模语言 面向对象 p e t r i 网 基本网 初始标识 t 在标识m 下使能 x 的前集 x 的后集 p e t r i 网的流关系 令牌 p e t r i 网的状态集合 p e t r i 网的变迁集合 p e t r i 网系统 容量函数 权函数 1 1 引言 软件开发是个系统工程,需要经过严格的控制才能达到较高的软件质最要求。对于某些关键 的软件系统,对软件的质量要求越来越严格,微小的错误会导致经济上的重大损失并且可能危害到 人的生命安全。 测试足保证软件质量的重要手段,测试工作足软件开发过程中必不可少的环节。软件测试决 不是一项简单轻松的工作,b o e h m 的统计数据表明,软件测试【】的开销要占到软件开发总成本的 3 0 到5 0 ,而其所耗费的测试工作时间往往要超过软件开发整个周期的5 0 ,由此可见软件测试 工作的繁重。正足由于软件测试的重要价值和软件测试t 作的复杂和繁重性,如果能够提高软件测 试的性能和效率,将具有很高的工程应用价值。因此,对软件测试方法和技术的研究长期以来都是 软件t 程领域中的热门研究方向,无论在测试理论上还是在t 程应用上都受到了广泛而深入的研 究。 1 2 课题背景及意义 软件测试的研究最初可追溯到上世纪5 0 年代。在当时对测试的定义基本上等同于程序的调 试;到了6 0 年代,随着编译技术的发展,软件测试开始与调试技术相分离;伴随着7 0 年代软件t 程概念的形成,软件测试开始形成相对独立的行为,也开始形成严密的理论体系作为支撑;到了 8 0 年代,一些形式化的方法和技术并用丁二确认和验证程序的正确性;9 0 年代后,软件测试技术在 工程上得到了极大的发展,测试研究的方向划分得更加细致,其中较为常见的有下述几种:( 1 ) 验 证技术;( 2 ) 静态测试;( 3 ) 测试数据选择;( 4 ) 性能与负载测试;( 5 ) 安全测试: ( 6 ) 网络 与分布式测试;( 7 ) 测试技术的自动化。尤其自动化软件测试技术的研究是近年米软件测试的一个 非常活跃的研究方向,软件测试技术的发展过程表明自动化测试的产生和发展是必然趋势。 软件测试用例生成足软件测试巾的一个重要的环节,在软件测试巾占很大比重。软件测试用 例的生成包含选定被测任务、分析输入数据、确定其取值并分析对应的输出数据。测试用例选取的 一个中心原则,就是以用最少的测试用例找到尽可能多的错误。如果该过程能自动实现,则会极大 地减少软件开发的周期和费用。目前的一r 具尚小能完成自动生成测试用例这个环节,往往是只能采 用人1 二选取的方法。 传统的软件测试用例生成方法主要有黑盒方法中的等价类划分、边界值分析、错误推测、因 果图、判定表驱动分析、功能图分析方法、正交实验设计法,白盒测试中的逻辑覆盖、预测试、符 号测试、程序插桩等。传统的软件测试技术很难解决场景模型中冲突并发部分的测试用例生成,并 且小支持测试用例的自动生成。 l 基于p e t r i 网的嵌入式软件测试用例自动生成方法研究 在软件领域,形式化方法最初用于对高可靠性软件进行形式化验证,由丁二其在验证软件特性 时可生成反例的特点,逐渐被用于测试用例的生成中。模型检测技术是目前形式化方法在实际运用 中的常用形式,基于需求的运用模型检查自动生成测试用例的研究已广泛开展。 p e t r i 网【3 】【5 1 【6 1 足一种图形化的形式化语言表示法,该方法采用具有形式语义的图形语言,图形 化表示法易于理解,而且非专业人员能够使用,因此是一种通用的系统确定表示法。鉴于p e t r i 网 自身的优点,在测试用例生成方面有自己的优势。经过多年的发展p e t r i 刚己经成为计算机异步成 分之问进行通信的理论基础。p e t r i 网的应用涉及计算机学科的各个领域,如线路设计、嘲络协议、 软件工程、人工智能、形式语言、操作系统、并行编译、数据管理等、网与面向对象技术和多媒体 技术的结合也日益紧密。p e t r i 网作为离散事件系统建模技术具有以下优点: p e t r i 网具有极强的描述能力,现已证明,对于加抑制弧的p e t r i 网,其描述能力与图灵机是 等价的; p e t r i 网足以图形表示的模型,直观性强。特别是目前图形处理软件的山现,使得对p e t r i 网 的图形支持t 具是国内外研究的热点; p e t r i 网能准确地刻画系统的一些重要特性,对丁系统中的并发、顺序、冲突、同步、饥饿 等关系,都能够建立模型并使之形象化: p e t r i 蚓还是一种具有严格定义的数学对象,它是建立在代数理论和语言理论等严格的理论 基础之上的一种模型,其理论成果十分丰富,具有严格的理论分析工具。借助数学方法开发的p e t r i 网分析方法和技术,既可用丁静态的结构分析,又可用于动态的行为分析;既可以分析网的结构性 质米反映系统的同有性质,也可以研究网运行的动态行为; 用p e t r i 网进行系统建模,通过用代数、形式语言、自动机的方法来定性或定量地分析p e t r i 网模型的有界性、安全性、可达性、活性、公,f 性等一系列性质,可得到对被模拟系统性能的正确 评价,并提出系统改进建议。 由于p e t r i 网t l 身的特性所以作为解决异步并发模犁【b 】【3 8 1 的首选。场景级测试巾测试用例自动 生成首先需要解决的就是异步并发问题,因此使用p e t r i 网模型是测试用例自动生成方法很好的选 择。 1 3 国内外发展现状 p e t r i 网自从1 9 6 2 年由c a p e t r i 在博士论文中首次提出以来,至今已经形成了相当规模研 究领域,并且成为计算机界和白动化界的热门研究课题。p e t r i 网的种类繁多,在测试领域中的 应用也相当的广泛。 范洪达和叶文针3 5 1 对实时软件传统测试方法的不足,提出了用t i m ep e t r i 网【1 2 1 来生成测试 方案的方法,将p e t r i 网技术应用在实时系测试中,该方法很好地处理了与时间有关的不确定性 问题。 2 南京航空航天大学硕七学位论文 湖南大学的龚红仿等运用扩展的p e t r i 网进行面向对象软件的类族测试,提出基于消息驱动 p e t r i 网的类的状态组合的标记关联递推算法,通过类族之间的层次级别与状态级别的优选组合 产生交互路径,得到了基于消息驱动p e t r i 网模型的扩展的正交阵列测试系统的类族交互测试用 例的生成方法。 近年来,h w a t a n a b e 和h t o k u o k a 5 叫提出了基于着色p e t r i 网的面向对象软件测试技术。此 技术利用对象和着色p e t r i 网的着色标记共同描述面向对象软件,以避免状态爆炸问题。 d b u c h s 、l l u c i o 和l p e d r o 将u m l 和p e t r i 网技术结合,将u m l 描述的面向对象的软件系统 转换为并行面向对象的着色p e t r i 网模型,最后利用谓语逻辑语言p r o l o g 自动产生基于规约的测 试用例。 清华大学的:e 钿j t 3 0 】等利用有色p e t r i 网描述复杂g u i 系统,包括g u i 控件状态、数据流动及事 件触发所引起的状态迁移,并基丁二标识覆盖和变迁覆盖,给出了测试用例的生成算法。通过与捕捉 回放工具相结合,能实现自动的g u i 心用程序分析、建模、测试用例生成及执行。 西安理工大学的徐艳耐3 4 1 着眼丁面向对象的类级测试,提出了一种基予p e t r i 网测试模型的测 试序列生成方法,介绍了基于该模型的软件测试工具的设计与实现。但足测试用例十分复杂造成分 析测试覆盖率的困难,且可达树生成的测试用例只能覆盖软件系统中类之间正确交互的序列。 1 4 本文主要研究工作 本课题运用p e t r i 网技术在基丁场景类软件的测试方法和研究策略上做了一些有益的探索 和尝试,提出了基丁二p e t f i 网的测试用例白动生成方法,并做了详细分析及描述。主要研究内容 如下: 1 研究了基于p e t r i 网的嵌入式软件测试用例自动生成方法,提出了完整的解决策略。基丁 p e t r i 网的测试用例自动生成方法包括了从p e t f i 网组件化建模,模型数据结构信息收集和存储, 模型特性【4 】( 活性、有界性、可达性等) 的分析与验证算法,测试用例自动化生成,再剑测试 用例的覆盖犁7 1 指标分析整个流程的完整研究。 2 本课题在解决嵌入式软件测试用例建模及模型分析验证问题时提出了标识展开树的理论 方法。本方法通过定义循环节点和跳出节点来极大的简化可达标识树的规模,为模型分析提供 了有效的方法。同时,对于p e t r i 网应用中经常出现的状态爆炸问题,用标识展开树的分析方法 做了探索和验证。 3 开发了嵌入式软件p e t r i 网建模及测试用例a 动生成工具,该上具基丁以上研究方法,对 整个理论流程做了软件实现。主要功能包括组件化模型绘制、模型特性分析和验证、测试用例 的自动生成、p e t r i 网模型动态模拟。 4 本文利用p e t r i 网建模及分析t 具针对a t m 系统做了分析、验证。本文对a t m 系统建立了 p n 模型,对模型进行了p n 特性分析,最终生成了测试用例,并实现了p n 模犁的动态模拟。 3 基丁p e t r i 网的嵌入式软件测试用例自动生成方法研究 在本文后面的几章将重点阐述以上的研究内容。 1 5 本文各章内容安排 根据本课题的研究过程与研究结果,本文各章节内容安排如下: 第一章:绪论,对课题研究背景、方案及本文主要研究内容作简要介绍。 第二章:软件测试及p e t r i 网理论,本章首先从软件工程的角度介绍了软件测试基本理论, 软件测试的方法,着重介绍了自动化测试的理论以及重要性;p e t r i 网是软件测试用例生成的核 心理论和方法,本文对p e t r i 网与软件测试相关的理论做了简要的阐述。 第三章:提出了完整的基于p e t r i 网的嵌入式软件测试用例自动生成方法模型,包括从建立 模型、分析模型、测试用例生成、测试用例分析、回归测试等在内的整个过程;同时针对核心 问题提出了创新性的标识展开树理论,并用该理论对问题进行了解决。 第四章:完成了基于p e t r i 网建模及嵌入式软件测试用例自动生成工具的设计与实现。工具 主要包含建模及模拟两大部分内容。建模部分研究了结构数据信息的存储及分析算法、测试用 例生成算法【2 】;模拟部分研究了p e t r i 网模型信息流动的遍历算法。 第五章:以a t m 为系统例给出了基于p e t r i 网的嵌入式软件测试用例自动生成软件建模、 分析及模拟。 第六章:本章对本课题进行了总结与展望。 4 软件测试在软件生命周期中占有至关重要的地位。本章首先从软件工程的角度介绍了软件测 试基本理论,软件测试的方法,着重介绍了自动化测试【8 】【9 1 的理论以及重要性;p e t r i 网是本课题中 软件测试用例生成的核心理论和方法,本文对p e t r i 网与软件测试相关的理论做了简要的阐述。 2 1 软件测试 2 1 1 软件测试的定义 软件测试方法和技术的研究长期以来都是软件工程领域中的热门研究方向。无论在测试理论 上还是在工程应用上都受到了广泛而深入的研究。软件测试的定义长期以来就存在着很多不同的观 点: 网络词典中软件测试定义为:“软件测试是一个过程,用于确定开发的软件系统的正确性, 完备性以及软件的质量。实际上,软件测试无法绝对保证软件的正确性,这种保证只能通过形式化 的验证来实现。软件测试能够发现错误,却无法证明软件中不再存在错误。” 软件测试是对系统或程序的执行以期发现其中的错误。 软件测试足任何以衡量程序或系统的属性和能力为目标的活动,并且用以确定这些活动是否 得到预期的结果。 i e e e 提出的软件工程标准术语中,对软件测试的定义为: “对软件系统或软件系统组件进行 检测和评估的过程,通过人工或自动的方式来验证是否满足了特定的规定和需求,确认实际运行结 果与所期望的运行结果之间的差异。” 可见,从小同的观点出发,对丁软件测试的理解也不尽相同。尽管在软件测试的具体定义上 存在上述众多的不同见解,但对软件测试所需达到的目的却都是一致的,即都强调对软件正确性的 保证。 2 1 2 软件测试的目标 软件测试足软件t 程的重要内容,而测试的目的主要有两个方面5 】:( 1 ) 提高软件的质:垦; ( 2 ) 对软件进行验证和确认。 软件产品的质龟有一定的特殊性,是不能被直接测最的,只能通过对影响软件产品质最的各 种因素的评估米问接体现软件产品的质量。软件质最是关丁二个影响冈子的描述,将软件产品的质 量划分为了三个方面进行衡最。如下表2 1 巾所示: ( 1 ) 软件的功能执行情况,包括软件执行的正确性、可靠性、可用性和一致性。软件实现 的功能情况体现了软件对外界所展示出的外在质量; 5 基于p e t r i 网的嵌入式软件测试用例自动生成方法研究 ( 2 ) 软件的_ t 程质量,包括效率、可测试性、文档记录的完备性和结构化程度,这些能标 识出软件开发过程中对质量控制的优劣; ( 3 ) 软件的适应性,包括软件的灵活性、可重用性和可维护性,体现了软件产品是否有较 好的可扩展性。 因此,作为软件产品质量的测试,应尽可能涵盖这些相关的因素,以获得对软件产品质量 的综合估量。当然,对于特定目的的软件产品,对质量因子的要求也不尽相同。 表2 1 衡量软件质量的典型因素 f u n c t i o n a l i t y ( e x t e r i o r ) e n g i n e e r i n g ( i n t e r i o r )a d a p t a b i l i t y ( f u t u r e ) c o r r e c t n e s s e f f i c i e n c yf l e x i b i l i t y u s a b i l i t yt e s t a b i l i t yr e u s a b i l i t y u s a b i l i t y d o c u m e n t a t i o n m a i n t a i n a b i l i t y i m e g r i t y s 协l c n l r e 对软件进行验证和确认( v e r i f i c a t i o n & v a l i d a t i o n ,v & v ) 是软件测试的另一个主要目标。i e e e 中对二者分别进行了定义: 验证( v e r i f i c a t i o n ) 是指对系统或组件的初期评估过程,以确定软件产品在对应的开发阶 段是否满足该阶段启动时所对应的要求。常见的验证技术包括:形式化方法、错误导入、依赖 性分析、灾难分析和风险分析等方法。 确认( v a l i d a t i o n ) 则定义为对系统或组件的末期评估过程,以确定软件在开发过程中或结 束阶段是否满足了特定的要求。常见的确认测试技术有:动态测试、功能测试、结构测试、随 机测试、静态测试和一致性检测等。 软件的确认和验证对软件开发过程中的正确性保证有着重要的作用,融入到了整个开发过 程中的各个时间段。 除了上述两个主要的测试目标外,软件的性能测试、可靠性测试以及安全测试也是经常被 提及的测试内容。 软件性能测试通常涉及到资源的使用,吞吐量,反应时间,队列长度,平均或最人等待时 间等冈素。 软件的可靠性则是指系统工作无故障的概率,测试是一种非常有效的取样方法,可用下对 软件的可靠性进行测量和评估。 软件的质量、可靠性总是和软件的安全紧密相关的,软件中的缺陷可能被入侵者所利用形 成安全漏洞。安全测试的目标包括查找和消除软件中可能导致安全隐患的缺陷,验证安全措施 的有效性,以及确定软件系统中易于遭受安全攻击的薄弱环节。 6 文 软件测试的基本方法和技术是多种多样的。对于软件测试,可以从不同的角度加以分类。 1 ) 按测试阶段分:需求测试、单元测试、集成测试和系统测; 2 ) 按测试状态分:静态测试和动态测试: 3 ) 按测试方法分:白盒测试和黑盒测试。 软件测试的关键是测试用例的设计,对任何工程产品都可用两种方法对其进行测试:第一 是基于产品的功能来规划测试,检查程序各功能是否实现,并检查其中的错误,这种测试成为 黑盒测试。第二是基于产品的内部结构来规划的测试,检查内部操作是否按规定执行,各部分 是否被充分利用,这种测试称为白盒测试。下面从测试用例的角度来看这两种测试。 2 1 3 1 黑盒测试 黑盒测试( b l a c k - b o x t e

温馨提示

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

评论

0/150

提交评论