【性能测试】理发店模型看性能测试的概念和理论
《“理发店模型”看性能测试的概念和理论》 在我们的这个理发店中,我们事先做了如下的假设: 1. 理发店共有3名理发师; 2. 每位理发师剪一个发的时间都是1小时; 3. 我们顾客们都是很有时间观念的人而且非常挑剔,他们对于每次光顾理发店时所能容忍的等待时间+剪发时间是3小时,而且等待时间越长,顾客的满意度越低。如果3个小时还不能剪完头发,我们的顾客会立马生气的走人。
《“理发店模型”看性能测试的概念和理论》 在我们的这个理发店中,我们事先做了如下的假设: 1. 理发店共有3名理发师; 2. 每位理发师剪一个发的时间都是1小时; 3. 我们顾客们都是很有时间观念的人而且非常挑剔,他们对于每次光顾理发店时所能容忍的等待时间+剪发时间是3小时,而且等待时间越长,顾客的满意度越低。如果3个小时还不能剪完头发,我们的顾客会立马生气的走人。
《四阶段讲述测试自动化的计划和实施》 测试自动化的计划和实施系列文章,最近开始酝酿思路,初步打算分为四个部分来组织,这也是我亲身经历的一个自动化项目的四个阶段,大家可以对号入座,看看你所在的公司或者组织处于自动化实施的哪个阶段?
《软件测试中如何使用自动化脚本》 1)QTP工具。QTP是一个快速测试专业工具。它的优点是可以快速建立企业自动化框架,但不是一个全能的工具,因为利用QTP并不能帮助用户找出更多的 BUG,只能提高执行测试用例的效率。 QTP的价格也较贵。 QTP主要应用于较稳定的测试项目的回归测试,UI的变化不明显,功能较稳定的项目。它可以节省回归测试的成本,但相对手工测试来说,QTP对测试人员的要求较高,比如要掌握VB脚本,掌握函数调用等技术;另外,建立QTP框架前期需要投入较大的人力写测试用例,加上调试的时间,是一笔不小的开销,所以企业在选用QTP测试工具时一定要三思而后行。
《小议软件自动化测试框架的改进》 以下是自动化测试框架的建议,需要在以后的实践中改进。自动化测试框架一般可以分为上下两个层次,上层是管理整个自动化测试的开发,执行以及维护,在比较庞大的项目中,它体现重要的作用,它可以管理整个自动测试,包括自动化测试用例执行的次序、测试脚本的维护、以及集中管理测试用例、测试报告和测试任务等。下层主要是测试脚本的开发,充分的使用相关的测试工具,构建测试驱动,并完成测试业务逻辑。
自动化测试脚本完成标准 度量标准: 1、尽量剔除硬编码 2、尽量减少全局变量和对象的使用,变量、函数、类、对象应该仅在需要的地方使用
Eval可使变量的值变成变量名。 比如:
一些日记操作的方法,不解释,直接上脚本:
1.在运行中设置测试选项。 设置QTP是否存在一个对象的最大时间:
这个就比较简单了:
剪贴板只能同时容纳一组同一类型的数据,当新的数据存入剪贴板时,原有的数据将会被替换。
GetRef函数指针的用法:
FSO:全称为:File System Object (文本文件系统对象)。 FSO是一个可以对系统文件进行操作的COM组建,对于自动化测试来说,FSO组件也经常可以帮助我们方便快捷地解决一些文本处理上的问题。 FileSystemObject Object:文件系统对象,操作计算机的文件系统。 Folder Object:文件夹对象,提供存取文件夹所有属性以及操作。 TextStream Object:文本流对象,提供存取文件内容。 Drive Object:驱动器对象,用于管理和操纵磁盘或者网络驱动器。
FSO:全称为:File System Object (文本文件系统对象)。 FSO是一个可以对系统文件进行操作的COM组建,对于自动化测试来说,FSO组件也经常可以帮助我们方便快捷地解决一些文本处理上的问题。 FileSystemObject Object:文件系统对象,操作计算机的文件系统。 Folder Object:文件夹对象,提供存取文件夹所有属性以及操作。 TextStream Object:文本流对象,提供存取文件内容。 Drive Object:驱动器对象,用于管理和操纵磁盘或者网络驱动器。
使用ChildObjects获取某类型所有控件的方法:
如下代码能成功的print当前计算机任务管理器中的所有进程。
这是个比较奇葩的语句,不过有时候能起到意想不到的效果。 可以将一条语句命令完整的保存在一个字符串变量中,然后使用Execute,将这个字符串作为命令执行。 比如:
直接举例说明: 录制一个百度页面的操作,然后将对象库导出,保存成一个obj.tsr文件。 然后使用如下代码进行动态添加tsr对象库。
Filter的作用是从一个一维数组中,找到指定子串,并保存在另一个一维数组中。
(1)创建文件夹
在脚本的编写过程中,经常会遇到脚本执行太快,导致页面还没有加载完毕,而脚本却已经执行到下面N条,为了避免这样的情况,列举了几种等待页面加载的方法: 【1】 在File–>Settings–>Run–>Objectsynchronization中设置,默认时间是20秒。也就是说QTP会在20秒内不断的查找对象,如果在20秒内,页面控件出现,则能正常进行,超过20秒就要报错了。 虽然加长超时时间是一种方法,但还是推荐下面几种方法。
在脚本的编写中,我们经常会遇到自定义类,在使用自定义类中,会遇到一些问题:无法new自定义类,报错的现象。 来模拟一下场景:新建了一个脚本文件Action1,并加载一个Function.vbs文件。 脚本:
在坛子里发了个帖子: 【头脑风暴】如何在脚本运行时,Log中能记录当前进入的函数 链接:http://bbs.51testing.com/thread-893562-1-1.html 好吧,那我来抛砖引玉一下~比如:我在外部vbs文件中写入一段脚本,是个log工具的class:
很多童鞋都问在2003上如何安装QTP,为何单机许可不能使用? 我在N太server系统上装过QTP,也没有遇到这样的问题。唯一出现过注册License问题的原因是因为使用了系统自带的mstsc远程安装的关系。所以我总结了下如何远程在2003这样的Server系统下安装QTP。 设我的本机是XP电脑A,要在远程的Server2003电脑B上装QTP。
今天,和往常一样,在尝试新的脚本,并在Word进行记录。 以往的情况是,为了看代码更舒服,我在word中写了个关于脚本高亮格式的宏。 而今天突然发现,从新版本的QTP 11.5 (UFT)中复制脚本到Word中,居然自带了高亮格式一起复制了过来。 哈哈,意外收获啊,以后从Word中查看脚本,就更加方便了。
今天上班,被告知昨日晚上上版的内容有客户反映存在问题,导致无法正常登录。只是给登录增加了个验证码而已,出现这么严重的问题,我肯定能发现啊?当时就一惊,定位问题。发现原来是IE6上兼容性的问题。 昨日版本上测试环境后,都在IE7和IE8上跑过,没有问题,手边也没有IE6环境了,也觉得IE6几乎没人用了,最后就忽略了,使得使用IE6的用户登录时,验证码被拉长(验证码非图片显示,使用的是*点阵方式显示),几乎看不出验证码内容。最后不得不使得所有网站停机维护、版本暂时回归。
在QTP中,可以对环境变量进行使用。 如:打印测试路径:
一、何时适合引入自动化测试 项目周期长,系统版本不断。 需求变更不频繁。 系统中的测试对象基本可以正常识别。 系统中不存在大量第三方控件。 需要进行反复测试,如可靠性测试,需要进行上千次测试。
先上一段脚本:
1. Alt+G:将光标停留在函数名上,按Alt+G可以跳转至该函数上。 2. Ctrl+Space:能出现如下提示框。(先要将输入法的Ctrl+Space快捷键改成别的才能正常使用)
如果需要A到B的随机数,在QTP中可直接使用: