1.fiddler 抓包资料:

抓包配置手机端:Fiddler 抓包工具总结

抓包配置电脑端:使用fiddler实现手机抓包

No root certificate was found问题解决方案

过滤功能关于Fiddler强大的过滤功能 

 

2.charles

charles使用(安装、mock、限速、断点功能)

Charles 抓包使用教程

设置http接口:点击菜单栏的proxy-proxy setting-设置下http proxy的port端口

设置https接口: 点击菜单栏的proxy-再选择下拉菜单里的SSL proxying setting-在第一页ssl proxying 把enable ssl proxying打勾,下面的include添加*:*,表示全部的地址和端口都抓避免有些端口漏掉,设置到这就好了

手机安装证书:Charles获取手机HTTPS请求

mock数据:Charles使用及mock数据

将想mock数据的url右击-map local-设置mapping上的参数(将Query里面的内容清空,在Local path里面导入修改好的数据【本地创建一个.txt文本,复制好返回内容,修改想要的返回字段】)-重启app进入该请求页面

 

 恢复mock之前的数据:菜单栏Tools-点击Map Local-Remove mock的数据

 Charles remote:Charles的Map Remote和Map Local功能和使用介绍

 

3.Jmeter

Jmeter压力测试工具安装及使用教程

用Jmeter进行接口测试

https://www.cnblogs.com/imyalost/category/846346.html

性能测试基础(服务端)

服务端性能指标介绍

Jmeter性能测试利器

服务器性能测试

  • 1.性能指标:cpu,内存,网络,磁盘,版本
  • 2.进程:具有一定独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的一个独
  • 立单位;
  • 3.线程:线程是进程的一个实体,是cpu调度和分配的基本单位;比进程更小的能够独立运行的基本单位,线
  • 程基本上不拥有系统资源,一个线程可以创建和撤销另一个线程;
  • 4.进程与线程定义与区别
    • 1) 一个线程只属于一个进程,一个进程可以拥有多个线程;
    • 2)线程是进程工作的最小单位
    • 3)一个进程回分配一个地址空间,进程与进程之间不共享地址空间,既不共享内存;
    • 4)同一个进程下的不同的多个线程,共享父进程的地址空间
    • 5)线程在执行过程中,需要协作同步,不同进程的线程间要利用消息通信的办法实现同步
    • 6)线程作为调度和分配的基本单位,进程作为拥有资源配置的基本单位
  • 5.进程--优点
    • 1.每个进程互相独立,不影响主程序的稳定性,子进程奔溃不影响其他进程;
    • 2.通过增加CPU,就可以扩充性能
    • 3.可以经量减少线程加锁与解锁的影响,极大的提高了性能;
  • 6.进程--缺点
    • 1.逻辑控制复杂,需要和主程序交互
    • 2.多进程调度开销大
  • 7.线程---优点
    • 1.程序逻辑和控制方式简单
    • 2.所有线程可以直接共享内存和变量
    • 3.线程消耗的总资源比进程小
  • 8.线程--缺点
    • 1.每个线程与主程序共用地址空间,最大内存地址受限;
    • 2.线程之间的同步和加锁不易控制;
    • 3.一个线程的奔溃可能影响到整个程序的稳定性;

测试设计

1.负载测试:

通过逐步加压的方法,达到既定的性能阀值得目标,阀值的设定应小于等于某个值,如cpu使用率小于等于80%;

  • 测试步骤:逐步加压
  • 加压参数:
    • 监控指标:标准小于等于阀值:
    • 内存使用率阈值90%
    • cpu使用率阈值85%
    • 连接数使用率阈值80%
    • 只读延迟:阈值>=5s
    • 磁盘使用率 >=80% 
    • 系统盘总读BPS >136314880bytes/s 
    • 系统盘总写BPS >104857600bytes/s 
    • 系统平均负载>15
    • inode使用率:阈值85%
    • QPS:阈值 >3500次/秒 
  • 测试预期:当监控指标达到阀值时,给出系统负载量,超过该指标需要扩容
2.压力测试
  • 通过逐步加压的方法,使的系统的某些资源达到饱和,甚至失效,(什么条件把系统压奔溃)
  • 测试步骤:逐步加压
  • 加压参数:
  • 监控指标:功能正常运行涉及的所有资源
  • 预期结果:得出系统承载虚拟用户数的性能瓶颈量,达到该值可能需要优化,扩容;
3.并发测试:
  • 在同一时间内,多个虚拟用户同时访问同一模块,同一功能,通常的测试是设置集合点
  • 测试步骤:
    • 同一时间,n个用户操作同一个功能
  • 测试指标:响应时间,
    4.容量测试:
    • 通常是指数据库层面,目标是获取数据库的最佳容量能力,又称之为容量评估,具体测试方法为在一定的并发用户下,不同的基础数量下,观察数据库库的处理能力,既获取数据库的各项性能指标。
    • 测试目的:预期未来
    • 测试步骤 :
    • 一定的并发用户下:
      • A1基础数据下,观察数据库库的处理能力,既获取数据库的各项性能指标
      • A2基础数据下,观察数据库库的处理能力,既获取数据库的各项性能指标
    • 预期:数据库的各项性能指标在阀值范围内,表示正常,超过,需要扩容
    5.可靠性测试
    • 又称稳定性测试或疲劳测试,系统在高压情况下,长时间的运行系统是否稳定,如cpu在使用率在80%以上,7*24小时运行,系统是否稳定;
    • 目的:测试系统稳定性
    • 测试步骤:
      • cpu在使用率在80%以上,7*24小时运行,
      • 预期:系统是否稳定;
    6.异常测试
    • 又称失败测试,是指系统架构方面的测试,如在负责均衡架构中,要测试宕机,节点挂掉等情况系统的反映;

 

4.app专项测试

app专项测试介绍

流量测试&弱网测试

 

5.阿里云接口监控

对接口的监控报警:

登录阿里云-日志服务-日志管理选择XXX项目的Logstore,输入查询语句进行日志查询【这个也是服务端日志查询的方法】

通过日志查询,得到较为精准的查询语句以此来设置为告警

 

6.Postman

1.postman接口测试处理参数依赖问题【more:postman获取返回值

①postman新建环境变量

 

 

 

 ②登录接口处使用js保存responseHeader里的token/cookie

 

 ③依赖登录的接口,请求头带上环境变量cookie