heretowhere 发表于 2015-7-13 15:35:17

关于MFC的测试问题

小弟是测试方面的菜鸟,最近公司想搞系统的自动化测试,系统是用VC6.0 MFC写的,有exe和若干DLL,现在用VS2010重新编译了一次, 请问使用怎样的测试软件比较好?

fangty 发表于 2015-7-14 10:25:05

QTP全称Mercury QuickTest Professional,是一款自动化测试工具,用于软件的功能测试和回归测试。它能够录制用户行为,并自动进行重放、捕获及验证,可以代替测试人员去完成那些重复性高并且枯燥的工作。
录制用户行为,也就是录制测试脚本,所有录制的用户行为都能够追踪到脚本代码。脚本的重用作为测试自动化的一个方面,是指将一些通用的、固定的用户行为从测试脚本中提取出来,作为独立部分,在其它脚本中加以引用。这样,就避免了一些通用行为的重复录制,有利于测试框架的搭建。
本文将简单介绍Mercury QuickTest Professional 8.2中脚本的重用方法。
QTP中的Action
QTP中脚本可重用的最小单元是Action,录制的用户行为集合将以脚本代码的形式存放在Action中。当你录制脚本的时候,只有一个Action,录制的脚本也全部在这个Action中,可以将这个Action进行切割,提取通用脚本并模块化。
QTP提供四种操作Action的方式:
1、New Action:新建一个Action,可以在其中录制、编辑脚本;
2、 Split Action:将一个Aciton分割成两个Action;
3、 Copy of Action:复制一个Action,即创建一个副本。两个Action相互独立,修改其中任何一个,不会影响另一个;
4、 Call to Action:如同编程语言中的函数调用,测试脚本中也可以引用或调用一个可重用的Aciton,这个Action可以是任一测试脚本文件中声明为Reusable(可重用)的Action。注意:不允许在引用端修改被调用的Action,只能在原脚本文件中修改。
脚本重用示例
Call to Action是QTP重用脚本的核心,下面简单介绍一个使用这种方式来重用脚本的例子。
测试一个简单的B/S结构的办公自动化系统的常用功能。
大体流程为:登录系统―业务处理―退出系统。
其中登录系统和退出系统属于可重用性比较强的功能模块,如果系统允许同一用户同时在多台计算机上登录的话,可以单独建立一个脚本文件,将登录和退出录制成两个可重用的Action,以便重用。业务处理流程就比较多样了,它包括文稿审批、个人日志管理、请假申请等功能模块。
测试一个功能模块的完整用户行为包括登录系统,执行特定的业务流程,执行完毕后退出系统。可使用一个测试脚本文件测试一个特定的功能模块,系统登录和退出模块可以使用Call to Action方式进行重用,不需要在每个模块的测试中都进行录制。
具体步骤如下:
步骤1:录制系统登录和退出脚本。
新建login_out脚本文件,在Record and Run Setting选项卡中,选择IE方式并输入办公自动化系统的网址,点击OK进行录制。QTP将自动打开办公自动化系统的网页,输入用户名和密码登录系统,再退出系统。然后结束录制,QTP将自动生成脚本。
步骤2:使用Split Action方式将login_out脚本中的Action分割成login和logout两个Action。
login是系统登录部分的脚本,logout是退出部分的脚本。具体的分割步骤本文不作说明,读者可参阅QTP的使用手册。
步骤3:将login和logout设定为可重用。
打开两个Action的Action Properties对话框,点选Reusable action选项,点击OK后,两个Action便可以被其它脚本文件引用了。
步骤4:录制业务处理脚本。
按照步骤1新建process脚本文件进行任一功能模块的测试脚本录制。在登录系统进入主界面后,按下工具列中的Record按钮,开始录制相关的业务操作,完成后再按下Stop按钮结束录制,并将Action命名为processing。
这样,process文件包含一个Action名为processing,其中录制了一段系统业务处理流程的测试脚本,但并未包含用户的登录和退出行为,不能直接自动执行,需要手工登录系统进入主界面后,才能执行。
步骤5:调用login和logout,完善process脚本。
打开process脚本,在菜单中选择Insert―Call to Existing Action选项,打开Select Action对话框,选择login_out脚本,选择login,点击OK进行Action的引用。用同样的方法应用logout。注意,调整三个Action的顺序为login―processing―logout。
完成以上五个步骤后,可以执行process脚本进行调试。
小结
脚本重用作为测试自动化的一个方面,缩短了脚本的编制时间、利于脚本的架构与维护。在脚本文件中直接调用可重用的脚本,避免了重复录制,节省时间。
自动化测试人员可以把一个Action中的用户行为分割成很多Action,从中提取出重用性高的设置为Reusable action保存在单独的文件中,并利用这些Reusable action来灵活地架构自己的测试脚本。当一个可重用的脚本需要修改时,仅需在它的源文件中进行改动,调用它的脚本都会随之改动,方便了脚本的维护。


jingzizx 发表于 2015-7-14 12:33:07

分析:自动化测试分为两类:基于GUI的自动化测试和基于WEB的自动化测试;很明显你要做的是基于GUI的自动化测试,所以选择支持GUI的自动化测试工具即可;
建议:可选择QTP/SilkTest等工具,当然还是根据楼主的能力,选择一个入手简单一些的,网上资料多的工具学习,方便问题解决及测试进度。

扣99825918 发表于 2015-7-15 03:41:33

写错不错支持下

shanfeng1419 发表于 2015-7-15 13:36:58

jingzizx 发表于 2015-7-14 12:33
分析:自动化测试分为两类:基于GUI的自动化测试和基于WEB的自动化测试;很明显你要做的是基于GUI的自动化测 ...

请问基于web的测试和基于GUI的测试侧重有什么不同,有什么区别

jingzizx 发表于 2015-7-16 08:44:23

shanfeng1419 发表于 2015-7-15 13:36
请问基于web的测试和基于GUI的测试侧重有什么不同,有什么区别

GUI自动化测试是在自动化测试框架或测试工具的基础上,通过录制/回放测试脚本完成GUI产品的测试.她主要是通过识别对象,模拟用户行为,测试目标检测而实现.
Web自动化测试因为web应用的特点,如体系架构/开发技术/应用环境不同,通过录制,编译,运行,生成测试报告的测试流程完成测试.但是要较全面的支持浏览器录制功能,支持混合自动化测试框架等.
页: [1]
查看完整版本: 关于MFC的测试问题