自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 资源 (8)
  • 收藏
  • 关注

原创 中西医诊疗与软件测试

最近一段时间跑中医院比较频繁,于是有一些小小的感悟。        医生,是给人看病,而测试人员,在一定程度上来说是给软件“看病”,两者之间有一定的共同点。如果根据诊断和治疗的手法来分,那么中医就像是软件测试中的黑盒测试,而西医更像是白盒测试。中医——黑盒测试        中医学以阴阳五行作为理论基础,通过望、闻、问、切的诊断方法,探求病因、病位、分析病机以及人体的五脏六

2013-03-31 17:33:42 1520 2

转载 12步改进QTP测试性能

以下为HP官方提供的几点如何改进QTP性能的方式:01. 当开启QTP时只载入需要的Add-ins,这一点不管是在录制还是回放时都会有性能提升。02. 运行测试脚本时选择fast模式,打开Tools–》Options窗口选择fast mode选项,一旦开启了fast模式,QTP在执行测试脚本时不会在执行每一步时显示箭头,但测试运行速度会明显提高。03. 关闭Active Scree

2013-03-24 14:54:47 1130

原创 使用WSH禁用IE弹出框

在使用QTP做网页自动化测试时,经常会碰到IE浏览器不时地弹出各种窗体的情况,从而影响了脚本的运行,下面介绍一种简单的禁用IE弹出框的办法。    ' 创建WSH对象Set oWSH = CreateObject("WScript.Shell")' 定义注册表路径popupKeyPath = "HKEY_CURRENT_USER\Software\Microsoft\Int

2013-03-03 12:41:03 1029

原创 我眼中的自动化测试框架设计要点

对于自动化测试框架,其实并没有多数人想象中的那么高深玄乎,框架的概念只是一系列的被事先定义好的标准和规范。在自动化测试中我们经常提到的对测试需求的解析、脚本设计、测试执行、测试报告、维护管理等等,通过框架将它们串联并封装起来,从而使框架的终端用户能够更方便地使用。然而,一个好的自动化测试框架,不仅仅要能让用户方便使用,还需要考虑很多其他因素,下面就来分享一下一些个人的经验。选择一种

2013-02-03 15:30:30 11371

原创 在QTP中四种模拟键盘输入的方式

1. QTP测试对象的Type方法举例: Browser("Untitled").Dialog("Properties").WinButton("OK").Type micReturn2. WSH中的SendKeys方法举例:Set wshobj = CreateObject("WScript.Shell")wshobj.SendKeys "{ENTER}"Set wsho

2012-11-05 13:16:03 8710

转载 Troubleshooting Record and Playback issues in Coded UI Test

转载一篇关于Coded UI的文章,罗列了大部分在Coded UI中可能遇到的问题Troubleshooting Record and Playback issues in Coded UI Test

2012-10-16 10:13:54 909

转载 软件测试基本原理

在过去的40多年里,测试工作中有一些原理已经被普遍接受,广泛应用。在测试中,应当始终牢记7条基本原理。原理1:测试可以证明缺陷存在,但不能证明缺陷不存在。        测试可以证明产品是失败的,也就是说产品中有缺陷。但测试不能证明程序中没有缺陷。适当的测试可以减少测试对象中的隐藏缺陷。即使在测试中没有发现失效,也不能证明其没有缺陷。原理2:穷尽测试是不可能的。

2012-06-18 10:07:23 13072

原创 导致QTP运行缓慢的常见原因

1. 脚本中有太多的Wait语句分析:Wait语句的意思是一直等到超时时间后才继续执行脚本,等待的时间是固定的,这样就会造成时间浪费,导致脚本运行缓慢。解决方法:使用Exist,Sync,WaitProperty方法来代替wait2. 开启了智能识别分析:QTP在识别对象的过程中如果对象的强制属性和辅助属性还不能唯一匹配到对象的话,会激活智能识别模式,由于智能识别的算法复杂

2012-04-28 12:42:05 4948 3

原创 Web自动化测试中针对图片验证码问题的常见解决思路

