基于用户界面规格说明的Web应用建模与测试用例生成

基于用户界面规格说明的Web应用建模与测试用例生成

论文摘要

Web应用的质量保证是Web应用开发的一个关键问题和研究热点,而测试是保证Web应用质量的一种重要途径。与传统的软件相比,Web应用更加复杂。它是一种具有复杂用户界面的交互性很强的软件,软件的后台具有许多按不同方式组合的构件。随着Web应用的规模和复杂程度不断提高,Web应用越来越难以开发、管理和维护。现有的Web应用测试工具大多数是基于程序或源代码的静态验证和度量工具,一般不支持测试用例的自动生成。测试用例在软件测试中具有重要的作用,是软件测试质量稳定的根本保障。基于规格说明的测试可以用来确保“程序正确地实现了其需求”,还为测试用例的重用提供了可能,也使得测试工作在整个软件生命期中都可以并行地开展,从而提高软件测试的效率。由于形式规格说明语言提供了一种精确的、一致的、易于被机器处理的表示来描述软件需求规格说明,用形式规格说明作为测试用例的来源将会使得测试用例的自动生成变为可能。本文采用形式方法研究基于用户界面规格说明的Web应用建模及其测试用例生成。软件规格说明精确和抽象地定义了软件的功能和结构,为测试提供了软件产品功能方面的重要信息。本文使用面向对象的形式规格说明语言Object-Z来描述规格说明,研究从用户功能规格说明和用户界面的规格说明生成测试用例的方法和技术。构建了基于规格说明的测试用例生成工具原型,力图实现Web应用测试用例生成的自动化。用户功能需求描述了用户使用软件必须要完成的任务,是最基本的需求。本文使用基于任务的需求模型描述用户的功能需求。整个系统被描述成一个Object-Z的类,类中的操作为不同的用户所具有的功能。用户界面的规格说明描述了最终用户和软件的交互,它包括了用户在软件上可能执行的动作。用户界面的规格说明是功能规格说明的扩展。本文提出了对Web应用的用户界面进行形式化描述的方法,形式的用户界面规格说明有利于验证和测试用例的自动生成。使用Object-Z说明了Web页面上的常用控件和Web页面。通过扩展Object-Z,在附加谓词中结合用户动作标记(User Action Notation,UAN)来说明用户界面的设计,并对UAN进行了扩充,加入了Web应用中常见的对数据和用户动作的约束。浏览器上的按钮在方便用户浏览信息的同时,也会给Web应用的导航和功能带来影响,特别是在安全性上的影响。本文使用Object-Z构建包含浏览器交互的Web应用的完整形式导航模型,定义了与此相关的各种用户行为。该模型具有Web应用中的会话控制和浏览器的缓存机制,为Web应用的导航的测试和验证提供了基础。Object-Z是形式规格说明语言,抽象层次比较高,具有面向对象的特征,适合进行建模。相比之下,FSM更接近实现,通常用来表示测试模型并产生测试用例。本文提出了从功能规格说明和用户界面规格说明构建分层的FSM的方法,有效的解决了测试模型的状态爆炸,并利用分层的FSM和测试充分性准则产生测试用例。关键字驱动的测试在工业上得到了广泛的应用,已有很多基于关键字驱动的测试工具,但是已有的工具不能自动产生测试用例。本文从用户界面规格说明出发,提出了基于关键字驱动的测试用例生成方法。该方法定义了逻辑关键字和基本关键字,逻辑关键字表示了测试的功能,基本关键字表示了测试某一功能的细节,这有利于测试的管理和实施。提出了基本关键字测试序列的选择准则,并对准则的揭错能力也进行了分析。本文详细分析了布尔运算符(BOR)和布尔关系运算符(BRO)逻辑覆盖测试准则,并在产生符合这两种测试充分性准则的约束集的算法中增加了对元素和集合的关系运算符{∈,? ,?,?}的处理,扩大了算法的适用范围。针对浏览器上的一些按钮(后退、前进和刷新)可能对Web应用的功能和安全带来影响的问题,本文提出了在已产生的测试用例(不考虑浏览器)基础上产生包含浏览器交互的新的测试用例的方法,定义了和浏览器交互相关的页面性质,给出了产生导航树的算法,设计了和Web页面性质相关的测试充分性准则。相比传统软件,Web应用的可靠性更为重要。软件统计测试是高可靠软件测试的重要内容。本文把统计覆盖率应用到分层的FSM模型中,给出了测试用例集合的统计覆盖率的计算方法,使得通过该测试用例集测试的软件可以被评估其可靠性。为了实现和验证本文提出的方法,本文设计并实现了一个规格说明编辑和测试用例生成方法的系统原型Object-ZTest。通过对规格说明的分析,产生抽象测试用例,也就是约束谓词,根据抽象测试用例不同的特征,采用线性规划技术和数据库查询技术对抽象的测试用例进行实例化。针对集合和元素关系的约束,利用数据库查询技术从测试数据库中获取数据,对抽象的测试用例进行实例化。而对其他抽象的测试用例,则构建线性规划模型,通过模型的求解实现实例化。

