测试开发02

测试开发02

多表查询

左连接、右连接、内连接、外连接
左连接:两个表中相等的部分及左表中有右表中没有的部分
右连接:两个表中相等的部分及右表中有坐表中没有的部分
全连接:两个表的并集

对测试工作的看法

在研发团队中,相对于产品、开发、运营,可能看起来测试的工作好像是不能创造价值,甚至是消耗价值的。但是我不这么认为,我认为测试的工作是最能维护产品的形象甚至是维护企业的形象的。因为测试最终的目的是让产品满足用户的需求,是保证产品质量的最为重要的一道关卡。测试工作做的好,产品质量好,能让用户对产品有信心,进而对公司产生信赖,而做的差,会使用户远离我们。

测试的工作需要从大局出发,又要从小处着手。我们需要根据项目的紧张程度,制定合适的测试策略,使得项目时间紧的时候,能保证产品不出明显的问题,项目时间松的时候,能发现产品深层次的问题。同时,在执行测试的过程中又需要细心和耐心,不怕繁琐和繁复。

测试也是一个技术工作,需要我们不断地学习新的技术、新的工具,来不断地提升测试的效率、提升产品的质量。

一个登录功能,100的并发,最大响应时间应该不超过多少秒

5s内属于比较快的,5~8s一般,大于8s就比较满,最大响应时间不应该超过·15s

对数据库的性能做优化

1.优化数据库表结构。如:为数据较多的表建立分区;为频繁查找的表建立索引
2.为数据库分配合适的内存
3.优化sql语句。如:尽量避免对全表的扫描查询
4.调整硬盘I/O。如:将一个表空间存放在多个磁盘上,以达到I/O负载均衡
5.对大量读写数据的操作,分段提交,避免溢出

jmeter中的binshell samper

binshell用来调用Java类,来做接口测试的导入证书

jmeter中聚合报告-50% 90%是什么意思

50%是指所有响应时间按照从小到大排列,第50%那一个的响应时间
90%指第90%的那一个的响应时间

吞吐量与并发数的关系

正常来说,并发数越大吞吐量越大,两者呈线性关系
有时候并发量大的情况下,吞吐量却下降,这表明服务器响应不过来,出现了性能瓶颈

什么是性能测试

验证所测系统是否存在性能问题
从时间上、从空间上、
服务器资源是否够用、响应时间是否超时、系统是否稳定

性能测试的核心原则

基于协议,多线程的场景设计,模拟用户行为来分析系统性能瓶颈

jmeter参数化的几种表现方式

1.配置原件-用户定义的变量原件可以设置全局变量
2.函数助手对话框-随机字符串、随机日期、随机数字进行参数化
3.csv data set config-使用csv文件进行参数化

HTTP请求默认值的作用

添加HTTP请求默认值并设置好后,相当于给所有的http请求都设置了默认值,这样就不用再填写取样器中的主机地址、端口、代理等

jmeter如何实现关联的

在上一个接口中通过正则表达式及Beanshell后置处理器将所需要的参数值保存为变量,然后在其余接口中通过${变量名}的形式直接获取

jmeter中如何设置断言

右击添加断言-响应断言,然后设置要对比的项,设置好断言后运行,通过在结果树中不会有任何提示,断言失败的话会红色报错
如果接口返回的数据是json数据,也可以添加json断言

如何使用jmeter进行接口测试

1.添加线程组,并设置线程数为1、时间为1、循环次数为1
2.添加HTTP默认请求值,并设置好
3.添加事务控制管理器以及组织测试用例
4.在事务管理器中添加HTTP请求的接口信息
5.对需要设置断言的接口设置断言
6.添加结果树,查看聚合报告

postman测试脚本是如何执行的

Newman run:生成测试报告
postman里自带的run按钮,可运行所有接口查看接口运行结果

postman参数化的几种方式

内建变量
pre-scripts编写js脚本
导入csv或者json格式文件

postman支持的协议类型

http https

postman中如何设置关联

关联就是上一个接口的返回值截取出来作为下一个接口的参数
通过正则表达式的方式将下一个接口所需要的信息在上一个接口中截取出来
设置全局变量的代码,把设置的值保存到全局变量中
在下一个接口中年使用{{全局变量}}来代替静态值

postman中设置环境变量

多个环境,测试环境或者正式环境,不用每次为了修改环境而修改接口的主机地址,将所有接口引入到所设置的环境变量中
新建环境变量,使用{{变量名}}去调用

post的使用流程

1.编写好测试用例
2.建好url的环境变量
3.建模块,在不同的模块下录入接口测试用例并管理
4.增加断言
5.运行

Fidder抓包的原理

在客户端与服务器之间建立一个代理,通过监听端口(默认8888),监听本机发出的请求和服务器响应的结果

Fidder怎么抓HTTPS的包

安装安全证书
点击fidder的tools、options、https
勾选上所有选项,更换证书,重启fidder

Fidder模拟2g 3g 网络

2G一般上行/下行速率约为:2.7、9.6kbs,模拟设置为:uploaded 约 2962 ms,downloaded 约 833 ms;(弱网一般指2G网络)
3G一般上行/下行速率约为:384、2560kbs,设置为:uploaded 约 2.6 ms,downloaded 约 0.39 ms;
点击规则–>自定义规则,打开fiddler的脚本编辑器,找到simulateModem

设置上传和下载的延时速度

点击规则–>性能,选模拟带宽