图片验证码(Captcha)问题在自动化测试中是一个很常见的问题,也是一个很棘手的问题。图片验证码设计的初衷其实就是为了防自动化,防止一些人利用自动工具恶意攻击网站,而很不幸的是,我们所使用的一些自动化测试工具也包含在内。当然了,对付验证码也不是一点办法都没有,方法还是有很多的,只是我们需要跳出技术层面去思考问题。废话少说,先来看下几种常见的解决办法:1. 识别法(技术)

2012-04-14 14:06:55 7771

原创 QTP中Browser对象的方法补充:激活、最大化、最小化

做Web自动化测试的时候,有时需要对浏览器进行一些特殊的操作,比如浏览器的激活、最大化和最小化。熟悉C/S自动化测试的朋友应该都知道Window对象是有这些方法的,而Browser对象则没有。        当然了, 我们可以自己写一些函数来弥补这个不足,其原理是通过获取浏览器的句柄,然后使用描述性编程来操作Window对象。        PS:所谓句柄是指,使用的一个唯一的整数值,

2012-04-09 09:15:43 4643

原创 File-->Settings与Tools-->Options的区别

熟悉QTP的同学都知道,QTP中有很多种设置,其中最常用的无非是在File菜单下的Settings以及在Tools菜单下的Options。那么这两个设置又有什么区别呢?File-->SettingsFile--Settings的设置主要都是和QTP脚本关联的。在File-->Settings选项下对某个QTP脚本文件进行的设置,经过保存后,其他人打开这个脚本后也依然有效。F

2012-03-31 12:14:58 1339

原创 浏览器兼容性测试的分类

浏览器在Web系统中的一个非常重要的组成部分,它关系到软件产品最终的展现形式,直接与用户打交道。同一个Web页面在不同的浏览器上可能有不同的效果,而用户也有各不相同的使用浏览器的习惯,既有使用主流浏览器的也有使用非主流的(比如作者,用的是Opera,碰到过很多网页都有兼容性的问题……)所以,为了保证我们的软件产品能够面向大多数的用户,浏览器的兼容性测试在Web测试中占据了十分重要的作用。

2012-02-22 23:34:01 4407

原创 VBS中实现函数多返回值

VBScript中的函数可以是Sub,也可以是Function,但Sub是没有返回值的,而Function只能有一个返回值。这一讲主要介绍如何借助其他手段使Function也能有多个返回值。方法1 —— 借助Class' 定义一个有多个变量成员的类Class MultiValue Dim a, b, cEnd ClassFunction ClassMulti(par

2012-02-04 22:44:43 14643 1

原创 QTP中的同步等待方式

在自动化测试中,往往会遇到这样一种情况,当点击了一个链接或按钮之后,脚本马上报错,说是没有找到对象。这其实不是对象不存在的问题,而是在脚本中没有增加同步点。在一些Web网站中,当点击了链接或按钮后经常会跳转到一个新的页面,而这个页面需要一定的加载时间,但这个时候QTP已经执行下一行语句了,在这个页面还没有加载完的情况下就去寻找下一步需要操作的对象,那自然是会出错的了。因此,我在这里总结了几种同步方

2012-02-02 15:53:03 2971 1

原创 DataTable中三种获取参数值的方法

在QTP的DataTable中有三种获取参数值的方法,它们分别是Value方法、RawValue方法和ValueByRow方法。下面将一一阐述这几种方法。Value        DataTable.Value(paramName, sheetName)【参数说明】        paramName —— 需要获取的参数名,也就是列名        sheetN

2012-01-31 16:39:48 14698

原创 Functions与Actions

在使用QTP做自动化测试的过程中,我们有时候会用到QTP中的Action,有时候也会用到VBScript的函数,在这里称之为Function。那么这两者之间有什么区别和联系呢,在这里我个人做了一下总结,限于水平有限,总结得可能不是很全面,欢迎拍砖~Actions和Functions的区别1. Action属于QTP的范畴,而Function则属于VBScript的范畴。2.

2012-01-28 21:59:24 1229

原创 QTP中隐藏的Action最高指挥官——Action0

相信很多使用过QTP的同学都会有这么一个发现,在QTP脚本中只有一个Action,但是在浏览脚本目录的时候发现还多了一个叫Action0的目录,并且每个脚本都有这么一个Action0。那么,它究竟是用来干嘛的呢?        其实,它是QTP脚本中隐藏的Action最高指挥官,负责组织和调度当前脚本中的各种Action。有的同学可能会问,如何看到Action0里面的内容呢?这个其实也非常简单

