性能测试浅谈

这篇具有很好参考价值的文章主要介绍了性能测试浅谈。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

早期的性能测试更关注后端服务的处理能力。

性能测试浅谈,自动化测试,软件测试,技术分享,软件测试,自动化测试,程序人生,python,职场发展

一个用户去访问一个页面的请求过程,如上图。

  • 数据传输时间

当你从浏览器输入网址,敲下回车,开始...

真实的用户场景请不要忽视数据传输时间,想想你给远方的朋友写信,信件需要经过不同的交通运输工具送到朋友手上;当你的朋友写好了信,再次通过不同的交通工具送到你的手上。

性能测试过程中的请求与响应过程也类似,当我们发送一个请求,到服务器接收到这个请求需要时间,系统处理完后将处理结果返回给我们也需要时间。

  • 客户端处理时间

从我们的浏览器得到响应数据开始...

真实的用户场景不要忽略客户端的处理时间,你拿到信是不是就知道内容了?当然不是,你得拆开信封,把信的内容读一篇吧。

我们的浏览器也是如些,浏览器拿到的只有一些HTML、JS、CSS、图片... 的资源,更底层当然是二进制数据,需要花费时间把他们渲染成我们想要的网页。

  • 系统处理时间

从当系统得到请求后开始...

这是我们的性能测试主要关心的时间,当系统得到请求后,需要对请求进行处理,可能需要查询数据库服务,也可能需要调用其它的服务,最终生成处理结果并返回给客户端。

然而,我们在LoadRunner、JMeter进行性能测试的时候,是没有客户端处理时间的,你当然可以同时开100个网页(可以用多线程+Selenium实现)访问某网站试试,这没对服务器产生多少压力,先把自己的电脑搞挂了。

网络传输时间往往也很难模拟真实的场景,因为你网站的用户来可能来自世界各地,我们总不能在世界各地都搞一个客户端,就算可以,我们通过什么方式让他们“同时”发请求给服务器呢?

各位读者,我们约定明天早上8点一起出发去北京全聚德买一只烤鸭,把全聚德搞断货,这可能吗?虽然,我们的出发时间是一样的,但因为距离不一样,到达时间肯定不一样,根本对全聚德够不成并发压力嘛!。所以,我们的性能测试都是放到局域网进行的,就是为了尽量降低传输时间,模拟并发。

理解了这些,我们知道,我们所做的性能测试是无法模拟真实的情况,网络的传输时间太过复杂,客户端处理时间取决于用户的设备。我们能做的就是尽量保证服务器端的处理时间,以及在一定的时间可以支撑的并发量。


随着,技术的发展,越来越多的系统开始做前后端分离。后端,服务只提供接口,前端在不同的设备上以不同的方式展示。

性能测试浅谈,自动化测试,软件测试,技术分享,软件测试,自动化测试,程序人生,python,职场发展

在这样的架构下,我们的性能测试也划分为后端性能和前端性能。

后端性能其实就是接口性能。我们更多的时候不再设计模拟用户场景,而是针对单个或一组关联接口进行性能测试,这其实一定程度降低了测试的难度。

性能测试浅谈,自动化测试,软件测试,技术分享,软件测试,自动化测试,程序人生,python,职场发展

其实,不管是否为前后端分离的架构,大多时候他们走的都是HTTP协议。如果是前后端不分离,当你发送一个请求时,它会返回一堆数据:HTML、JS、CSS、图片、音视频...等,如果是前后端分离的架构,那么后端API返回的数据就单纯的多了,一般为JSON格式的数据。

性能测试浅谈,自动化测试,软件测试,技术分享,软件测试,自动化测试,程序人生,python,职场发展

显然只做后端性能是不够的,当用户看到一个页面时,不单单只有后端返回的接口数据。

性能测试浅谈,自动化测试,软件测试,技术分享,软件测试,自动化测试,程序人生,python,职场发展

这是我在访问一个页面时候得到的所有数据。在你的后端服务没有达到最大并发的前提下,那么影响用户体验的就两方面,一个是请求的个数,另一个是请求的文件大小。

这其实很好理解,你在群里来喊了一声,请大家吃饭,结果稀稀拉拉来了100多人,从前一天晚上喝到第二下午,你肯定受不了;而且,其中还有几个哥们特能喝,“一直喝”就是不倒,你是不是更受不了了。 如果只来了三、五个好友,大家随意小酌几杯各自回家,不是很好!?

所以,减少请求的个数,比如有些JS文件可以做合并;减少请求的大小,比如,有些图片做压缩处理。做好这两点,自然用户体验就会好很多,前端性能其实不需要通过“并发”来测试的。

性能测试浅谈,自动化测试,软件测试,技术分享,软件测试,自动化测试,程序人生,python,职场发展

上图为性能一款App使用的性能指标,这里的侧重点在于App拿到接口数据之后如何更快的把页面渲染出来,以及在渲染的过程中对硬件资源的消耗情况,还有用户在不同页面的切换的流畅度。

