基于B方法测试用例自动生成技术的研究

VIP免费
3.0 牛悦 2024-11-19 4 4 2.02MB 57 页 15积分
侵权投诉
在当前一个典型的软件项目开发过程中,软件测试几乎耗去 50%的项目时间,
软件测试成了检验与保证软件质量的有效手段。上世纪 90 年代开始,由于商业测
试工具被开发出来应用于软件测试,使测试人员从繁锁重复的测试活动中解放出
来,把更多精力投入到有意义的测试设计活动中。其中测试用例是测试设计活动
中的重点与难点,它直接决定了测试的充分性和有效性。当前,工业上的用例设
计还是由测试人员手工生成,费时费力,同时也依赖于设计人员的经验和专业水
平,对于较大型的软件项目,测试用例的设计更是一项繁重的工作。为此,迫切
需要改进软件测试的方法,开发测试用例的自动生成工具,降低软件成本,在保
证软件质量的同时,提高生产效率。
形式化方法是近年来软件的热门研究领域。它以数学符号为表达方式,描述
软件系统的需求分析,来消除自然语言需求描述带来的二义性和不确定性;以代
数、集合论、一阶谓词逻辑等数学理论为指导思想,通过数学的证明义务来保证
软件的正确性。本文主要研究基于形式化 B描述自动生成测试用例的方法。B
法通过抽象机来描述系统需求,再经过层层精化,同时伴随相应的证明义务,最
后生成正确性有保证的可执行代码。但即便有了证明,对系统的测试还是不可缺
少的。本文就是研究如何在 B抽象机需求描述的基础上,结合边界值分析的方法,
运用约束求解建模和求解思想,求出系统的边界状态,然后在边界状态下产生正
面测试用例和负面测试用例。
本文主要针对基于形式化 B抽象机描述,研究结合边界值分析方法的测试用
例自动生成。针对数据类型为集合类型的边界状态进行分析;对不同的数据类型
的边界状态对应的优化函数进行讨论;同时给出效用谓词effect predicationB
抽象机中的提取过程;讨论了基于边界状态的测试覆盖准则;最后,在本文研究
的基础上,给出了一个基于 B描述的测试用例生成工具的模型,并对各个模块进
行简要的概述。
关键词:形式化软件测试 B 方法 测试用例自动生成 边界状态 约束
满足问题
ABSTRACT
Todayalmost 50% of the development is devoted to the validation of the software
product. Software testing plays an importance role to guarantee software quality and
reliability. Form the 1990 s, due to the commercial test tools were developed and used
in software testing, testing engineer were liberated from the numerous repeated testing
activities, and put more attention to the meaningful test design. And test cases, which
directly determine the effectiveness and the adequacy of the test, is the key points and
difficulties part in test activities. Presently, generation of test case is primarily done
manually, relying on testers experience and capability, which results in low efficiency
of software testing, especially for the larger software project, which need a lot of test
cases. Therefore, it is urgent to improve the method of software testing and develop the
automatic generation tools of test cases, which will reduce the costs of software, ensure
the quality of software at the same time, and improve the production efficiency as well.
Formal method in recent years is a hot research area. Formal method is based on
mathematic symbols to describe the requirement of software, which will eliminate the
ambiguity and uncertainty brought by the natural language. As the guiding ideology, set
theory, first-order predicate logic and mathematics theory, format method base on which
and through the mathematical proof responsibility to ensure the correctness of
description of the software requirement. This paper discusses automating the generation
of test case from B formal specification. B uses the abstract machine to describe system
requirements, through layers refinement, and with the corresponding prove obligation,
at last to generate the correct guaranteed executable code. However, for the system,
prove is not enough, but testing is indeed necessary. Our method bases on the B abstract
machine specification, and designs the test case by boundary value analysis method,
then using constraint solving modeling and solution procedure, to reach system's
boundary states, and then test the system behavior in the bound state.
This article mainly aims at formal B abstract machine specification, and combines
boundary value analysis method to the automatic generation of test cases. What has
been given in our method as the follow list: analysis the boundary state of the set data;
discuss the optimization function for different types of data; present the procedure of
modeling constraint satisfaction problem and the solving process; discuss boundary
coverage criteria for test generation from formal models; based on all the abovea
framework of test cases generation tool is proposed
Key Words Specification-based testing, B Method, Test Case
Generation, Boundary State, Constraint Satisfaction Problem
目录
ABSTRACT
第一章 绪论 ................................................................................................................. 1
§1.1 课题目的和意义 .............................................................................................. 1
§1.2 国内外研究现状及存在问题 .......................................................................... 2
§1.2.1 基于形式化规格测试用例自动生成 .................................................... 2
§1.2.2 基于 UML 模型测试用例自动生成技术 ............................................. 3
§1.2.3 形式化和 UML 模型相结合测试用例自动生成 ................................. 3
§1.3 课题研究内容 .................................................................................................. 4
§1.4 论文组织结构 .................................................................................................. 5
第二章 软件测试与形式化方法 ................................................................................. 7
§2.1 软件测试 ........................................................................................................... 7
§2.1.1 软件测试的定义 ..................................................................................... 7
§2.1.2 软件测试技术 ........................................................................................ 7
§2.2 形式化方法 ...................................................................................................... 9
§2.2.1 形式化方法概述 ..................................................................................... 9
§2.2.2 形式化方法的优缺点 .......................................................................... 10
§2.3 形式化方法中的软件测试 .............................................................................. 11
§2.3.1 软件的证明与测试 ................................................................................ 11
§2.3.2 形式化方法与测试 ............................................................................... 12
§2.4 本章小结 ........................................................................................................ 14
第三章 基于 B抽象机测试用例生成方法 .............................................................. 15
§3.1 B 方法 ............................................................................................................. 15
§3.1.1 B 方法的特点 ...................................................................................... 15
§3.1.2 B 抽象机的构造 ................................................................................... 16
§3.2 基于 B的软件测试 ........................................................................................ 17
§3.2.1 基于模型的测试 ................................................................................... 18
§3.3 基于 B抽象机测试用例生成过程 ............................................................... 19
§3.3.1 形式化规格测试用例生成的常用方法 ............................................... 21
§3.3.2 B 抽象机规格用例生成过程 ............................................................... 23
§3.4 本章小结 ......................................................................................................... 32
第四章 实例分析 ....................................................................................................... 34
§4.1 计算机进程调度的 B抽象机描述 ............................................................... 34
§4.2 效用谓词分析 ................................................................................................. 35
§4.3 边界目标计算 ................................................................................................. 36
§4.4 用例生成 ......................................................................................................... 38
§4.4.1 边界状态序列计算 ............................................................................... 39
§4.4.2 最终用例生成 ....................................................................................... 40
§4.5 结果分析 ......................................................................................................... 42
§4.6 本章小结 ......................................................................................................... 42
第五章 用例生成工具分析 ....................................................................................... 43
§5.1 系统的总体框架 ............................................................................................. 43
§5.2 系统模块说明 ................................................................................................. 44
§5.2.1B 抽象机编辑模块 ................................................................................ 45
§5.2.2 测试用例生成模块 ............................................................................... 46
§5.2.3 测试脚本生成模块 ............................................................................... 47
§5.2.4 测试结果分析模块 ............................................................................... 47
§5.3 本章小结 ......................................................................................................... 47
第六章 总结与展望 ................................................................................................... 48
§6.1 论文的主要工作 ............................................................................................. 48
§6.2 研究展望 ........................................................................................................ 49
参考文献 ........................................................................................................................ 50
在读期间公开发表的论文和承担科研项目及取得成果 ............................................ 53
.............................................................................................................................. 54
第一章 绪论
1
第一章 绪论
§1.1 课题目的和意义
当今时代,信息化已经成为人们的生活中不可或缺的一部分,从上网娱乐到
企业运营,计算机软件已经渗透到生活工作中的每个角落。毋庸置疑,软件产品
的质量必然成为企业在竞争中的筹码。因此,企业需要花费一定的成本来保证软
件的质量,从开发过程的规范化管理到日益精细的软件测试工艺。近年来随着面
向对象技术和 CASE 工具的发展,代码自动生成技术已经在很多 CASE 工具中得
到广泛应用。软件测试的地位愈为突出。
软件测试是伴随着软件的产生而产生的。在早期的软件开发中,由于软件的
规模小、复杂程度低,软件开发人员将测试等同于调试,来纠正已知的故障。到
80 年代初期,随着软件业的飞速发展,软件趋向大型化、高复杂化,软件的质
量越来越受到行业的关注。这个时候,软件测试的基础理论和实用技术逐渐形成。
到了上世纪 90 年代,软件行业开始迅猛发展,当时的手工测试已经无法满足大多
数软件项目的需要,于是,商业的测试工具如雨后春笋般涌现。手工到自动化测
试的过程,让测试人员从繁琐和重复的测试活动中解脱出来,专心从事有意义的
测试设计等活动。测试设计包括测试计划,测试策略,测试用例的设计以及风险
评估等活动,其中测试用例的设计是测试中的重点与难点,约占测试活动的
30%-60%[
1
]它直接决定了软件测试的科学性和有效性,即决定着软件测试的质量
和效果。目前工业上还是以人工手动生成测试用例为主,这需要依赖设计人员的
经验与专业水平,而且对于一个相对大型的软件来说,测试用例的数目需要以万
为单位来计算,这就需要消耗大量的人力和财力。因此,测试用例自动生成在很
大程度上能节约成本,提高生产效率。
基于形式化方法自动生成测试用例的研究由来已久。测试用例的设计需要依
赖于系统的规格说明,由于自然语言带来二义性,不确定性的问题,而形式化方
法是以数学符号的形式表现系统需求。我们知道,数学符号是确定的并且在深厚
的数学理论基础上可以对其进行正确性证明。软件形式化方法最早可追溯到二十
世纪五十年代,从 J.Backus 对编译技术的研究开始。经过几十年的研究,形式化
方法已经被人们应用于各个领域,各个阶段。目前将用例规格说明转化为形式规
格说明的方法还处于研究阶段,运用当前流行的形式化语言 ZVDMB以及半
摘要:

摘要在当前一个典型的软件项目开发过程中,软件测试几乎耗去50%的项目时间,软件测试成了检验与保证软件质量的有效手段。上世纪90年代开始,由于商业测试工具被开发出来应用于软件测试,使测试人员从繁锁重复的测试活动中解放出来,把更多精力投入到有意义的测试设计活动中。其中测试用例是测试设计活动中的重点与难点,它直接决定了测试的充分性和有效性。当前,工业上的用例设计还是由测试人员手工生成,费时费力,同时也依赖于设计人员的经验和专业水平,对于较大型的软件项目,测试用例的设计更是一项繁重的工作。为此,迫切需要改进软件测试的方法,开发测试用例的自动生成工具,降低软件成本,在保证软件质量的同时,提高生产效率。形...

展开>> 收起<<
基于B方法测试用例自动生成技术的研究.pdf

共57页,预览6页

还剩页未读, 继续阅读

作者:牛悦 分类:高等教育资料 价格:15积分 属性:57 页 大小:2.02MB 格式:PDF 时间:2024-11-19

开通VIP享超值会员特权

  • 多端同步记录
  • 高速下载文档
  • 免费文档工具
  • 分享文档赚钱
  • 每日登录抽奖
  • 优质衍生服务
/ 57
客服
关注