JMeter具备免安装、轻量化、观察请求与响应非常直观等优势。所以大部分时候用JMeter已经很方便了。但是对于session的支持,就有点弱了。虽然可以通过加cookie管理器和参数化替换,也能实现模拟多登录用户。但捣鼓起来很费劲。需要手工把一堆sessionid放到文本里,然后下次还就过期了。所以这时候用loadrunner录脚本然后参数化还是要省心的多。说明loadrunner的virtua
之前介绍过JMeter测试的日常应用。但对于登录后提交数据等操作说的还不够详细。按照常规教程的说法,为JMeter添加cookies管理器,即可以自动管理cookie,实现用户的状态管理。但经过我的使用,发现有的站点可以,有的站点不行。录制完脚本,发现有的站点在cookies管理器中有内容,而大部分没有。经过比较,发现cookies管理器只能自动记录那些持久cookie,而对于类似sessioni
过去长期用loadrunner做性能测试,但是渐渐觉得有些麻烦了:1.只能运行在windows环境下,而生产环境几乎清一色的Linux。为了在同一网段做性能或压力测试,还需要单独部署一套windows服务器,比较浪费。2.loadrunner和浏览器版本绑定太严格了,比如loadrunner 11,最高就支持到ie9,有时候系统打补丁自动把浏览器版本升上去了,就无法录制脚本了。3.版权问题也不容忽
前一阵和开发的同事一起测试某个系统的性能。此系统是发送Ajax请求到后台,再调用第三方的某项服务。第三方服务的性能由不得我们控制,因此开发人员做了一下改进,超时则直接返回。于是在loadrunner这边,结果就好看的多了。当时我并没在意,后来一琢磨,这岂不是说loadrunner不检查Ajax内容就通过了?为了验证这个论断,做了个简单的示例。首先是写个前端的html,发送Ajax到后台,再写个se
刚毕业那会儿有一次去一家台湾公司面试,问我写过多少行代码。从没想过这个问题,粗略算了算,随口说道:大概几十万行吧。最近整理资料,看着eclipse左边满满的列表,想起了这个事。倒底总共有多少行代码?——这事如果在windows下要么找工具,要么编程序。又想到linux里的命令统计很方便,于是打算用个命令来完成。可分析来分析去,恐怕一行命令是搞不
结束篇:Fitnesse是一个有着非常好的创意的软件。它试图拉近开发者与用户的距离。通过前面的介绍,大家可能也看出来了,其实最终还是要落实到编码(fixture)上。这些编码一般来说要由测试人员来写。那么就引发了我的一些思考:一、有没有必要对每个需求都制定验收“表格”。如果这样做,就意味着要写非常非常多的fixture。写这些代码需要花费相当的时间,而时间是昂贵的成本。在能取得大体相同的效果时,有
剩下几种都比较简单,放在一起说了。Import Table——导入表:引入包路径,和java语言中的import作用是一致的Comment Table——注释表:加上注释标记comment,表示此表不需要执行Library Table——库表:表示在当前的fixture中找不到方法时,去Library Table所指定的类中查找并执行Define Table Type——定义表类型:用处很单一,加
Table 表基本上这一节就是文档翻译,不打算写示例了,原因结尾会说。Table表的意思是你可以写出任意样式的表格来。那么任意样式的表格是如何被fitnesse识别并执行的?以及如何展示执行结果的?一起来看一下。前面几种表格的基本思路是——要么由表头来确定方法名(决策表);要么固定方法名(动态决策表、查询表);要么结合某些标识符确定方法名(脚本表)。总之给人有迹可循的印象,而Table表要换个思路
脚本表如果说前面介绍的几种表格都是单步骤、单方法。Script table就是一系列的多步骤操作了,正如名称所代表的含义。表头的第一个格加script:前缀,也可以只是一个script,后面紧跟的单元格作为类名。后面跟构造参数。下面的行每行代表一个操作。允许的操作类型有:执行方法、检查结果、显示输出。执行方法包括方法名称和参数。相当奇葩的设计是方法名称可以和参数交错放入表格中。如我下面的示例中th
查询表、子查询表、有序查询表表头还是要加上标记,这个没什么说的。构造参数列通常是为了提供查询条件(可省略)。fixture代码里面需要注意的是一定要有个无参数的query方法,返回值是List。这个List有点复杂,是三层List的一个集合,分别对应于表、行、字段。口头表述不很清楚,还是看下面的代码好了。返回的结果和页面上的数据进行比较。查询表适合对关系数据库的查询结果进行验证。Query:qt.
动态决策表动态决策表是新出的,去年初的版本里还没有这个。看了一下文档和示例,大意是作为普通决策表的一个辅助手段。是为不容易匹配方法名称而推出的。但如果只有一两个参数,再怎么着也不至于找不到名称。所以我认为动态表主要是为了给那些有大量输入参数的情况设计的。像UserGuide示例中的表格,有6个输入,如果按普通决策表的话至少要写6个setXxx方法。如果更多,代码也就更繁琐了。动态决策表把所有输入都
决策表Fitnesse中提供了好几种表格样式,前面说了,表格是执行测试的关键。从字面看,表格描述的是测试用例;从执行角度看,表格为后端的代码(fitnesse里称作fixture)提供了包名、类名、方法名和参数(仅以java为例)。先说测试系统,fitnesse提供了两种测试系统:fit和slim。采用不同的测试系统,表格样式不同,代码也不同。所以首先就要确定用哪种。fit是默认的,是从Frame
一、简介按标准说法Fitnesse是一个验收测试框架,先不用理会这些貌似“高大上”的名词。看看它是如何介绍自己的。在手册文档的首页,定义了四种说明:1.是一个软件开发合作工具;2.是一个软件测试工具;3.是一个wiki;4.是一个webserver。先从最有操作性的特征开始理解:一个webserver,也就是说肯定是以web方式访问的,就当是个网站好了;一个wiki,这就更具体些了。Wiki是一种
我在前面说过基于录制、回放的web测试麻烦多多,经常是带来的好处不如麻烦多。所以另寻他途。经过一番调研,觉得webdriver(也即selenium 2.0)前途较好,准备试用。webdriver支持多种语言,我们的项目是基于java编写的,按说用java能够更好的和项目集成。但考虑到刚开始用,快速上手很有必要,使用环境越轻量级越好。于是采用watir——Web App
标题借用《web之困》这本书名,借机吐槽一下在web自动化测试中遇到的各种不顺畅。看了这本书,大感欣慰,因为终于有专家说出了我多年想说而不好意思说的话——现在的web应用就是建立在一堆胡乱拼凑的技术基础之上的。 从底层协议级就定义不周到渲染技术的五花八门;从古老的html、css、java applet、ActiveX到javascript、f
VisualStudio2010新增了UI测试功能。想必很多人都尝试过了。作为录制/回放工具的一种,我想用它在web应用上也尝试一下。虽然知道web上的自动化测试历来是极其麻烦的一种,但考虑到操作系统是ms家的、浏览器是ms家的、自动化工具是ms家的甚至C#语言也是ms家的,说不定兼容性能好一些。经过试用之后,发现录制的脚本可以在IDE环境中执行(在测试管理器里应该也是可以的,不过仍然没有脱离环境
使用远程仓库有两个含义。一种是说使用网上提供的空间。这个到相应网站注册就可以了。比如较知名的有github(https://github.com) 、bitbucket (https://bitbucket.org/)等,不多叙述了。我要说的是另外一种——自己搭建内部用的远程版本库。网上也有不少资料,什么ssh服务、传密钥云云。看的我没耐心。本着越简单越好的原则,我自己试验了一种超级简单的方法1.
Git是个优秀的版本管理工具。以前也用过一阵cvs,在windows下还要装个wincvs的客户端,时间一久也就忘了。后来听说svn比较兴起了。没用过,唯一有点印象的是送测的安装包里经常带着一些额外无用目录,看着挺不爽的。后来我自己开发点东西,就用上了git。无论是我在本机上使用还是自己创建远程仓库,都完全没感受到网上教程那么复杂,当然是我并没有用到那么深的功能。但既然已经满足我的需要,又何必去记
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号