论文导读:随着计算机技术和网络技术的快速发展,许多传统的信息和数据库被移植到互联网上,这种应用范围广泛的、功能复杂的分布式信息系统在Web环境中出现,对人们的工作和生活产生了深远的影响。然而,在基于Web的信息系统开发过程中,许多企业对软件产品缺乏严格的可靠性测试,致使信息系统在实施、运行和维护的过程中,碰到了一些严重的问题,导致系统失败的可能性很大。这是因为基于Web的系统测试与传统的软件测试不同,它不但需要检查和验证是否按照设计的要求运行,而且还要测试系统在不同用户的客户端的显示是否合适。
关键词:Web,可靠性,测试
随着计算机技术和网络技术的快速发展,许多传统的信息和数据库被移植到互联网上,这种应用范围广泛的、功能复杂的分布式信息系统在Web环境中出现,对人们的工作和生活产生了深远的影响。
然而,在基于Web的信息系统开发过程中,许多企业对软件产品缺乏严格的可靠性测试,致使信息系统在实施、运行和维护的过程中,碰到了一些严重的问题,导致系统失败的可能性很大。这是因为基于Web的系统测试与传统的软件测试不同,它不但需要检查和验证是否按照设计的要求运行,而且还要测试系统在不同用户的客户端的显示是否合适。解决这一问题的方法就是从最终用户的角度进行软件可靠性测试。
一、软件可靠性测试的概念
软件可靠性测试是指为了保证和验证软件的可靠性要求而对软件进行的测试。在不同的开发阶段、对于不同的人员,测试的意义、目的及其采用的方法是有差别的。在软件开发的测试阶段,测试的主要目的是开发人员通过运行程序来发现程序中存在的缺陷、错误。而在产品交付、验收阶段,测试主要用来验证软件产品是否达到用户的要求。论文大全。在基于Web信息系统软件测试过程中,对软件的可靠性测试就显得更为重要,因为它的使用范围比一般的信息系统要大得多,调试、维护起来困难就更大。
二、Web信息系统软件可靠性测试的目的
软件可靠性测试通常是在系统测试、验收、交付阶段进行,它的基础是软件开发前期的单元测试和集成测试。通过软件可靠性测试主要是为了达到以下目的:
(1) 有效地发现程序中影响软件可靠性的缺陷,从而实现可靠性增长。软件可靠性主要包括相对不变的条件和相对变化的条件,相对不变的条件如计算机及其操作系统;相对变化的条件是指输入的分布。对基于Web信息系统而言,软件测试时相对不变的条件显得很重要,例如Web设计语言版本的差异可能引起客户端或服务器端的严重问题。同时,不同的脚本语言,例如Java、JavaScript、VBScript等也要进行验证。
(2) 验证Web软件可靠性满足一定的要求。Web信息系统是用来满足企业、个人节省成本和提高效率的需求,是以软件的可靠性为基础的。
(3) 估计、预计软件可靠性水平:通过对软件可靠性测试中观测到的失效数据进行分析,可以评估当前软件可靠性的水平,预测未来可能达到的水平,从而为开发管理提供决策依据。
三、Web信息系统软件测试方法
Internet和Web媒体的不可预见性使测试基于Web的系统变得困难。Web测试人员必须处理更短的发布周期,测试人员和测试管理人员面临着从测试传统的C/S结构和框架环境到测试快速改变的Web应用系统的转变,测试Web信息系统软件的可靠性我们可以从功能、性能、可用性、兼容性、安全性等设定指标进行测试。
3.1Web信息系统功能测试
(1)链接测试
链接是Web应用系统的一个主要特征,它是在页面之间切换和指导用户去一些不知道地址的页面的主要手段。链接测试可分为三个方面。首先,测试所有链接是否按指示的那样确实链接到了该链接的页面;其次,测试所链接的页面是否存在;最后,保证Web应用系统上没有孤立的页面。链接测试可以自动进行,现在已经有许多工具可以采用(例如HTMLLink Validator)。链接测试必须在集成测试阶段完成,也就是说,在整个Web应用系统的所有页面开发完成之后进行链接测试。
(2)表单测试
当用户给Web应用系统管理员提交信息时,就需要使用表单操作,例如用户注册、登陆、信息提交等。在这种情况下,我们必须测试提交操作的完整性,以校验提交给服务器的信息的正确性。例如:用户填写的出生日期与职业是否恰当,填写的所属省份与所在城市是否匹配等。如果使用了默认值,还要检验默认值的正确性。如果表单只能接受指定的某些值,则也要进行测试。例如:只能接受某些字符,测试时可以跳过这些字符,看系统是否会报错。
(3)Cookies测试
Cookies通常用来存储用户信息和用户在某应用系统的操作,当一个用户使用Cookies访问了某一个应用系统时,Web服务器将发送关于用户的信息,把该信息以Cookies的形式存储在客户端计算机上,这可用来创建动态和自定义页面或者存储登陆等信息。其测试的内容包括检查Cookies是否能正常工作、Cookies是否起作用,是否按预定的时间进行保存,刷新对Cookies有什么影响等。
(4)数据库测试
在Web应用技术中,数据库起着重要的作用,数据库为Web应用系统的管理、运行、查询和实现用户对数据存储的请求等提供空间。在使用了数据库的Web应用系统中,一般情况下,可能发生两种错误,分别是数据一致性错误和输出错误。数据一致性错误主要是由于用户提交的表单信息不正确而造成的,而输出错误主要是由于网络速度或程序设计问题等引起的,针对这两种情况,可分别进行测试。
3.2 Web信息系统性能测试
(1)连接速度测试
用户连接到Web应用系统的速度根据上网方式的变化而变化,但如果Web系统响应时间太长,用户就会因没有耐心等待而离开。另外,有些页面有超时的限制,如果响应速度太慢,用户可能还没来得及浏览内容,就需要重新登陆了。而且,连接速度太慢,还可能引起数据丢失,使用户得不到真实的页面。
(2)负载测试
负载测试是为了测量Web系统在某一负载级别上的性能,以保证Web系统在需求范围内能正常工作。负载级别可以是某个时刻同时访问Web系统的用户数量,也可以是在线数据处理的数量。例如:Web应用系统能允许多少个用户同时在线?如果超过了这个数量,会出现什么现象?Web应用系统能否处理大量用户对同一个页面的请求?
(3)压力测试
压力测试是测试系统的限制和故障恢复能力,也就是测试Web应用系统会不会崩溃,在什么情况下会崩溃,压力测试的区域包括表单、登陆和其他信息传输页面等。压力测试应该安排在Web系统发布以后,在实际的网络环境中进行测试。因为一个企业内部员工,特别是项目组人员总是有限的,而一个Web系统能同时处理的请求数量将远远超出这个限度,所以,只有放在Internet上,接受负载测试,其结果才是正确可信的。
3.3 Web信息系统可用性测试
(1)导航测试
导航测试描述了用户在一个页面内或不同的用户接口控制之间链接的方式。通过考虑下列问题,可以决定一个Web应用系统是否易于导航:导航是否直观?Web系统的主要部分是否可通过主页存取?Web系统是否需要站点地图、搜索引擎或其他的导航帮助?
导航的另一个重要方面是Web应用系统的页面结构、导航、菜单、连接的风格是否一致。Web应用系统的层次一旦决定,就要着手测试用户导航功能,让最终用户参与这种测试,效果将更加明显。
(2)内容测试
内容测试用来检验Web应用系统提供信息的正确性、准确性和相关性。
信息的正确性是指信息是可靠的还是误传的。例如,在商品价格列表中,错误的价格可能引起财政问题甚至导致法律纠纷;信息的准确性是指是否有语法或拼写错误。这种测试通常使用一些文字处理软件来进行;信息的相关性是指是否在当前页面可以找到与当前浏览信息相关的信息列表或入口,也就是一般Web站点中的所谓"相关文章列表"。
3.4 Web信息系统客户端兼容性测试
(1)平台测试
市场上有很多不同的操作系统类型,最常见的有Windows、Unix、Macintosh、Linux等。Web应用系统的最终用户究竟使用哪一种操作系统,取决于用户系统的配置。这样,就可能会发生兼容性问题,同一个应用可能在某些操作系统下能正常运行,但在另外的操作系统下可能会运行失败。论文大全。论文大全。
(2)浏览器测试
浏览器是Web客户端最核心的构件,来自不同厂商的浏览器对Java,、JavaScript、ActiveX、 plug-ins或不同的HTML规格有不同的支持。例如,ActiveX是Microsoft的产品,是为Internet Explorer而设计的,JavaScript是Netscape的产品,Java是Sun的产品等等。另外,框架和层次结构风格在不同的浏览器中也有不同的显示,甚至根本不显示。不同的浏览器对安全性和Java的设置也不一样。
3.5 Web信息系统安全性测试
Web应用系统的安全性测试区域主要有:
(1)现在的Web应用系统基本采用先注册,后登陆的方式。因此,必须测试有效和无效的用户名和密码,要注意到是否大小写敏感,可以试多少次的限制,是否可以不登陆而直接浏览某个页面等。
(2)为了保证Web应用系统的安全性,日志文件是至关重要的。需要测试相关信息是否写进了日志文件、是否可追踪。
(3)服务器端的脚本常常构成安全漏洞,这些漏洞又常常被黑客利用。所以,还要测试没有经过授权,就不能在服务器端放置和编辑脚本的问题。
四、总结
基于Web的系统测试与传统的软件测试既有相同之处,也有不同的地方,对软件测试提出了新的挑战。基于Web的系统测试不但需要检查和验证是否按照设计的要求运行,而且还要评价系统在不同用户的浏览器端的显示是否合适。重要的是,还要从最终用户的角度进行安全性和可用性测试。
参考文献
1. 钟伟,《管理信息系统》,科学出版社,2006.8
|