AutoTester.Net自动化测试解决方案AutoTester.Net自动化测试解决方案技术白皮书V1.0万宇2007年1月28日AutoTester.Net自动化测试解决方案目录一.背景.......................................................................................................................................3二.AutoTester.Net简介..............................................................................................................4三.AutoTester.Net架构设计......................................................................................................5四.AutoTester.Net功能说明......................................................................................................6五.AutoTester.Net特点..............................................................................................................8AutoTester.Net自动化测试解决方案一.背景自动化测试为当前软件测试的重要发展方向,它能从一定程度上替代手工测试工作.使测试人员能有更多时间专注于测试用列的设计.当前自动化测试存在以下几个问题1.商用自动化测试工具价格昂贵.2.部分领域还无法进行自动化测试,缺乏相关工具,技术.3.自动化测试人才难寻,培训成本高昂.针对上面几点问题,AutoTester.Net分别提供相应方法理论以及配套软件,提供给企业完善的自动化测试解决方案.AutoTester.Net自动化测试解决方案二.AutoTester.Net简介AutoTester.Net是针对当前自动化测试现状的一套解决方案.方案覆盖整个软件开发周期,实现从需求一直到部署的全程自动化测试.它由以下一系列软件组成.1.DocumentVersionSystem.NetDocumentVersionSystem.Net(DVS)是一套版本控制系统,它能够对需求说明书,功能说明书,测试用例,自动化测试脚本等多个文档实现版本控制.与传统版本控制工具不同,DVS能针对文档部分内容进行版本控制,实现自动化的文档列表维护.2.UIChecker.NetUIChecker.Net是一套UI自动化测试工具.它是一套具有人工智能的自动化UI测试工具.不需要测试人员编写任何脚本.能够智能的对整个应用程序进行UI方面的测试.3.TScriptGenerator.NetTScriptGenerator.Net是一套自动化测试脚本生成工具.它提供一个测试用例模版,测试人员只需要将手工设计的测试用例填入这个模版中,它就能够将手工测试用例转换为TScript测试脚本,供GUITester.Net调用.4.GUITester.NetGUITester.Net是一套类似普通商用自动化测试软件(XDETester,WinRunner)的测试软件,也是本解决方案的核心软件.它采用面向组件的架构,核心模块采用完全独立的模块化设计,具有良好的可扩展性.针对不同的应用程序(普通Web应用程序,Flex应用程序,Windows桌面应用程序,WPF应用程序,Java应用程序等)提供不同的UI识别模块,能够实现对所有GUI应用程序的功能测试.5.SecurityTester.NetSecurityTester.Net是一套针对Web应用程序安全性的自动化测试工具.它能够对现有Web应用程序进行黑客角度的安全性测试.从表现层到逻辑层,实现全面安全性检测.6.PerformanceTester.NetPerformanceTester.Net是一套性能测试工具.能够对Web应用程序进行客户端角度的性能测试.它能够模拟多用户并发操作,实现响应时间,负载级别等方面的测试.AutoTester.Net自动化测试解决方案三.AutoTester.Net架构设计1.DocumentVersionSystem.Net架构图略2.UIChecker.Net架构图略3.TScriptGenerator.Net架构图略4.GUITester.Net架构图GUI信息回放脚本用户操作信息5.SecurityTester.Net架构图略6.PerformanceTester.Net架构图略GUI应用程序GUI元素识别模块计算机输入设备用户操作识别模块测试脚本生成模块测试工程数据库脚本解析模块脚本回放模块测试报告AutoTester.Net自动化测试解决方案四.AutoTester.Net功能说明1.DocumentVersionSystem.Net功能说明略2.UIChecker.Net功能说明UIChecker.Net是专门针对GUI进行自动化测试的工具.它检查GUI元素的文字,位置,大小等信息,与UIChecklist进行比较,产生测试报告.UIChecker.Net可以将应用程序UI信息抽象为树结构,对这个树结构进行遍历,检查UI信息是否符合Checklist.3.TScriptGenerator.Net功能说明略4.GUITester.Net功能说明GUITester.Net包括以下几个核心模块.GUI元素识别模块.此模块实现对各种GUI元素的识别,捕捉.它负责获取GUI元素的编号,文字,位置,大小,类别,状态等各种信息.此模块在设计中采用动态加载,如果新GUI技术诞生,只需要编写相应GUI识别模块,分发给用户进行简单设置.不需要用户安装新版本.此模块可以为其他程序如UIChecker.Net通用.用户操作识别模块.此模块采用Hook技术,负责对一切用户操作,如键盘,鼠标,麦克风,画图板,手柄控制器等各种设备输入监测.将必要的用户操作信息传递给相应模块.测试脚本生成模块.此模块负责将用户操作以及UI信息转换为程序可用的测试脚本.GUITester.Net将采用一种自主开发的TScript脚本语言.此脚本语言类似Java/C#语法.TScriptGenerator.Net可以从手工测试用例自动生成TScript.脚本解析模块.此模块将TScript脚本解析为计算机可用语言.调用脚本回放模块回主页面用户报表新建用户编辑用户确定取消AutoTester.Net自动化测试解决方案放.脚本回放模块.此模块根据解析模块的指令,进行模拟用户操作,同时通过GUI元素识别模块获取测试结果,与测试脚本中的验证点相比较.对每一个验证点进行截屏,生成测试报告.GUITester.Net的一般流程:录制脚本-编辑脚本-回放脚本-生成测试报告.5.SecurityTester.Net功能说明略6.PerformanceTester.Net功能说明略AutoTester.Net自动化测试解决方案五.AutoTester.Net特点AutoTester.Net采用Microsoft.Net技术开发.各软件之间实现无缝集成.软件采用模块化架构设计,一个模块可以在各个软件之间通用.大幅度降低开发成本以及用户升级成本.DocumentVersionSystem.Net能够实现多文档部分内容的版本控制,并且可以自动更新,版本升级.让各文档内容不一致问题彻底解决.UIChecker.Net将单调的UI信息验证完全自动化.测试人员可以将精力集中在商业功能测试领域,提高软件质量.TScriptGenerator.Net能够根据测试用例自动生成测试脚本.降低自动化测试门槛,使自动化测试能够轻松在企业内部展开.GUITester.Net能够实现GUI程序的功能测试.支持Flex应用程序,最新的WPF应用程序以及Windows桌面应用程序.GUITester.Net的模块化设计可以轻松应对新GUI技术的挑战.SecurityTester.Net站在黑客的角度对Web应用程序进行安全测试.保证应用程序免受安全困扰.PerformanceTester.Net从用户角度出发,提供全面的用户性能体验数据.