jMeter
课堂笔记
Postman接口测试(有chorm的插件)
录制接口(查看有哪些接口)
Navicat(单一的针对数据库进行可视化)可视化数据库(类似于Xampp)
Jmeter(后台)
基于Java的web应用压力测试,后转型成http、ftp服务器等进行压力测试、接口测试
jMeter
一、JMeter之HTTP协议接口性能测试
1.HTTP基础知识
1.1 不同角色眼中的接口
开发眼中的接口 测试眼中的接口
开发眼中的接口:模块与模块之间的对接方式定义
测试眼中的接口:协议接口,可以独立部署成服务的协议接口
1.2 常见的接口协议
HTTP 超文本传输协议
HTTPS 安全超文本传输协议
FTP 文件传输协议
TCP 网络控制协议
IP 互联网协议
UDP 用户数据协议
1.3 HTTP协议栈中的位置
详细:http://blog.csdn.net/xw20084898/article/details/39438783
1.4 HTTP协议响应码
1xx信息响应类,表示接收到请求并且继续处理
2xx处理成功响应类,表示动作被成功接收、理解和接受
3xx重定向响应类,为了完成指定动作,必须接受进一步处理
4xx客户端错误,客户请求包含语法错误或者不能正确执行
5XX服务端错误,服务器不能正确执行一个正确请求
1.5 客户端->api->DB->api->客户端
二、JMeter
1 JMeter介绍
2.JMeter的优缺点
利用Jmeter做功能测试有以下优点:
Ø 不依赖于界面,如果服务正常启动,传递参数明确就可以添加测试用例,执行测试
Ø 测试脚本不需要编程,熟悉http请求,熟悉业务流程,就可以根据页面中input对象来编写测试用例。
Ø 测试脚本维护方便,可以将测试脚本复制,并且可以将某一部分单独保存。
Ø 可以跳过页面限制,向后台程序添加非法数据,这样可以测试后台程序的健壮性。
Ø 利用badboy录制测试脚本,可以快速的形成测试脚本
Ø Jmeter断言可以验证代码中是否有需要得到的值
Ø 使用参数化以及Jmeter提供的函数功能,可以快速完成测试数据的添加修改等
利用Jmeter做功能测试有以下缺点:
Ø 使用Jmeter无法验证JS程序,也无法验证页面,所以需要手工去验证。
Ø Jmeter的断言功能不是很强大
Ø 就算是jmeter脚本顺利执行,依旧无法确定程序是否正确执行,有时候需要进入程序查看,或者查看Jmeter的响应数据。
Ø Jmeter脚本的维护需要保存为本地文件,而每个脚本文件只能保存一个测试用例,不利于脚本的维护。
Jmeter和其他功能测试工具在使用中的比较:
Ø Jmeter比较适用于数据添加,数据修改,数据查询的测试,使用其他测试工具虽然也可以完成该类测试,但是利用Jmeter添加数据更快,更方便,而且不依赖于界面,只要添加数据的参数不改变,无论界面是否有变动,都不影响针对数据的操作。
Ø Jmeter不需要要关注对象是否被识别的问题,而其他测试工具在录制过程中,很容易出现页面对象不能被录制工具识别的问题,因此适用Jmeter,省略了很多关于对象操作的麻烦,更易于使用。
Ø Jmeter的适用更主要的是依赖于对被测项目的认知和熟悉,而对于Jmeter自身的适用技巧要求并不是很高,而其他测试工具,关于工具本身需要较长时间的学习。
Ø Jmeter能够对复杂的业务逻辑进行处理,而对这些复杂业务逻辑的处理,主要是运用Jmeter自身所带的配置元件来达到,对录制的脚本的修改不大,而 使用其他测试工具,要实现复杂业务逻辑的测试,则需要对录制的脚本进行修改,需要工具使用人员有一点的编程能了,因此,使用Jmeter进行测试对测试人 员编程能力的要求不高,同时节省大量的修改脚本的时间。
Ø 其他测试工具的测试脚本可以通过CVS等版本控制工具进行管理,而Jmeter的测试脚本的管理不知道是否可以纳入版本控制,因此,其他测试工具比较适用 于大型的,系统的功能测试中,而Jmeter比较适用于随机的,扩展开发不多的项目,也就是说Jmeter使用起来更灵活。
Ø 其他测试工具有大量的验证点可用,并且能够对界面上的内容进行验证,可以验证更多的内容,测试能够更完全,对于界面变动不大的项目,可以通过修改脚本实现 更加全面的自动化测试,而Jmeter提供的断言功能有限,并且不依赖于界面,无法完界面相关内容的验证,用Jmeter测试更需要人工测试,人工确认。
Ø Jmeter用作一个辅助测试工具,可以很大的提高测试人员的效率,而其他测试工具当作辅助测试工具并不能达到和jmeter同样的功能。
Ø Jmeter做功能测试的脚本可以同样用来做性能测试,这是其他大多数功能测试工具所不能具备的。
JMeter数据库测试计划
在本章中,我们将看到如何创建一个简单的测试计划,测试数据库服务器。对于我们的测试目的,我们使用MySQL数据库服务器。您可以使用任何其他数据库进行测试。MYSQ的安装和创建表,请参阅MYSQL教程。
安装MySQL以后,请按照以下步骤设置数据库:
创建一个数据库名称 "tutorial".
创建一个表 tutorials_tbl.
插入记录到 tutorials_tbl :
复制JDBC驱动程序到 /home/manisha/apache-jmeter-2.9/lib.
创建JMeter测试计划
首先,让我们启动JMeter /home/manisha/apache-jmeter-2.9/bin/jmeter.sh.
添加用户
现在,创建一个线程组,右键点击 Test Plan > Add> Threads(Users)> Thread Group. 根据测试计划节点将添加线程组。重命名此线程为JDBC用户。
我们不会改变线程组的默认属性。
添加JDBC请求
现在,我们已经定义了我们的用户,它是时间来定义,他们将要执行的任务。在本节中将指定JDBC请求执行。 JDBC Users元件上右击,选择 Add > Config Element > JDBC Connection Configuration.
设置以下字段(我们使用的是MySQL数据库教程):
变量名绑定到池。这需要唯一地标识该配置。它是用来由JDBC采样器,以确定要使用的配置。作为测试,我们把它命名为 test
Database URL: jdbc:mysql://localhost:3306/tutorial
JDBC Driver class: com.mysql.jdbc.Driver
用户名: root
密码: root的密码
在屏幕上的其他领域,可以留为默认值,如下所示:
添加一个JDBC请求是指上面定义的JDBC配置池。选择JDBC Users元件,单击鼠标右键得到添加菜单,然后选择 Add > Sampler > JDBC Request. 然后,选择这个新的元素,以查看它的控制面板。编辑属性如下:
变量名绑定到池。这需要唯一地标识该配置。它是用来由JDBC采样器,以确定要使用的配置。我们将其命名为 test
Name: Learn
Enter the Pool Name: test (same as in the configuration element)
Query Type: Select statement
Enter the SQL Query String field.
创建侦听器
现在添加Listener元素。此元素负责存储所有JDBC请求的结果,在一个文件中,并呈现出可视化的数据模型。
选择JDBC Users元件,并添加一个查看结果树监听器(Add > Listener > View Results Tree).
保存并执行测试计划
现在保存的以上测试计划db_test.jmx。执行本测试计划使用 Run > Start 选项.
校验输出
在最后图像,可以看到,2条记录被选择。
Last updated