2012-01-19 14:35:26 2905 1

原创 QTP对象识别原理之我见

在讨论这个话题之前,先让我们把思绪抽回到1800年前。        这里是烽火连天的三国时代,曹操与马超正大战于潼关。乱军丛中,曹操望风而逃,马超在后面大喊:“穿红袍的是曹操!”,曹操听到后立马脱掉红袍。随后又听到大喊:“长胡子的是曹操!”,曹操大惊,又拿刀割掉了自己的胡子。马超知道后,大喊:“短胡子的是曹操!”……       为什么要先说这么一段故事呢,其实这段故事的某些地方与QTP

2012-01-16 23:38:58 2675 2

性能测试进阶指南——LOADRUNNER_9.1实战

本书作为国内唯一一本基于HP LoadRunner 9 10工具的指导用书,从性能测试原理到工具使用再到项目实施,全面介绍了性能测试的各个方面,其内容基本主线说明如下。   第一步(了解理论):磨刀不误砍柴工,打下基础;第二步(掌握工具):深入介绍 LoadRunner工具三大部分(Virtual User Generator、Controller、Analysis)分别是如何实现用户行为的模拟、性能指标的监控、负载的生成及后期的数据分析;第三步(项目实施):理论联系实际,介绍性能测试项目实施的流程和性能测试部门的组织管理;第四步(进阶提升):对一些当下流行的或比较特殊的协议和开发技巧进行真实案例的介绍。   本书结合了很多工作中的实际案例,图文并茂,既适合渴望了解性能测试的新人,也适合对性能测试有一定认识和经验的中、高级测试工程师。同时,本书也可以作为高校开展性能测试课程的参考教材,让在校学生能对性能测试的本质和价值有一定的认识。   作者简介   陈霁,现任职博为峰软件技术有限公司高级讲师,51Testing软件测试论坛版主(论坛ID 云层),ISO内审员,曾任职于Etang、Gameloft等多家知名企业。八年软件测试工作经验,多年性能测试和测试管理经验,擅长解决客户在工作中的具体问题,授课诙谐幽默,思路清晰,能够将复杂的知识通过简单的例子分解描述,深受学员好评。 第1章 性能测试基础   第2章 LoadRunner综述   第3章 用户行为模拟   第4章 负载生成及监控Controller   第5章 数据收集分析Analysis   第6章 性能测试实战   第7章 高级脚本开发   附录   参考资料

2012-03-12

谭浩强_C语言程序设计

