最近要做个微信小程序的性能压测,虽然之前只做过web端的,但想一想都是压后端的接口,所以果断答应了下来,之前对jmeter都是小打小闹,所以趁着这次机会好好摆弄摆弄。

--------------------------------------------------------------------------------踩坑前总结哈理论,这篇写给自己的-----------------------------------------------------------------------------------

一,性能测试概述

看了些资料,我这里小捋一下,有可能说得不准确,欢迎大家拍砖。(以下摘自段念的《软件性能测试过程详解与案例剖析》)

什么叫性能测试:

观察系统在一个给定的环境和场景中的性能表现是否与预期目标一致,评判系统是否存在性能缺陷,并根据测试结果识别性能瓶颈,改善系统性能的完整的过程

不同视角下的软件性能:

1,用户视角的软件性能

从用户的角度看,软件性能就是软件对用户操作的响应时间,就像单击一个按钮,到应用系统把本次操作的结果以用户能察觉的方式展示出来,这个过程所消耗的时间

2,管理员视角的软件性能

管理员是一种特殊的用户,除了关心系统的响应时间外,还会关心和系统状态相关的信息,比如在1000用户并发下,业务A的响应为3秒,此时的系统状态如何,CPU内存如何等等

3,开发视角的软件性能

从开发人员的角度看,除关心上面用户的内容外,最想知道如何通过调整设计和代码实现,系统设置等方法提高软件的性能表现,以及发现并解决由于大量用户访问时引起的缺陷

二,性能测试理论

性能测试的应用领域:

1,能力验证(描述方式:某系统能否在A条件下具有B能力)

2,规划能力(描述方式:应该如何使系统具有我们要求的性能能力;或在某种可能发生的条件下,系统具有如何的性能能力)

3,性能调优(主要对应于对系统性能进行调优,一般会和其他性能测试应用领域的活动一起)

4,缺陷发现(通过性能测试的手段来发现系统中存在的缺陷,可以作为系统测试阶段的一种补充测试手段)

5,性能基准比较(应用于敏捷开发过程中,不设定明确的性能目标,通过每次迭代的性能表现的变化,根据这些变化觉得迭代是否达到了预期目标)

性能测试的方法:

1,验收性能测试

验收性能测试方法通过模拟生产运行的业务压力量和使用场景组合,测试系统的性能是否满足生产性能要求

2,负载测试

负载测试方法在被测系统上不断增加压力,直到性能指标(如响应时间)超过预定指标或某种资源使用已达到饱和状态

3,压力测试

压力测试方法测系统在一定饱和状态下,例如CPU、内存等在饱和使用情况下,系统能够处理的会话能力,以及系统能否出现错误

4,配置测试

配置测试方法通过对被测系统软硬件环境的调整,了解各种不同环境对系统性能影响的程度,从而找到系统各项资源的最优分配原则

5,并发测试

并发测试方法通过模拟用户的并发访问,测试多用户并发访问同一个应用、同一个模块或者数据记录时是否存在死锁或者其他性能问题

6,可靠性测试

可靠性测试方法通过给系统加载一定的业务压力(例如资源在70%-90%的使用率),让应用持续运行一段时间,测试系统在这种条件下能否稳定运行

7,失败恢复测试

失败恢复测试方法是针对有冗余备份和负载均衡的系统设计的,检验如果系统局部发生故障,用户是否能够继续使用系统,或在这种情况发生下,用户受到多大程度的影响

三,性能测试流程

说起测试流程,都大同小异,也遵循功能测试流程,这里记录一个非敏捷过程中的PTGM(Performance Testing General Model)模型:

1,测试前期准备

包括系统基础功能验证;组建测试团队;测试工具需求确认

2,测试工具引入

包括选择工具;工具应用的技能培训;确定工具的应用过程

3,测试计划

包括性能测试的领域分析;用户活动剖析与业务建模;确定性能目标;制定性能测试时间计划

4,测试设计与开发

包括测试环境设计;测试场景设计;测试用例设计;脚本和辅助工具开发

5,测试执行与管理

包括建立测试环境;部署测试脚本和测试环境;执行测试和记录结果

6,测试分析

用于对测试结果进行分析,根据测试的目的和目标给出测试结论

---------------------------------------------------------------------------------------未完待续-------------------------------------------------------------------------------

下篇结合自己的实际过程,接着写性能测试中关注的一些指标