谁让手机硬件一直跟不上App的需求,所以,我们才需要关心App对移动设备的CPU、内存、FPS、耗电、流量的使用情况。文章来源地址https://www.toymoban.com/news/detail-626013.html

到了这里,关于性能测试浅谈的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 软件测试(功能、工具、接口、性能、自动化、测开)详解

    一、软件测试功能测试 测试用例编写是软件测试的基本技能;也有很多人认为测试用例是软件测试的核心;软件测试中最重要的是设计和生成有效的测试用例;测试用例是测试工作的指导,是软件测试的必须遵守的准则。 黑盒测试常见测试用例编写方法 1、等价类 选取少数

    2024年02月07日
    浏览(79)
  • 自动化测试 ——自动卸载软件

    在平常的测试工作中,经常要安装软件,卸载软件, 即繁琐又累。 安装和卸载完全可以做成自动化。 安装软件我们可以通过自动化框架,自动点击Next,来自动安装。 卸载软件我们可以通过msiexec命令行工具自动化卸载软件 平常我们手动卸载软件都是到控制面板中的\\\"添加/删除

    2024年02月08日
    浏览(62)
  • 软件测试 -- 自动化测试(Selenium)

            在这里记录一下  自动化测试 -- Selenium 的一些基础知识点,只记录方法。 Selenium 浏览器操作 Selenium 元素定位(包含 Web 表单) findElement 和 findElements         findElement 和 findElements 都可以用于定位元素,它们都需要传入一个 By 类型,但是他们的返回值不同,区

    2024年04月22日
    浏览(61)
  • 【软件测试】自动化测试selenium

    目录 一、什么是自动化测试 二、Selenium介绍 1、Selenium是什么 2、Selenium的原理 三、了解Selenium的常用API 1、webDriver API   1.1、元素定位 1.1.1、CSS选择器 1.1.2、Xpath元素定位 1.1.3、面试题  1.2、操作测试对象 1.3、添加等待  1.4、打印信息  1.5、浏览器的操作 1.6、键盘事件 1.7、鼠

    2024年01月17日
    浏览(60)
  • 【软件测试/自动化测试】WebDriver+Selenium实现浏览器自动化

    前言 使用场景 原理 环境准备  开发 First Script WebDriver API 浏览器 元素 总结 Selenium是一款可以自动化操作浏览器的开源项目,最初的目的是浏览器功能的自动化测试,但是随着项目的发展,人们根据它的特性也用来做一些更多的有意思的功能而不仅仅是UI的自动化测试工具。

    2024年02月08日
    浏览(78)
  • 软件测试高频面试题(2023全新版)你必须掌握的面试技巧,包含HR面试、基础面试、JMeter面试、Postman面试、Python面试、自动化化面试、安全性能面试题

    1.1 面试技巧 💡 告诫给位小伙伴,技巧不是投机取巧,起到辅助作用,技术面主要看实力,这里是基于实力之上的技巧 1.2 面试形式 😄 面试形式分为技术面和 HR 面,技术面就是考察你的专业技术水平的,HR 面主要看你这个人的综合素质以及家庭情况符不符合公司要求(一般

    2024年02月11日
    浏览(48)
  • 第八章 软件测试自动化

    通过本章的学习,了解自动化测试应考虑的各种因素及如何衡量自动化测试成本,掌握自动化测试和手工测试的优缺点,能正确选择软件测试策略,了解测试工 具的分类和使用目的,熟悉常用的测试工具,了解自动化测试的过程。 (一)自动化测试概述(一般) 理解:自动

    2024年02月08日
    浏览(47)
  • 软件测试 自动化测试selenium API

    1.1.1 CSS 选择器定位元素 CSS 选择器 就是一个语法 浏览器 (ctrl + f)可以进行选择 类选择器:.class值(.s_ipt) id 选择器:#id值(#kw) 父类选择器 子类选择器:父类选择器表达式 子类选择器表达式 标签选择器:标签名(form) 1.1.2 XPath 定位元素 XPath 是一种在XML 文档中定位元

    2024年04月28日
    浏览(51)
  • 【软件测试】python+selenium自动化测试

    一、什么是自动化测试 自动化测试指软件测试的自动化,在预设状态下运行应用程序或者系统,预设条件包括正常和异常,最 后评估运行结果。将人为驱动的测试行为转化为机器执行的过程。 单元测试 java的单元测试框架是Junit,在这里不再赘述。 接口自动化 接口测试就是

    2023年04月09日
    浏览(90)
  • 软件测试 自动化测试selenium篇(一)

    目录 一、什么是自动化测试  单元测试  接口自动化  UI自动化 二、如何实施自动化测试  自动化测试需要了解的技能 三、selenium介绍 webdriver的工作原理:  四、Selenium+Java环境搭建                    验证环境是否搭建成功 创建java项目,添加pom文件中添加依赖 常见问题

    2024年02月07日
    浏览(69)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包