第1章 程序设计和C语言  1.1 什么是计算机程序  1.2 什么是计算机语言  1.3 C语言的发展及其特点  1.4 最简单的C语言程序   1.4.1 最简单的C语言程序举例   1.4.2 C语言程序的结构  1.5 运行C程序的步骤与方法  1.6 程序设计的任务  习题 第2章 算法——程序的灵魂  2.1  什么是算法  2.2 简单的算法举例  2.3 算法的特性  2.4 怎样表示一个算法   2.4.1 用自然语言表示算法   2.4.2 用流程图表示算法   2.4.3 三种基本结构和改进的流程图   2.4.4 用N?S流程图表示算法   2.4.5 用伪代码表示算法   2.4.6 用计算机语言表示算法  2.5 结构化程序设计方法  习题 第3章 最简单的C程序设计——顺序程序设计  3.1 顺序程序设计举例  3.2 数据的表现形式及其运算   3.2.1 常量和变量   3.2.2 数据类型   3.2.3 整型数据   3.2.4 字符型数据   3.2.5 浮点型数据   3.2.6 怎样确定常量的类型   3.2.7 运算符和表达式  3.3 C语句   3.3.1 C语句的作用和分类   3.3.2 最基本的语句——赋值语句  3.4 数据的输入输出   3.4.1 输入输出举例   3.4.2 有关数据输入输出的概念   3.4.3 用printf函数输出数据   3.4.4 用scanf函数输入数据   3.4.5 字符数据的输入输出  习题 第4章 选择结构程序设计  4.1 选择结构和条件判断  4.2 用if语句实现选择结构   4.2.1 用if语句处理选择结构举例   4.2.2 if语句的一般形式  4.3 关系运算符和关系表达式   4.3.1 关系运算符及其优先次序   4.3.2 关系表达式  4.4 逻辑运算符和逻辑表达式   4.4.1 逻辑运算符及其优先次序   4.4.2 逻辑表达式   4.4.3 逻辑型变量  4.5 条件运算符和条件表达式  4.6 选择结构的嵌套  4.7 用switch语句实现多分支选择结构  4.8 选择结构程序综合举例  习题 第5章 循环结构程序设计  5.1 为什么需要循环控制  5.2 用while语句实现循环  5.3 用do…while语句实现循环  5.4 用for 语句实现循环  5.5 循环的嵌套  5.6 几种循环的比较  5.7 改变循环执行的状态   5.7.1 用break语句提前终止循环   5.7.2 用continue语句提前结束本次循环   5.7.3 break语句和continue语句的区别  5.8 循环程序举例  习题 第6章 利用数组处理批量数据  6.1 怎样定义和引用一维数组   6.1.1 怎样定义一维数组   6.1.2 怎样引用一维数组元素   6.1.3 一维数组的初始化   6.1.4 一维数组程序举例  6.2 怎样定义和引用二维数组   6.2.1 怎样定义二维数组   6.2.2 怎样引用二维数组的元素   6.2.3 二维数组的初始化   6.2.4 二维数组程序举例  6.3 字符数组   6.3.1 怎样定义字符数组   6.3.2 字符数组的初始化   6.3.3 怎样引用字符数组中的元素   6.3.4 字符串和字符串结束标志   6.3.5 字符数组的输入输出   6.3.6 使用字符串处理函数   6.3.7 字符数组应用举例  习题 第7章 用函数实现模块化程序设计  7.1 为什么要用函数  7.2 怎样定义函数   7.2.1 为什么要定义函数   7.2.2 定义函数的方法  7.3 调用函数   7.3.1 函数调用的形式   7.3.2 函数调用时的数据传递   7.3.3 函数调用的过程   7.3.4 函数的返回值  7.4 对被调用函数的声明和函数原型  7.5 函数的嵌套调用  7.6 函数的递归调用  7.7 数组作为函数参数   7.7.1 数组元素作函数实参   7.7.2 数组名作函数参数   7.7.3 多维数组名作函数参数  7.8 局部变量和全局变量   7.8.1 局部变量   7.8.2 全局变量  7.9 变量的存储方式和生存期   7.9.1 动态存储方式与静态存储方式   7.9.2 局部变量的存储类别   7.9.3 全局变量的存储类别   7.9.4 存储类别小结  7.10 关于变量的声明和定义  7.11 内部函数和外部函数   7.11.1 内部函数   7.11.2 外部函数  习题 第8章 善于利用指针  8.1 指针是什么  8.2 指针变量   8.2.1 使用指针变量的例子   8.2.2 怎样定义指针变量   8.2.3 怎样引用指针变量   8.2.4 指针变量作为函数参数  8.3 通过指针引用数组   8.3.1 数组元素的指针   8.3.2 在引用数组元素时指针的运算   8.3.3 通过指针引用数组元素   8.3.4 用数组名作函数参数   8.3.5 通过指针引用多维数组  8.4 通过指针引用字符串   8.4.1 字符串的引用方式   8.4.2 字符指针作函数参数   8.4.3 使用字符指针变量和字符数组的比较  8.5 指向函数的指针   8.5.1 什么是函数指针   8.5.2 用函数指针变量调用函数   8.5.3 怎样定义和使用指向函数的指针变量   8.5.4 用指向函数的指针作函数参数  8.6 返回指针值的函数   8.7 指针数组和多重指针   8.7.1 什么是指针数组   8.7.2 指向指针数据的指针   8.7.3 指针数组作main函数的形参  8.8 动态内存分配与指向它的指针变量   8.8.1 什么是内存的动态分配   8.8.2 怎样建立内存的动态分配   8.8.3 void指针类型  8.9 有关指针的小结   习题 第9章 用户自己建立数据类型  9.1 定义和使用结构体变量   9.1.1 自己建立结构体类型   9.1.2 定义结构体类型变量   9.1.3 结构体变量的初始化和引用  9.2 使用结构体数组   9.2.1 定义结构体数组   9.2.2 结构体数组的应用举例  9.3 结构体指针   9.3.1 指向结构体变量的指针   9.3.2 指向结构体数组的指针   9.3.3 用结构体变量和结构体变量的指针作函数参数  9.4 用指针处理链表   9.4.1 什么是链表   9.4.2 建立简单的静态链表   9.4.3 建立动态链表   9.4.4 输出链表  9.5 共用体类型   9.5.1 什么是共用体类型   9.5.2 引用共用体变量的方式   9.5.3 共用体类型数据的特点  9.6 使用枚举类型  9.7 用typedef声明新类型名  习题 第10章 对文件的输入输出  10.1 C文件的有关基本知识   10.1.1 什么是文件   10.1.2 文件名   10.1.3 文件的分类   10.1.4 文件缓冲区   10.1.5 文件类型指针  10.2 打开与关闭文件   10.2.1 用fopen函数打开数据文件   10.2.2 用fclose函数关闭数据文件  10.3 顺序读写数据文件   10.3.1 怎样向文件读写字符   10.3.2 怎样向文件读写一个字符串   10.3.3 用格式化的方式读写文件   10.3.4 用二进制方式向文件读写一组数据  10.4 随机读写数据文件   10.4.1 文件位置标记及其定位   10.4.2 随机读写  10.5 文件读写的出错检测  习题 第11章 常见错误分析355附录 附录A 在Visual C++6.0环境下运行C程序的方法 附录B 常用字符与ASCII代码对照表 附录C C语言中的关键字 附录D 运算符和结合性 附录E C语言常用语法提要 附录F C库函数 参考文献

