Web应用程序测试研究

2015-10-19 15:27张佃君孙忠林
电脑知识与技术 2015年20期
关键词:测试工具浏览器性能

张佃君 孙忠林

摘要:随着科技进步和社会发展,互联网技术得到巨大发展,Web应用成为当今软件主流之一,作为网络平台的关键和核心,给Web应用程序测试提出了更高要求。随着新技术的不断问世,测试方法也在推陈出新。根据近年来Web开发中存在的一些常见问题,系统地谈谈Web应用测试需要注意的问题以及测试过程,最后介绍了一些Web测试的常见工具。

关键字:软件测试;Web应用;互联网技术

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2015)20-0213-03

Web Application Testing Research

ZHANG Dian-jun, SUN Zhong-lin

(College of Information Science and Engineering, Shandong University of Science and Technology, Qingdao 266590, China)

Abstract: With technological progress and social development, Internet technology has been tremendous development, Web application software has become one of today's mainstream, as a key and core network platforms to the Web application testing put forward higher requirements. With the advent of new technologies, test methods are to emerge.In recent years, according to some common problems that exist in Web development, Web application testing system to talk about the issues that need attention and the testing process, finally, some common Web testing tools.

Key words: software testing; web applications; internet technology

Web应用日益广泛、越发复杂,使得基于Web的应用系统的实施方法备受关注。目前,在大多数情况下,开发基于Web的系统具有随意性,其测试缺乏系统的方法。因此,研究Web 应用的测试是十分必要的,也是十分紧迫的。

1 测试内容

与传统应用相比,Web应用具有多用户,高并发,跨平台等特点。Web应用体系结构示意图如图1所示,Web应用具有多层体系结构,各层之间依赖关系非常复杂,使得每层内和各层间都有可能发生故障。

图1 Web应用体系结构图

由于诸多问题的存在,我们可以从以下几个角度来详细探讨Web应用测试内容:

1.1 功能性测试

Web系统核心部分是功能,每个功能形成整个系统的骨架和血肉,我们分别从以下几种常见元素来进一步讨论Web应用功能测试:

1) 表单:随着Web2.0的到来,Web系统的交互要求越来越重要,我们每天使用应用所要提交的表单不计其数,因此,检查表单的填写和提交操作是否正常,所有字段是否能够接收输入的内容必不可少,同时,字段格式的准确验证也是不可忽视的方面。

2) 文件操作和计算:绝大多数的Web系统都提供了包括文档和图像的上传、编辑、计算功能和正确的输入值。这方面,我们要做的就是保证文件在操作过程中给用户提供一个更加流畅的用户体验。

3) 搜索:信息时代来临,在海量的数据中如何精确地获取所需信息,是对搜索功能极大地考验。保证应用搜索所获取的信息的有效性,同时也要保证搜索的效率。

4) 媒体播放组件:测试音频、视频、动画和互动媒体播放组件(如游戏和图形工具)的时候,要确保这些组件在运行过程中,不会影响(暂停或减缓)其他应用的运行。

5) 脚本和类库:确保脚本(比如图像显示或Ajax页面加载)在各种浏览器之间是相互兼容的,因为不同的用户可能会使用不同的浏览器访问你的应用,同时可以测量不同浏览器的加载时间来进行性能优化。

1.2 用户界面和可用性测试

1) 导航:导航往往存在于用户登录应用的首页,保证导航在用户容易查看的位置,突出导航链接和返回首页的链接,同时,应该保证每个链接指向正确的目标页面。

2) 可访问性:每个应用都要面对不同的使用人群,尽最大可能地确保Web应用易于操作、使用,简易的使用步骤是最受欢迎的。

3) 跨浏览器测试:用户可能会从多种浏览器和操作系统访问站点,尽可能多地测试这些浏览器和操作系统组合,确保在不同环境下尽量显示同样的效果,保证Web应用能够按照计划运行,为更广泛的用户提供一致的体验。

4) 错误消息和警告信息:Web应用错误很多情况下是不可避免的。我们要做的是当用户遇到例如404页面或无法编辑信息时,保证应用程序显示描述性的信息,帮助用户解决问题。

