基于ASP自动化测试工具设计
关键词:自动化测试, 对象交互, 录制, UML
摘 要
自动化测试工具的开发主要针对的是实际软件测试需求,从而减少人工测试的工作量,大大增加在有限的时间内的测试,并且增强测试的质量。
我们开发的自动化测试工具是一个用户界面自动化测试的工具。它分为录制模块、脚本模块、对象交互模块和日志模块,同时程序的执行也是按照这个流程进行。其中对象交互模块为内部模块,衔接脚本管理和日志管理两个模块,本身没有界面显示。
经过分析,我们使用Microsoft公司的Microsoft Visual Studio.NET开发工具,利用其提供的各种面向对象的开发工具,尤其是界面窗口这一能方便而简洁操纵对象,首先使用UML建立自动化测试工具的模型,然后在已建模型的基础上,以VC++.NET为开发工具对该工具进行实现,并不断修正和改进来不断满足用户需求。
第三章 基于UML的自动化测试工具分析与设计
本章以自动化测试工具的开发为背景,探讨了UML在软件分析与设计中的应用。首先对该自动化测试工具进行需求分析,明确需要实现的功能;然后用UML用例视图对该自动化测试工具进行模块划分,建立需求模型;进而利用UML的交互图以及活动图和状态图等描述了该自动化测试工具的动态模型;最后,对UML在软件分析与设计方面的应用进行了总结。
3.1自动化测试简介
以前的测试采用手工方法,测试内容繁多,工作量大,容易造成疏漏。引入自动化测试来取代目前严重影响测试效率的冗余繁复的人工过程,可以大大提高测试人员的工作效率,方便测试人员进行测试工作,消除了以前测试任务繁重,测试覆盖范围太小的局面,使测试工作高效化,全面化。
本节说明我们所要研究与实现的自动化测试工具的特点及模块功能。
3.1.1概述
自动化测试可以使某些测试任务比手工测试执行高效得多,而重复的活动特别适合自动化,因此自动化测试也应具有重用性。
本自动化测试工具是针对测试工作的基本需求设计的,采用了面向对象的方法实现,需要指出的是我们将要分析与设计的是一个利用测试脚本实现自动化测试的工具,所以具有很好的重用性。
3.1.2自动化测试工具的模块分析
本自动化测试工具参考了QuickTest Professional和Rational Robot等目前主流的自动化测试工具的做法,分成四个基本的功能模块:录制模块、脚本模块、对象交互模块、日志模块,这样的模块划分可以实现重复使用测试脚本进行自动化测试,能够满足自动化测试工具的重用性要求。
3.1.2.1录制模块
当用户使用应用程序时,本自动化测试工具会记录用户的鼠标和键盘操作,并产生测试脚本。
3.1.2.2脚本模块
当用户打开测试脚本,本自动化测试工具会读取脚本内容,并以树型结构显示脚本内容。
3.1.2.3对象交互模块
当用户执行回放任务时,本自动化测试工具会自动查找定位窗口焦点坐标,并执行测试脚本所描述的鼠标和键盘操作。
3.1.2.4日志模块
当本自动化测试工具执行完测试脚本,会产生一个日志文件,包含测试的执行者、测试时间、测试内容、测试结果和测试失败原因等。
3.2需求模型
本自动化测试工具使用UML用例图来构建需求模型。
目 录
摘 要 1
Abstract 2
第一章 前言 3
1.1概述 3
1.1.1开发背景 3
1.1.2开发的现实意义 3
1.2论文结构 4
第二章 自动化测试工具的研究概述 5
2.1自动化测试工具基础 5
2.1.1自动化测试依据 5
2.1.2自动化测试工具设计的一般原则 5
2.2自动化测试工具简介 5
2.2.1 IBM Rational 6
2.2.2 QuickTest Professional 6
2.3自动化测试工具特点 7
2.3.1自动化测试的优点 7
2.3.2自动化测试存在的问题 7
2.3.3自动化测试的优缺点对比 8
2.4自动化测试工具的应用与发展方向 9
第三章 基于UML的自动化测试工具分析与设计 10
3.1自动化测试简介 10
3.1.1概述 10
3.1.2自动化测试工具的模块分析 10
3.1.2.1录制模块 11
3.1.2.2脚本模块 11
3.1.2.3对象交互模块 11
3.1.2.4日志模块 11
3.2需求模型 11
3.2.1定义活动者 11
3.2.2定义用例 11
3.3动态模型 13
3.3.1回放脚本的UML的交互图 13
3.3.2回放脚本的UML的状态图和活动图 14
3.3.2.1 UML状态图 14
3.3.2.2 UML活动图 16
3.4本章小结 16
第四章 录制模块与对象交互模块的程序实现 17
4.1开发工具——Visual C++.NET 17
4.1.1 .NET概述 17
4.1.2 Visual C++.NET的新特性 17
4.1.3 Visual C++.NET的新功能 18
4.1.4 Visual C++.NET增强了开发人员的能力 19
4.2自动化测试工具的主界面功能简介 19
4.3录制模块 20
4.3.1钩子函数的安装和卸载 20
4.3.2获取鼠标点击的窗口的窗口信息 23
4.3.3生成测试脚本 24