2011-12-17

IIS for WinXP 386

安装步骤:    1、打开控制面板,然后打开其中的“添加/删除程序”  2、在添加或删除程序窗口左边点击“添加/删除Windows组件”    3、捎带片刻系统会启动Windows组建向导,在Internet信息服务(IIS)前面选勾,点击下一步:    4、系统安装成功,系统会自动在系统盘新建网站目录,默认目录为:C:\Inetpub\wwwroot    5、打开控制面板-性能和维护-管理工具-Internet 信息服务:    6、在默认网站上点击右键-选择属性:    7、点击主目录:在本地路输入框后点击浏览可以更改网站所在文件位置,默认目录为:C:\Inetpub\wwwroot

2010-06-05

COMMAND.OCX

一、如果您的系统提示“没有找到COMMAND.OCX”或者“缺少COMMAND.OCX”等类似错误信息,请把COMMAND.OCX下载到本机 二、直接拷贝该文件到系统目录里:    1、Windows 95/98/Me系统,则复制到C:WindowsSystem目录下。    2、Windows NT/2000系统,则复制到C:WINNTSystem32目录下。    3、Windows XP系统,则复制到C:WindowsSystem32目录下。 三、然后打开“开始-运行-输入regsvr32 COMMAND.OCX”,回车即可解决错误提示!

2010-06-02

MSHFLXGD.OCX

一、如果您的系统提示“没有找到MSHFLXGD.OCX”或者“缺少MSHFLXGD.OCX”等类似错误信息,请把MSHFLXGD.OCX下载到本机 二、直接拷贝该文件到系统目录里:    1、Windows 95/98/Me系统,则复制到C:WindowsSystem目录下。    2、Windows NT/2000系统,则复制到C:WINNTSystem32目录下。    3、Windows XP系统,则复制到C:WindowsSystem32目录下。 三、然后打开“开始-运行-输入regsvr32 MSHFLXGD.OCX”,回车即可解决错误提示!

2010-05-24

FLEXWIZ.OCX

一、如果您的系统提示“没有找到FLEXWIZ.OCX”或者“缺少FLEXWIZ.OCX”等类似错误信息,请把FLEXWIZ.OCX下载到本机 二、直接拷贝该文件到系统目录里:    1、Windows 95/98/Me系统,则复制到C:WindowsSystem目录下。    2、Windows NT/2000系统,则复制到C:WINNTSystem32目录下。    3、Windows XP系统,则复制到C:WindowsSystem32目录下。 三、然后打开“开始-运行-输入regsvr32 FLEXWIZ.OCX”,回车即可解决错误提示!

2010-05-24

vista七彩泡泡屏保

这是一个仿vista下的七彩泡泡桌面屏保

2008-12-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除