5) 帮助和文档:并不是所有的用户在使用系统时都很流畅,作为应用重要部分,必要的帮助文档,有助于用户更好地使用Web系统,因此要保证在关键或必要的模块给予帮助说明。

6) 布局:良好的布局可以给用户带来友好地操作体验,因此保证布局符合人们最普遍的操作习惯。

1.3数据库测试

对数据库的测试主要集中在运行阶段。一般情况下,注重数据库操作的响应时间、数据存储的完整和数据库系统的容错。

1.4安全性测试

用户在访问Web应用过程中,应用通过表单或操作行为存取大量的个人信息,保证用户个人数据安全尤为重要。

1) 加密策略:目前普遍的方式是对私人数据进行加密,主要针对用户密码的加密。采用MD5算法,可以有效地保证密码安全程度,同时避免了系统加密过程的开销。

2) 权限控制:保证对所有用户分配角色,同时要对每个角色精确地分配功能和数据访问、操作权限,避免数据遭到破坏。

3) 跨站脚本:当一个网站被以诱骗的方式接受了恶意代码,它就会向用户传播这个恶意代码。

4) SQL注入:如果黑客通过一个用户输入漏洞运行一段SQL命令,就会导致用户数据遭到损坏或被窃。这些情况通常发生的原因是:Web应用允许在SQL命令或系统命令中使用特殊元素。

5) DDoS(分布式拒绝服务)攻击:DDoS攻击是指攻击者通过傀儡主机,消耗攻击目标的计算资源,阻止目标为合法用户提供服务。

1.5 加载测试

开发初期,应用主要是开发人员和应用需求人员。Web应用正式启用后,用户人数增多,系统运行就会变慢。因此,当我们进行加载测试环节时,需要测试你的应用和服务器环境,以确保在不管有多少用户登录的情况下产品都能够顺利运行。

2 测试过程

Web测试过程虽然复杂,相较传统测试技术差别很大,但仍可采用以下测试技术。

2.1 设定目标

每个Web应用存在都是为实现一个现实需求,无论测试技术如何进步发展,最终目的都是围绕更好地满足业务需求。测试伊始,要明确系统所要实现的功能需求目标。比如,论文审稿系统就要满足当前单位日常处理稿件的业务,学生成绩管理系统便是用来管理学生的成绩等。

2.2 定义流程和使用案例

Web应用开发是在明确业务流程的基础上,抽象出系统流程,利用计算强大的数据处理能力来完成我们日常生活中靠人工来完成的事情。因此,Web应用源头是业务抽象,它的每个环节都是日常工作中业务流程的替代。我们首先要明确定义业务流程,即在没有计算机的情况下,人工来完成这项任务所要必需的流程。这个过程可以采用UML活动图方式来规范整个过程。

2.3 设定测试环境

我们测试的目的是保证应用能够在我们真实的环境中正常运行,因此,测试环境要保证和系统运行环境一致。保证及时处理测试过程中出现的问题,最大化降低系统上线后出现问题的风险。

2.4 真实的单元测试

在进行单元测试时,我们可以使用Flow项目(一个致力于在线任务管理和协作的应用)。在大多数的Web应用测试过程中,困难是难以想象的,有可能要花一个星期的时间进行整体测试。我们可以将整个应用分解成可管理的几个模块进行测试。在Flow项目中可以使用一个列表标记每个用户在应用中进行交互的位置,以及它的一般形式和功能。这种模块化列表,可以添加或删除一些项目,或者在开发过程中发生变化的项目进行标注,从而实现单元测试的目的。

2.5 验证代码

在获取Web应用源码的前提下,可以通过验证W3C标准来验证应用实现采用的代码的标准化。符合W3C标准的代码可以提高浏览器兼容性,提高应用运行效率

2.6 加载测试和性能测试

随着互联网通信技术的发展内涵,网络基础设施不断完善,给我们带来更加便捷地使用体验。Web应用的加载速度和性能是评价一个应用好坏的重要指标。测试Web应用加载速度,可采用百度的应用性能监测中心(APM)。性能瓶颈主要出现在用户在某一时间段内数量激增的情况,我们可以采用Loadrunner进行压力测试。