微信小程序性能测试之jmeter踩坑秘籍(前言)的更多相关文章

  1. 微信小程序之mpvue+iview踩坑之旅

    因为之前参照微信的原生的文档写过一些小程序的demo,写的过程比较繁琐,后来出了美团的mpvue,可以直接使用vue开发,其他的不作对比,这篇文章记录一下踩坑之旅. 参照mpvue http://mp ...

  2. 微信小程序之蓝牙 BLE 踩坑记录

    前言 前段时间接手了一个微信小程序的开发,主要使用了小程序在今年 3 月开放的蓝牙 API ,此过程踩坑无数,特此记录一下跳坑过程.顺便开了另一个相关的小项目,欢迎 start 和 fork: BLE ...

  3. 微信小程序性能优化技巧

    摘要: 如果小程序不够快,还要它干嘛? 原文:微信小程序性能优化方案--让你的小程序如此丝滑 作者:杜俊成要好好学习 Fundebug经授权转载,版权归原作者所有. 微信小程序如果想要优化性能,有关键 ...

  4. 总结微信小程序开发中遇到的坑

    总结微信小程序开发中遇到的坑,一些坑你得一个一个的跳啊,/(ㄒoㄒ)/~~ 1,页面跳转和参数传递实例 首先说一下我遇到的需求有一个我的消息页面,里面的数据都是后端返回的,返回的数据大致如下,有一个是 ...

  5. 小程序语音红包开发中 汉字转拼音的问题 微信小程序红包开发遇到的坑

    公司最近在开发微信小程序的红包功能,语音红包需要用到文字转拼音的功能. 之前介绍过怎么将中文的汉字转为拼音的,具体看下面这篇文章. 微信语音红包小程序开发如何提高精准度 红包小程序语音识别精准度 微信 ...

  6. 微信小程序那些令人眼泪汪汪的坑儿

    前言 最近做了一个麻雀虽小,五脏俱全的微信小程序项目.一看就会,一用就废的小程序.有些坑真的坑的你两眼泪汪汪.我就爱干前人栽树后人乘凉的事儿,看到文章的你,也许是同道中人,相视一笑:亦或是小程序外围人 ...

  7. 微信小程序开发技巧及填坑记录

    以下是自己在开发过程中遇到的坑和小技巧,记录以下: 1.出现了 page[pages/XXX/XXX] not found.May be caused by :1. Forgot to add pag ...

  8. 微信小程序初体验遇到的坑

    今天,2017年1月9日凌晨,微信小程序如约上线.2007年1月9日,整整10年前的今天,苹果的iPhone手机正式问世! 经不起新技术的诱惑了,想试着开发一下看看.刚开始遇到很多坑,在这里记录一下, ...

  9. 微信小程序 开发过程中遇到的坑(一)

      2124 1.我们使用app.json文件来对微信小程序进行全局配置,决定页面文件的路径.窗口表现.设置网络超时时间.设置多 tab 的时候在pages中写注释的时候回报错. 例如: { &quo ...

随机推荐

  1. 【技术分享会】 @第五期 angularjs

    前言 AngularJS 最初由Misko Hevery 和Adam Abrons于2009年开发,后来成为了Google公司的项目.AngularJS弥补了HTML在构建应用方面的不足,其通过使用标 ...

  2. LESS CSS 框架简介与使用

    简介 CSS(层叠样式表)是一门历史悠久的标记性语言,同 HTML 一道,被广泛应用于万维网(World Wide Web)中.HTML 主要负责文档结构的定义,CSS 负责文档表现形式或样式的定义. ...

  3. bootstrap 中这段代码 使bundles 失败

    _:-ms-fullscreen, :root input[type="date"], _:-ms-fullscreen, :root input[type="time& ...

  4. jQuery属性操作(一)

    下载了jQuery的UI组件,发现内容还挺多的,还是决定先把jQuery的源码看完一遍之后再涉足UI组件.考虑到队列和动画使用较少,特别是动画,基本开始使用css3完成.因此暂时略过,开始看jQuer ...

  5. oracle数据库用户加锁和解锁

    oracle数据库安装好之后,scott之类的用户默认情况下是被锁住的,无法使用scott用户登录数据库.使用有alter user数据库权限的用户登陆,角色选sysdba,执行以下命令: 解锁命令: ...

  6. Json.NET Deserialize时如何忽略$id等特殊属性

    由于$id.$ref等是默认Json.NET的特殊属性,在反序列化时不会将其对应的值填充,例如: [DataContract] public class MyObject { [DataMember( ...

  7. 关于在Linux下apache-maven的安装

    本文所涉及到的软件如下:jdk版本号:1.7.0_45apache-maven版本号:3.1.1 apache-maven的安装过程如下: apache-maven的官方网址:http://maven ...

  8. 【CF887E】Little Brother 二分+几何

    [CF887E]Little Brother 题意:给你n个圆和一条线段,保证圆和圆.圆和线段所在直线不相交,不相切,不包含.求一个过线段两端点的圆,满足不和任何圆相交(可以相切.包含).问圆的最小半 ...

  9. ELKStack可视化

    做一个可视化的视图 1,添加紧急联系人视图 2,添加统计单一数值的视图(添加Nginx请求数) 3,柱形图(统计访问最多的前几个IP) 4,新建仪表盘 5,新建搜索(Nginx404错误) 6,把建立 ...

  10. HDU 2037 - 今年暑假不AC - [经典 选择不相交区间 问题]

    是一道很经典的选择不相交区间的问题. 关于选择不相交区间,可以参考刘汝佳.也可以参考:http://blog.csdn.net/dgq8211/article/details/7534488 以及模板 ...