论文目录

  • 摘要
  • ABSTRACT
  • 插图清单
  • 附表清单
  • 第1章 绪论
  • 1.1 研究背景
  • 1.2 Web 应用及特性
  • 1.3 形式方法
  • 1.4 Web 应用建模技术
  • 1.5 软件测试
  • 1.5.1 软件测试基础
  • 1.5.2 软件测试充分性准则
  • 1.5.3 基于规格说明的软件测试
  • 1.6 Web 应用的测试
  • 1.7 论文的主要研究内容
  • 1.8 论文大纲
  • 第2章 Web 应用形式需求规格说明
  • 2.1 Object-Z
  • 2.2 Web 应用的功能需求
  • 2.3 小结
  • 第3章 包含浏览器界面的Web 应用导航
  • 3.1 重复提交和未授权访问
  • 3.2 页面导航图(PND)
  • 3.3 Web 浏览器导航
  • 3.4 导航行为模型
  • 3.5 小结
  • 第4章 Web 应用的用户界面规格说明
  • 4.1 前言
  • 4.2 交互对象(interactor)
  • 4.3 用户动作标记UAN(User Action Notation)
  • 4.4 定义Web 组件(widget)
  • 4.5 使用Object-Z 和UAN 表示设计
  • 4.6 小结
  • 第5章 从规格说明生成测试用例
  • 5.1 构建有限状态机(FSM)产生测试用例
  • 5.1.1 操作的依赖关系
  • 5.1.2 有限状态机
  • 5.1.3 构建分层的有限状态机
  • 5.2 关键字驱动(Keyword-Driven)测试
  • 5.2.1 测试自动化
  • 5.2.2 关键字驱动测试和框架
  • 5.2.3 关键字驱动测试的测试序列生成
  • 5.2.4 测试数据的选择
  • 5.3 小结
  • 第6章 相关测试充分性准则
  • 6.1 测试充分性准则
  • 6.2 逻辑覆盖测试充分性准则
  • 6.3 基于Web 页面属性的测试充分性准则
  • 6.4 基于统计的覆盖准则
  • 6.5 小结
  • 第7章 测试用例生成工具的设计与实现
  • 7.1 建模和测试工具的说明
  • 7.2 工具的总体框架
  • 7.3 规格说明的编辑
  • 7.4 谓词获取和关键字表格的生成
  • 7.5 约束的实例化
  • 7.5.1 线性规划(Linear programming)
  • 7.5.2 LINDOAPI(LINDO 应用接口)
  • 7.5.3 应用程序和LINDOAPI 的集成
  • 7.5.4 Data 类和solver 类
  • 7.5.5 含有集合关系符约束的实例化
  • 7.6 小结
  • 第8章 结束语
  • 8.1 主要贡献
  • 8.2 将来工作
  • 参考文献
  • 作者攻读博士学位期间发表和录用的论文
  • 作者攻读博士学位期间参与的科研项目
  • 致谢
  • 相关论文文献

    • [1].Z规格说明的推理与验证[J]. 微型电脑应用 2016(11)
    • [2].一种基于Z规格说明的测试用例复用机制[J]. 计算机应用与软件 2009(12)
    • [3].布尔规格说明测试中的错误类[J]. 计算机工程与应用 2009(18)
    • [4].面向对象的需求规格说明文档研究[J]. 软件导刊 2020(04)
    • [5].Z规格说明自动生成器[J]. 计算机系统应用 2016(04)
    • [6].一种状态图到B规格说明的自动转换方法研究实现[J]. 计算机工程与应用 2011(35)
    • [7].基于问题模式的形式化软件规格说明生成方法[J]. 计算机研究与发展 2013(02)
    • [8].一种自动验证Web应用预期页面的方法[J]. 计算机与数字工程 2008(05)
    • [9].使用Object-Z获取形式需求[J]. 计算机辅助工程 2008(01)
    • [10].基于形式化技术的电梯系统规格说明[J]. 牡丹江大学学报 2011(06)
    • [11].基于XML的用例规格说明实现[J]. 西安工程大学学报 2009(01)
    • [12].形式语言B与OOZS的比较[J]. 经济研究导刊 2011(01)
    • [13].OWL-S到Z规格说明的转换[J]. 应用科学学报 2010(03)
    • [14].一个Object-Z规格说明的证明责任产生器[J]. 计算机应用与软件 2010(05)
    • [15].关于LOTOS并发操作符行为特性的探讨[J]. 数字技术与应用 2014(09)
    • [16].Radl形式规格说明相对正确性研究[J]. 软件学报 2013(04)
    • [17].基于形式化规格说明的UML状态图提取[J]. 计算机应用研究 2011(05)
    • [18].基于ESHLEP-N印染生产线的仿真[J]. 机电工程 2008(11)
    • [19].面向对象软件概要设计过程[J]. 福建电脑 2008(06)
    • [20].Z规格说明函数映射的C++STL实现[J]. 沈阳工业大学学报 2008(03)
    • [21].一种软件需求规格说明描述质量评价方法[J]. 电子设计工程 2013(07)
    • [22].基于Petri网的电梯系统规格说明[J]. 长春大学学报 2011(06)
    • [23].面向对象类测试方法研究[J]. 华东交通大学学报 2009(04)
    • [24].基于可扩展有限状态机规格说明的测试数据生成效率因素模型分析[J]. 计算机应用 2013(S2)
    • [25].基于C++STL技术实现Z模式自动求精的研究[J]. 数字通信世界 2019(01)
    • [26].空间完备性理论及其测试[J]. 计算机工程 2009(09)
    • [27].用Z语言描述排课问题的形式化模型[J]. 西安工业大学学报 2008(04)
    • [28].基于LSC模型检验的性质抽取[J]. 上海大学学报(自然科学版) 2012(02)
    • [29].Object-Z规格说明测试用例的自动生成器[J]. 软件学报 2011(06)
    • [30].FUSION——实现业务与技术熔合的利器[J]. 金融电子化 2009(05)

    标签:;  ;  ;  ;  ;  

    基于用户界面规格说明的Web应用建模与测试用例生成
    下载Doc文档

    猜你喜欢