Mencre

《软件测试》复习提纲

  • 性能测试的分类:(最少记下来5点)

性能测试、一般性能测试、负载测试、压力测试、大数据量测试、配置测试、稳定性测试。

  • 性能测试的流程:
  • 首先明确需求,确定性能测试目标。
  • 进行业务建模,设计测试用例及场景。
  • 搭建性能测试环境及创建所需的测试数据。
  • 借助性能测试工具进行测试实施,同时进行资源监控及数据收集。
  • 针对监控和收集到的大量数据、图表,进行分析。
  • 程序员及DBA等其他人员协作共同完成性能问题解决及性能调优。

回归测试,将测试结果和前阶段测试结果进行对比分析。

  • LoadRunner工具的组成模块和功能
  • 虚拟用户发生器(Virtual User Generator):实质是一个集成开发环境,通过录制的方式记录用户的真实业务操作,并将“所有记录的操作”转化为脚本。
  • 压力调试与监控中心(Controller模块):用于创建、运行和监控场景。
  • 压力结果分析工具(Analysis模块):用于展现Controller收集到的测试结果,便于进行结果和各项数据指标分析、联合比较等,从而定位系统性能瓶颈
  • 脚本增强的方式
  • 事务 (2)集合点 (3)检查点 (4)关联 (5)参数化 (6)输出函数
  • 场景的两大类型、特点和比较
场景 特点 作用 适用场合 注意
手工场景 手工;灵活 整体了解系统处理能力及性能问题,从而确定系统瓶颈。 需要对系统性能多项指标进行验证,分析系统整体性能情况。 Vuser支持以数值或百分比的模式显示;数值模式下seenario schedule支持通过Group形式进项场景设计。
面向对象场景 自动;简易 验证系统能否达到了解预期目标从而确定系统瓶颈 有明确测试目标的情况,例如验收测试 Controller自动形成并发负载,无法设置集合点策略
  • LoadRunner工具的使用流程:
  • 脚本录制的相关设置
  • 录制脚本
  • 对脚本的增强以及调试
  • 设计场景
  • 场景的执行,对结果的分析。
  • 性能测试的指标
  • 并发及并发用户数
  • 响应时间
  • 每秒事物数
  • 吞吐量与吞吐率
  • 点击率
  • 性能计数器
  • 资源利用率
  • 什么是关联:

用于解决脚本中存在动态数据,导致脚本不能成功回放的问题;关联可以理解为一种特殊的参数化。

关联的三种方式:

自动关联、手动关联、边录制边关联

  • 什么是集合点

通过设置多个Vuesr等待到某个集合点同时触发一项操作,以达到模拟真实环境下多个用户并发操作,实现性能测试的最终目的。

设置集合点的意义:为了衡量在加重负载的情况下,观察服务器的性能情况。

集合点的函数:lr_rendezvous()可进行集合点的设定

 

课本选择题:

  1. LoadGenerator又名压力产生器,运行虚拟用户产生真实的负载
  2. 协议的选择类型:

(1)B/S结构选择Web(HTTP/HTML)协议

(2)C/S结构根据数据库选择

  1. SQL Server数据库,采用MS SQL Server协议;
  2. Oracle数据库,采用Oracle2层协议;
  3. ODBC连接数据库,采用ODBC协议;

(3)没有数据库的C/S(FTP\SMTP)系统,可使用window socket底层协议。

  1. 脚本常用函数:
  • web_link(): 模拟单击超链接操作,页面访问型函数(GET);
  • web_url(): 模拟用户请求,页面访问型函数;
  • web_submit_form(): 自动检测当前页面是否含有form() 函数,将后面的itemData数据用post方式传送
  • web_submit_data(): 无需当前页面支持,直接给对应页面发送相关数据即可
  • web_custom_request(): 用户自定义请求规则
  1. 脚本增强的方式所用的函数:(详情看P93页具体用法举例)
  • 事务:lr_start_tansaction() 、lr_end_transaction()
  • 集合点:lr_rendezvous()
  • 参数化:value=[形参],用参数替代常量
  • 输出函数:lr_log_message()
  • 检查点:web_find()、web_reg_find()
  • 关联:web_reg_save_param()
  1. 输出函数
  • lr_log_message(): 将消息输出到Vuser日志文件中
  • lr_message(): 将消息输出到Vuser日志文件和输出窗口中
  • lr_output_message(): 输出非特定错误消息的特殊通知到输出窗口和日志文件中
  • lr_error_message(): 输出错误信息到输出窗口和Vuser日志文件中
  1. 结点

当脚本运行多次迭代时,实质是Action部分的多次重复执行,vuer_init和vuser_end部分只执行一次

  1. ThinkTime(思考时间)结点

描述用户操作过程中所暂停的时间,用lr_think_time(X)表示。

  1. web资源图:

(1)Hits per Second图:场景执行期间每秒Vuser向服务器发送HTTP请求数

(2)Throughput图:场景执行期间每秒接收服务器返回的数据总量

(3)HTTP Status Code Summary图:以饼状图显示场景执行期间服务器返回的HTTP状态码,并以状态码分组

(4)HTTP Response per Second图:场景执行期间服务器返回的HTTP状态码,并以状态码分组

(5)Pages Downloaded per Second图:场景执行期间每秒从服务器下载的页面数

(6)Connections per Second图:场景执行期间每秒进行饿服务器连接和关闭的次数

  1. Controller控制器

Controller即压力调度和监控中心,主要用于创建、运行和监控场景。

Controller的主要作用有设计场景、运行场景及监控场景

Controller两大类场景类型:Manual Scenario(手工场景)和 Goal-Oriented Scenario(面向目标的场景)

  1. 疲劳强度测试,内存泄漏
  2. 恢复测试
  3. 压力测试à性能测试

(10,11,12不全,我就记得这些,有的小伙伴自行补全吧)

设计题


@Before

public void init(){

待测试类进行实例化:【例如:A a = new A()】

}

@Test

public void testSum(){

Assert.assertEquals(期望值,实际值);
</pre>

【例如:Assert.assertEquals(5,a.sum(2,3));】

}

…其他同理写@Test的就行

打赏
码字很辛苦,转载请注明来自mencre博客《《软件测试》复习提纲》
分享到:

评论