浏览器性能对比测试技术研究与应用

简介:
1、现状分析

  如今,国内浏览器市场竞争激烈,国外优秀的浏览器如Microsoft的Internet Explorer(下简称:IE)、Mozilla的Firefox、Google的Chrome、基于Apple Mac OS的Safari,以及号称世界最快浏览器的挪威Opera等,占大量的国内市场份额。如IE浏览器,由于在国内引进互联网初期就被大众熟悉,且很多银行、游戏类应用均需要其内核的支持,因此仍拥有大批热衷者;Firefox、Chrome和Opera,由于其独特的分页浏览和极具个性的定制设置,也吸引了大量用户;Safari更是由于Apple系列产品的风靡全球被大家熟知和使用。

  国产浏览器如Sogou、遨游Maxthon、世界之窗TheWorld,百度浏 览器、360安全浏览器等,虽然近年来发展迅猛,并且更符合国人的使用特点,逐渐被大众接受,但是市场份额仍然很低,距国内权威的流量统计技术服务提供商 CNZZ最新统计,国产浏览器市场份额仍不足40%。因此,大力发展国产浏览器,着重提高其标准支持和性能的能力,逐渐掌握市场主动权仍然是国产浏览器厂 商需要迫切解决的问题。

  2、测试依据

  本文基于某核高基重大专项课题验收要求中的部分内容,对某互联网公司自行开发的浏览器的性能测试方法进行了研究(为避免引起不必要的纠纷,课题名称及承担单位名称在此均未描述,待测试的浏览器下文简称A浏览器),通过测试考察其实际运行性能,并与主流的浏览器IE、Firefox和Chrome进行了性能对比。

  本次测试是在实验室模拟环境下展开的。为保证测试执行过程的公平、公正,本次测试的外部条件是一致的,这包括环境和输入条件一致。每款浏览器测试完成后,直接更换部署下一套浏览器产品,测试设备、网络环境、操作系统版本和设置均保持一致。

  3、测试内容

   本次浏览器性能对比测试,需要考察浏览器的启动、资源消耗、门户网站访问、大页面加载速度等,主要与测试设备硬件CPU、内存、操作系统以及浏览器自身 的版本和设置有关,与网速、Flash插件等无关。选择的版本分别是:IE8.0、Firefox9.0.1、Chrome17.0.963.6和A浏览 器1.4。

  3.1 资源占用

  资源争用常常是导致应用性能降低的重要因素,浏览器 对资源的控制将严重影响用户的访问速度体验,因此需要考察各浏览器安装完成后,在默认配置下初次冷启动不加载页面运行时,消耗测试设备CPU、内存和磁盘 空间大小的情况。由于内存消耗值的是动态变化的,在实际测试中采用3次启停测试设备,通过测试进行信息提取,再统计3次取值的平均值获得。由于CPU消耗 情况均小于1%,因此仅列出内存和磁盘测试对比结果。

  从测试结果可以看出,国产A浏览器在内存和磁盘消耗测试中,均排名第3,但是内存的消耗和默认加载的控件有关,磁盘的消耗和程序包的大小有关,因此仍有提升的空间。

  3.2 启动测试

  启动测试项主要考察冷启动和热启动模式下打开浏览器访问保存在本地的带有文字、图片和Flash的测试页面的响应时间。

  冷启动指无缓存情况下开机后第一次打开浏览器进行访问,而热启动指测试设备启动后至少运行过一次浏览器访问操作,再次打开浏览器进行访问。

  在测试过程中,为方便统计响应时间,采用了功能测试工具QuickTestPeofesstional来协助完成。通过测试工具录制打开浏览器访问本地测试文件的操作,然后循环执行十次取平均值获得操作执行的响应时间。脚本主要内容如下:

……
Services.StartTransaction "click"   //定义一个事务点开始
Window("A浏览器").WinObject("Aricheditcontrol").Click 85,10  //打开浏览器主窗口
For i=1 to 10  //设置10次循环
Window("A浏览器").WinObject("WebViewWindowClass").Type “localhost:8001/test.html”  //键入本地文件访问地址
wait(5)   // 设置5秒等待时间
Window("A浏览器").WinObject("WebViewWindowClass").Click 1225,252  //打开网页中的连接
Window("A浏览器").WinObject("WebViewWindowClass").Click 1265,248 //打开网页中的图片
Window("A浏览器”).WinObject(“WebViewWindowClass”).
Check CheckPoint("WebViewWindowClass")  //设置检查点
Services.EndTransaction "click"  //定义一个事务结束
Window("A浏览器").Activate
Window("A浏览器").Click 1415,7  //关闭浏览器
Next
测试结果如下:

  从测试结果对比图可以看出,国产A浏览器在冷启动和热启动测试中,均排名第二,表现出了不错的启动速度,IE浏览器由于与操作系统同出一家的关系,排名第一;而Firefox和Chrome由于与较多的控件进行绑定,因此启动速度较慢。

  3.3 标签页载入速度测试

  本项内容主要考察浏览器载入主流的门户网站、搜索引擎网站等用户访问率高的网站时的速度,访问时间的记录主要通过秒表的方式进行统计,为避免结果失真,均采用取3次测试结果平均值的方式获得。测试结果如下:

  总体来看,Firefox和Chrome浏览器访问门户网站时速度占优,A浏览器居后,IE8.0则响应较慢。

  3.4 标准页面加载测试

  本项采用权威的网站http://nontroppo.org/timer/进行测试,主要考核指标如下:

  First Access:第一次加载并显示Dom元素的时间;

  Doc load:文本加载的时间;

  Doc+Image Load:包括Css、JavaScript以及11张图片的加载时间;

  以上加载时间均越小代表浏览器处理越快,测试结果如下:

字体:        | 上一篇 下一篇 | 打印  | 我要投稿 

  3.5 硬件加速

  许多浏览器为加快2D、3D的渲染,采用具有多线程能力的GPU的缓存合成技术来处理图像合成、缩放、三维特效处理 等操作,这种在显示芯片内的处理提高了网页的访问速度。本项测试采用著名的“海底世界”测试工具来完成,考察设置显示的鱼的条数为1、10、50、100 和500时,浏览器的硬件加速能力,通过每秒帧数来能量测试结果,帧越大,硬件加速能力越强。以下图表中的结果均是在测试过程中测试工具在平稳阶段显示的 每秒帧数。由于IE8.0不支持硬件加速功能,因此仅对Firefox、Firefox和A浏览器进行测试。

  从测试结果得知,A浏览器在5项测试中均获得头名,但其硬件加速的能力相比Firefox和Chrome优势较小,还需继续改进,提升优势。

  4、测试总结

  相比于世界著名的浏览器产品,国产A浏览器由于刚起步不久,用户群较少,但是其性能表现在本次测试中并未完全处于下风,仍有许多值得称赞的地方。相信随着用户群的增长,会加速A浏览器的发展和优化,最终能和世界知名的浏览器相抗衡。

  另外需说明,本次测试是在实验室环境下进行,不同的平台环境和其它因素会导致测试结果大不相同,因此本次测试的结果数据仅用作参考,不作其它用途。








====================================分割线================================



最新内容请见作者的GitHub页:http://qaseven.github.io/

目录
相关文章
|
25天前
|
SQL 安全 测试技术
【软件设计师备考 专题 】测试要求说明书的编写和应用
【软件设计师备考 专题 】测试要求说明书的编写和应用
55 0
|
29天前
|
安全 测试技术
现代软件测试中的自动化技术应用及挑战
在当今数字化时代,软件测试的重要性日益凸显。本文探讨了现代软件测试中自动化技术的应用现状和挑战,分析了自动化测试在提高效率、降低成本、增强可靠性等方面的优势,同时也提出了自动化测试所面临的挑战和解决方案。
|
1月前
|
机器学习/深度学习 数据采集 人工智能
探索AI在软件测试中的应用与挑战
【2月更文挑战第25天】 随着人工智能(AI)技术的迅猛发展,其在软件测试领域的应用逐渐深入。AI不仅改变了传统测试流程,提高了测试效率和质量,也引入了新的挑战。本文将详细探讨AI在软件测试中的具体应用,包括智能化测试用例生成、缺陷预测、自动化测试执行等,并分析当前面临的主要挑战,如数据质量、模型泛化能力和工具集成等问题。通过实例分析和研究展望,本文旨在为软件测试专业人士提供一个关于AI技术融合的全面视角。
|
20天前
|
Web App开发 Java 测试技术
深入理解与应用软件自动化测试工具Selenium
随着软件开发的快速发展,软件测试在保证产品质量方面发挥着越来越重要的作用。其中,自动化测试以其效率高、成本低的特点受到了广大开发者的欢迎。本文主要介绍了自动化测试工具Selenium的基本概念、原理以及在实际开发中的应用,旨在帮助读者更好地理解和使用Selenium进行高效的自动化测试。
22 4
|
26天前
|
设计模式 敏捷开发 监控
深入理解与应用软件自动化测试框架
在快速迭代的软件开发过程中,自动化测试已成为确保产品质量和加快交付速度的关键因素。本文将详细探讨自动化测试框架的核心原理、设计模式及其在实际项目中的应用。我们将分析几种流行的自动化测试工具,如Selenium、Appium和JUnit,并讨论它们如何集成以形成强大的测试解决方案。文章还将展示通过自定义框架来满足特定测试需求的实例,以及如何通过持续集成和持续部署(CI/CD)流程优化测试实践。
|
28天前
|
人工智能 测试技术 虚拟化
现代软件测试中的自动化工具与技术
随着信息技术的迅猛发展,现代软件开发和测试领域也在不断创新。本文将探讨现代软件测试中自动化工具与技术的应用。通过分析自动化测试的优势、挑战以及最佳实践,帮助读者更好地理解当前软件测试领域的发展趋势,并为实际工作提供参考。
16 1
|
29天前
|
缓存 运维 Serverless
应用研发平台EMAS产品常见问题之测试检查更新没有反应如何解决
应用研发平台EMAS(Enterprise Mobile Application Service)是阿里云提供的一个全栈移动应用开发平台,集成了应用开发、测试、部署、监控和运营服务;本合集旨在总结EMAS产品在应用开发和运维过程中的常见问题及解决方案,助力开发者和企业高效解决技术难题,加速移动应用的上线和稳定运行。
|
29天前
|
敏捷开发 供应链 测试技术
深入理解与应用软件测试中的Mock技术
【2月更文挑战第30天】 在现代软件开发过程中,单元测试是保证代码质量的重要手段。然而,对于高度依赖外部系统或服务的应用来说,传统的单元测试方法往往难以实施。Mock技术应运而生,它通过模拟外部依赖的响应,使开发者可以在隔离的环境中测试目标代码。本文将探讨Mock技术的概念、应用场景以及如何在软件测试中有效地使用Mock对象,以增强测试的灵活性和可靠性。
|
1月前
|
数据采集 机器学习/深度学习 人工智能
探索AI在软件测试中的应用与挑战
【2月更文挑战第28天】 随着人工智能(AI)技术的迅猛发展,其在软件测试领域的应用逐渐显现出巨大的潜力和价值。本文将深入探讨AI在软件测试中的具体应用,包括自动化测试、智能化缺陷检测、测试用例生成等方面,并分析其面临的挑战,如数据质量、模型泛化能力、技术融合等。通过对比分析和案例研究,旨在为软件测试领域提供新的视角和解决方案。
88 1
|
1月前
|
机器学习/深度学习 人工智能 安全
探索AI在软件测试中的应用和影响
【2月更文挑战第27天】 随着人工智能(AI)技术的飞速发展,其在软件测试领域的应用也日益广泛。本文将深入探讨AI在软件测试中的角色,包括其如何提高测试效率,减少错误,以及对未来软件测试行业的影响。我们将通过实例分析,阐述AI在自动化测试、性能测试、安全测试等方面的应用,并讨论其对软件测试工程师技能要求的影响。