We b应用软件测试方法的研究

2017-04-17 13:12江苏苏源高科技有限公司
电子世界 2017年16期
关键词:多用户表单软件测试

江苏苏源高科技有限公司 张 彦

We b应用软件测试方法的研究

江苏苏源高科技有限公司 张 彦

提高软件质量的最有效手段是软件测试。近年来随着信息化不断发展,Web应用软件的规模也随之不断扩大,针对Web软件的测试技术逐渐成为行业热点。本文介绍了软件测试基本概念,以及Web软件测试的内容及方法,在Web应用软件测试技术方面作了深入的讨论。

Web;应用软件;测试方法

前言

伴随信息技术的飞速进步,各种Web应用成为软件开发的重点,该类软件具有安装简便快捷、易于操作使用等优点。Web应用软件是经过Internet技术连接并能够传输被处理的数据的客户端软件。在市场要求与技术发展的促进下,Web的应用软件数量和类型持续增长,软件开发时间变短,软件规模与软件复杂度不断增加,如何提高Web软件品质逐步变为重点问题。作为确保Web软件品质与稳定性的关键工具,Web应用程序测试变成软件开发进程的关键组成部分。由于Web应用程序的异构、分布式、并发和平台无关等特性,用于测试Web应用程序比经典应用程序测试更难,如何更好的测试Web软件在软件测试领域提出了新挑战。

1.Web 应用软件测试的特殊性

通常的Web应用软件模式为客户端(通常为浏览器)、Web服务器、数据服务器,在这种模式下,客户端层显示人机交互界面及数据展示,Web服务器层则处理各种事物,数据服务器层提供存取和管理应用数据的能力。这种模式一般是分布式的、多用户并发的以及异构的。

因为系统结构的差异,传统的软件测试与WEB类型的软件测试也有非常大的不同,这对于软件测试又是一种新的挑战。差异主要表现在以下几个方面:

①Web软件应用范围不断变化,采用技术也日新月异,这些变化都极大的增加了Web软件的测试难度;此外,Web软件的复杂度及网络状态的不可预见性,也是测试Web软件面临的主要困难之一,往往需要大量的测试资源及人力。

②Web软件测试还需要对软件的兼容性、压力及多元化的功能进行测试,以针对Web软件的分布式、并发性、开放性、异构性及多用户的特点,测试还要考虑在各种硬件环境及软件环境下,系统的响应时间要求。

2.Web软件测试的策略和方法

Web软件系统通常拥有多层级架构,在与客户端通讯时也会有各种不同的方式,这就造成了Web软件的复杂度层层升高。各种不同的浏览器、相同浏览器的不同版本,对应的显示技术都不一样,使得信息的展示也会不同,往往在一种浏览器上正常显示的内容,在另一种上就不能正常的显示。服务器在多用户并发时,响应时间也会有所下降甚至失败,导致用户体验度下降。如何发现、分析、排除这种问题,常常都需要经过多次测试,这样才能确保Web软件拥有优异的性能、良好的兼容性及极大的稳定性。

2.1 Web软件功能测试

Web软件的功能测试主要侧重点在:网页链接测试、表单提交测试、客户端Cookies测试、脚本语言测试以及数据库测试。

①网页链接测试包含检查显示信息是否正确、提示是否合理、是否能正常跳转及跳转位置正确。

②表单提交测试包含客户端是否验证输入,服务端是否验证输入,验证不通过时提示信息是否准确,提交正确信息后是否能得到正确结果,以及异常是否得到处理。

③客户端Cookies测试包含是否能正常保存用户本地信息,是否对重要信息加密。

④脚本语言测试包含测试脚本在不同的浏览器及相同浏览器的不同版本中,是否能正常的运行。

⑤数据库测试包含用户提交异常字符是否会导致数据无法正常存入或读取,以及多客户端同时提交时是否会造成数据一致性失效。[1]

2.2 Web软件性能测试

Web应用软件的性能测试主要侧重点在:连接速度测试、负载测试、压力测试等。

①连接速度测试用于测试Web软件对于用户发出的客户端请求,服务端响应到达的时间,在网络拥堵或者多用户并发时,是否响应会过慢,甚至出现无响应的情况。

②负载测试主要用于在一定负载级别上,系统是否能正常响应客户请求。负载级别一般指同一时刻的并发用户数,或者是在线数据处理的数量。

③压力测试用于测试系统的极限及故障恢复能力,发现Web系统崩溃的原因。通常黑客也会通过发送大量的错误数据,导致系统崩溃,以获得系统权限的漏洞,所以在表单提交或其他信息交互界面要重点做压力测试。[2]

2.3 Web软件安全性测试

安全性对于Web软件举足轻重,特别是对于网络业务而言,假设不能保证安全性,这是非常可怕的。传统软件安全测试包含:用户名和密码、程序运行超时限制、日志文件检测、文件加密情况、授权问题、防火墙、缓冲区溢出等测试。Web软件的安全测试还包含跨站脚本检查、SQL注入检查等。[3]

①跨站脚本:Cross site scripting(XSS),黑客通过邮件发送,或者输入在网页上显示内容的表单中,通过输入<script>标签引发用户客户端执行非法脚本,导致严重的后果。测试人员一般通过直接输入<script>标签,或者以组合方式输入<script>标签后提交表单,检查系统是否对此进行的必要的验证。

②SQL注入:黑客可以通过在需要验证的表单中,输入部分SQL内容以打断正常的SQL,达到绕开登录界面或取得数据库权限等目的。测试人员在所有会执行SQL的表单中,输入破坏性的SQL,来验证系统是否能阻断这种恶意操作。

2.4 Web软件兼容性测试

测试Web软件的兼容性应通过以下几个方面:不同平台与浏览器测试、多种分辨率测试、网络连接速率测试、网络打印测试、各种组合测试等。测试人员可以创建兼容性矩阵来测试兼容性,测试Web软件在各种平台、各种浏览器、各种分辨率等不同条件下组合运行情况。

2.5 Web软件接口测试

Web软件的接口测试用于测试系统与外部接口交互测试等。比如,网络支付需要链接支付网关的验证接口,以验证用户身份是否合法。

3.结束语

Web软件的测试和经典软件测试有异曲同工的地方,也有所差异。在充分的了解Web软件自身的特点后,汲取经典软件测试的经验,合理的针对Web软件在网络、异构、多平台、多用户、分布式等特性进行测试,有效的提高了Web软件的健壮性、稳定性、可效性和及时性。在Web软件迅猛发展的未来,Web软件的测试方法还有很长路要走。

[1]刘智勇.Web 应用软件测试技术研究及自动化测试工具的实现[D].湖南大学,2005.

[2]黄宁,余莹,张大勇.Web 服务软件测试技术的研究与实现[J].计算机工程与应用,2004,40(35):47-49.

[3]吴信生.如何提高软件测试水平[N].中国计算机报,2005,(10):25.

猜你喜欢
多用户表单软件测试
安泰科多用户报告订阅单
安泰科多用户报告订阅单
电子表单系统应用分析
安泰科多用户报告订阅单
基于OBE的软件测试课程教学改革探索
安泰科多用户报告订阅单
EXCEL和VBA实现软件测试记录管理
浅谈网页制作中表单的教学
关于软件测试技术应用与发展趋势研究
软件测试工程化模型及应用研究