2.7安全性测试

最后,测试Web应用以确保它能够对抗黑客的恶意攻击。国内外比较出名的安全性测试工具有 IBM 公司开发的APPSCAN 和惠普公司开发的 Web Inspect。

3 测试工具

目前自动化测试工具多种多样,下表列举Web应用测试过程中普遍用到的自动化测试工具。

表1 常见Web自动化测试工具

[功能测试工具\&QuickTest Professional\&创建测试、插入检查点、检验数据、增强测试、运行测试、分析结果和维护测试等方面\&WinRunner\&检测应用程序是否能够达到预期的功能及正常运行\&AdventNet QEngine\&支持对于使用HTML、JSP、ASP、.NET、PHP、JavaScript/VBScript、XML、SOAP、WSDL、e-commerce、传统客户端/服务器等开发的应用程序进行测试\&性能自动化测试工具\&负载性能测试工具\&QA Load\&可以在整个开发生命周期、跨越多种平台、自动执行测试任务\&LoadRunner\&预测系统行为,优化性能。强调的是整个企业的系统,它通过模拟实际用户的操作行为和实行实时性能监测,更快地确认和查找问题。支持最宽泛的协议和技术。\&WebRunner\&模拟真实用户的操作,生成压力负载来测试Web的性能,用户创建的是基于JavaScript的测试脚本模拟客户的行为,通过执行该脚本来衡量Web应用程序在真实环境下的性能。\&资源监控工具\&QUEST\&提供一整套监控解决方案包括了主机的监控、中间件平台的监控以及数据库平台的监控。提供了直观的图形化界面,能让测试者尽快进入监控的角色。\&故障定位工具以及调优工具\&Loadrunner模块中添加的诊断以及调优模块

Quest公司的PerformaSure Compuware的Vantage套件

CA公司收购的Wily的Introscope工具等\&数据库产品\&Oracle自身提供了强大的诊断模块,同时,Quest公司的数据库产品也在数据库设计、开发以及上线运行维护都提供了全套的产品支持。\&]

4 结束语

基于Web 系统的测试与传统的软件测试既有相同之处,也有不同的地方,对软件测试技术的应用提出了新的挑战。本文所述测试过程从核心的基本功能实现,界面操作到最后的安全性压力测试,总结出一套行之有效的测试方法。但Web应用复杂多变,良莠不齐,针对各类应用制定出一套详尽的测试方案仍然是一项长期艰巨的任务,需要我们不断探索努力。

参考文献:

[1] 刘琬龙, 王倩, 曾贤龙. Web应用测试的研究[J]. 电脑编程技巧与维护,2008(17):62-64.

[2] 郝玥. 浅析应用性能测试在软件Web测试中的实践问题[J]. 计算机光盘软件与应用,2014(15):78-79.

[3] 朱玉林. 试论Web应用系统的安全性测试技术[J]. 电脑编程技巧与维护,2013(02):92-93.

[4] 张永铮,肖军,云晓春,等. DDoS攻击检测和控制方法[J]. 软件学报,2012(08):2058-2072.

[5] 张莹,丁宏伟. 软件测试技术在Web系统中应用的探讨[J]. 河北软件职业技术学院学报,2010(03):48-50.

[6] 杨春英. WEB系统测试的应用与研究[J]. 信息与电脑(理论版),2010(01):166-167.

[7] 万厚伦. Web测试浅析[J]. 科技信息,2010,02:262-265.

[8] 左为平, 杨晓亚. 软件测试在WEB应用系统中的实现[J].信息系统工程,2011(11):48-49.

猜你喜欢
测试工具浏览器性能
边缘智力儿童及其智力测试工具的研究进展
提供将近80 Gbps的带宽性能 DisplayPort 2.0正式发布
反浏览器指纹追踪
Http并发连接测试工具
环球浏览器
再见,那些年我们嘲笑过的IE浏览器
Al-Se双元置换的基于LGPS的thio-LISICON的制备与性能表征
基于移动平台APP 测试
强韧化PBT/PC共混物的制备与性能
福禄克推出先进的连接式测试工具系统