fidder的功能性

1.安全性测试,检查敏感信息是否加密,拦截篡改数据
2.测试出现问题时用fidder抓包,判断是前端还是后端的问题
3.模拟弱网测试
4.查看单个功能的响应时间

测试开发000000000000000000000000000000000000000

Jmeter是什么

Jmeter是一款Java开源工具,用于接口、性能测试

Jmeter工作原理

像一群将请求发送到服务器上的用户,并收集来自目标服务器的响应以及其他统计数据,这些统计数据通过图形或者
表格显示应用程序或服务器的性能

可以在哪里使用函数和变量

变量和函数可以写入任何测试组件的任何字段

Jmeter的正则表达式

根据模式,使用正则表达式搜索和操作文本。jmeter可用于解释在整个jmeter测试计划中使用正则表达式模式

采样器与线程组

线程组:对于任何测试计划,测试组原件都是Jmeter的开始部分。设置多个用户和时间来加载线程组中给出的所有用户
采样器:采样器生成一个或多个采样结果,这些采样结果具有许多属性,例如经过时间、数据大小等。采样器允许jmeter通过采样器将特定类型的请求发送到服务器,一般的采样器有HTTP请求、JDBC请求

Jmeter构建测试计划是否依赖于操作系统

测试计划以XML格式保存,因此与任何特定的操作系统都没有关系。
可以在任何操作系统上运行

处理器类型

预处理器
后处理器

预处理器元件

预处理器是采样器执行之前发生的事情。
为了在执行采样请求之前对其进行配置,或者更新未从响应文本中提取的变量,需要使用预处理器元件
HTTP URL重写修饰符
HTTP用户参数修饰符
HTML链接解析器
BeanShell PreProcessor(BeanShell预处理器)

测试元件的执行顺序

配置原件-前置处理器-计时器-取样器-后置处理器-断言-监听器

正则表达式中的包含和匹配表示什么

contains包含:正则表达式与目标的至少一部分匹配
匹配:正则表达式匹配整个目标alphabet ------ al.*t

配置元件

配置元件与采样器并行工作,设置默认值和变量以供采样器以后使用
先处理这些元件,然后再处理同一合并范围中的任何采样器

计时器

默认情况下,JMeter线程将连续发送请求而不会暂停。为了在请求之间暂停,使用了计时器。使用的一些计时器包括恒定计时器,高斯随机计时器,同步计时器,均匀随机计时器等。

测试片段

测试片段也是一种元件,例如“线程组”元件。唯一的区别是,除非模块控制器或包含控制器引用了测试片段,否则不会实现测试片段。

断言

断言验证被测服务器是否返回了预期结果
响应断言
持续时间断言
大小断言
XML断言
HTML断言

减少Jmeter中的资源需求

①使用非GUI模式执行测试,如 jmeter –n –t test.jmx –l test.jtl
②在加载期间,测试不使用“查看结果树”或“查看表中的结果”监听器,仅在脚本编写阶段使用它们;
③不要使用功能模式;
④与其使用大量相似的采样器,不如在循环中使用相同的采样器,并使用变量来改变采样;

尖峰测试

通过同步,可以实现计时器JMeter尖峰测试。同步计时器将阻塞线程,直到阻塞了特定数量的线程,然后将它们全部释放,从而产生了巨大的瞬时负载。
小贴士:尖峰测试 也可以称为冲击测试,反复冲击服务器。指的是在某一瞬间或者多个频次下用户数和压力陡然增加的场景。

解释如何在JMeter中捕获身份验证窗口的脚本?

通常,可以通过录制来捕获脚本:
  首先,必须在Testplan(测试计划)中使用 Threadgroup,然后在 Workbench(工作台) 中使用HTTP代理服务器;
  之后,在“全局设置”框中设置端口号(如8911),然后在 IE高级选项>连接>局域网设置中 开启 代理设置,并将地址修改为localhost,端口改为8911。
然后,HTTP代理服务器中选择 目标控制器 Testplan>Threadgroup,然后启动HTTP代理服务器并运行应用进行登录。

列出几个JMeter监听器?

集合报告
汇总报告
查看结果树
用表格查看结果
图形结果
BeanShell Listener
摘要报告等

什么是分布式负载测试?如何实现?

分布式负载测试是整个系统可以用来模拟大量用户负载的过程。通过使用主从配置,JMeter可以进行分布式负载测试。

在JMeter中是否有必要显式调用嵌入式资源?

你可以消除所有嵌入式资源的显式调用。请求底部有一个复选框,显示“检索嵌入式资源(retrieve embedded resources.)”。它会捕获所有CSS、JPG等。这是在Web应用中查找资源和断开链接的绝妙方法。

解释计时器(Timer)在JMeter中的作用是什么?

在计时器的帮助下,JMeter可以延迟线程发出的每个请求之间的时间。它可以解决服务器的过载问题。

解释什么是后置处理器?

要在发出请求后执行任何操作,则使用后处理器。例如,如果JMeter向Web服务器发送HTTP请求,并且如果你希望JMeter在Web服务器显示错误时停止发送请求,那么你将使用后处理器执行此操作。

JMeter为性能测试提供什么好处?

JMeter提供性能测试方面的优势,例如:

它可以用于测试静态资源和动态资源的性能;
它可用于测试网站最大并发用户数,从而分析定位网站瓶颈;
它提供了性能报告的图形化分析;

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

汪敏wangmin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值