论文部分内容阅读
摘要:WEB信息系统交付一组复杂的内容和功能给大量的终端用户,使与服务器连接的所有客户机都能共享使用WEB信息系统提供的内容和功能。WEB信息系统测试通常包括:功能测试、性能测试、可用性测试、安全性测试、系统兼容性测试和接口测试。
关键词:WEB信息系统;测试
中图分类号:TP393文献标识码:A文章编号:1009-3044(2009)04-1004-02
WEB Information System Test Engineering Research
CHEN Lian-bo
(Tieling Radio Broadcasting and Television University Department of Science and Technology, Tieling 112000,China)
Abstract: The WEB information system pays group of complex contents and the function for the massive terminal user, enables all clients which connects with the server all to share uses the content and the function which the WEB information system provides.The WEB information system test usually includes: Function test, performance test, usability test, secure test, system compatibility test and connection test.
Key words: WEB information system; test
WEB信息系统交付一组复杂的内容和功能给大量的终端用户,使与服务器连接的所有客户机都能共享使用WEB信息系统提供的内容和功能。系统测试是把整个系统作为一个整体来查找问题,对于WEB应用系统而言,需要弄清WEB服务相互之间如何交互。WEB信息系统测试通常包括:功能测试、性能测试、可用性测试、安全性测试、系统兼容性测试和接口测试。
1 功能测试
功能测试包括链接测试、表单测试、数据校验、Cookies测试、数据库测试、应用程序特定的功能需求测试以及设计语言测试。
1)链接测试
链接是WEB应用系统的一个主要特征,它是在页面之间切换和引导用户去一些未知地址页面的主要手段。链接测试可分为三个方面:首先,测试所有链接是否按指示的那样确实链接到了应该链接的页面;其次,测试所链接的页面是否存在;最后,保证WEB应用系统上没有孤立的页面。链接测试可以通过Xenu Link Sleuth或HTML Link Validator软件自动进行。
2)表单测试
当用户使用表单进行注册、登录、信息提交等操作时,必须测试提交操作的完整性,以校验提交服务器的信息的正确性。如果使用了默认值,还要检验默认值的正确性。如果表单某个字段只能接受指定的某些值,则对这个字段也要进行测试。
3)数据校验
如果系统根据业务规则,需要对用户输入进行校验,则要保证这些校验功能正常工作。数据校验可采用手动检查,同时利用WinRunner工具形成WinRunner(QTP)脚本;在回归测试以及升级版本测试时主要依靠WinRunner(QTP)自动回放测试。
4)Cookies测试
如果WEB应用系统使用了Cookies,就必须检查Cookies是否能正常工作。测试的内容包括Cookies是否起作用,是否按预定的时间进行保存,刷新对Cookies有什么影响等。如果在Cookies中保存了注册信息,应确认该Cookies能够正常工作而且已对这些信息进行加密。如果使用Cookies来统计次数,需要验证次数累计正确。Cookies测试可用IECookies View v1.50或 Cookies Manager v1.1进行。
5)数据库测试
数据库为WEB应用系统的管理、运行、查询和实现用户对数据存储的请求等提供空间。在使用了数据库的WEB应用系统中,可能发生两种错误,分别是数据一致性错误和输出错误。数据一致性错误主要是由于用户提交的表单信息不正确而造成的;输出错误主要是由于网络传输速度或程序设计问题引起的。针对这两种情况,可分别进行测试。
6)应用程序特定的功能需求测试
测试人员应该深刻理解需求说明文档,对应用程序特定的功能需求进行验证。
7)设计语言测试。
WEB设计语言版本的差异可以引起客户端或服务器端严重的问题。除了HTML的版本问题外,使用不同的脚本语言开发的应用程序也要在不同的版本上进行验证。
2 性能测试
性能测试包括以下内容:压力测试、连接速度测试和负载测试。
1)压力测试
压力测试必须对WEB服务应用以下四个基本条件进行有效的压力测试。
重复:测试的重复就是一遍又一遍地执行某个操作或功能。
并发:是同时执行多个操作的行为。
量级:是指每个操作中的负载量。
随机变化:是指随机使用前面的压力原则中介绍的无数变化形式,在每次测试运行时应用许多不同的代码路径。
2)连接速度测试
用户连接到WEB应用系统的速度根据上网方式的不同而变化。连接速度测试是测试WEB系统在不同上网方式中的响应时间。
3)负载测试。
测试WEB系统在某一负载级别上的性能,以保证WEB系统在需求范围内能正常工作。负载级别可以是某个时刻同时访问WEB系统的用户数量,也可以是在线数据处理的数量。
3 可用性测试
可用性测试包括:导航测试、图形测试、内容测试和整体界面测试。
1)导航测试:
在不同的用户接口控制之间,或在不同的链接页面之间,导航描述了用户在一个页面内操作的方式。WEB应用系统的导航帮助信息要尽可能地准确。WEB应用系统的层次一旦确定,就要着手测试用户导航功能。如果能让最终用户参与这种测试,效果将更加明显。
2)图形测试
在WEB应用系统中,适当的图片和动画能起到广告宣传的作用,又有美化页面的功能。图形测试的主要内容有:要确保图形有明确的用途,图片或动画不要胡乱地堆在一起,以免浪费传输时间;验证所有页面字体的风格是否一致;背景图片应该与字体颜色和前景颜色相搭配;图片的大小和质量也是一个很重要的因素,一般采用JPG或GIF压缩。
3)内容测试
内容测试用来检验WEB应用系统提供信息的正确性、准确性和相关性。信息的正确性是指信息是可靠的还是误传的;信息的准确性是指是否有语法或拼写错误;信息的相关性是指是否可以在当前页面找到与当前浏览信息相关的信息列表或入口。
4)整体界面测试
整体界面是指整个WEB应用系统的页面结构设计,是给系统用户的一个整体感受。对整体界面的测试过程,是对最终用户进行调查的过程。一般WEB应用系统采取在主页上做一个调查问卷的形式,来得到最终用户的反馈信息。所有的可用性测试都需要外部人员的参与,最好有最终用户参与。
4 安全性测试
安全性测试包括:目录设置测试、SSL测试、登录验证测试、日志文件测试和脚本语言测试。
1)目录设置测试
WEB安全的第一步就是正确设置目录。每个目录下应该有index.html或main.html页面,这样就不会显示该目录下的所有内容。
2)SSL测试
SSL能使用户/服务器应用之间的通信不被攻击者窃听,并且始终对服务器进行认证,还可选择对用户进行认证。SSL协议在应用层协议通信之前就已经完成加密算法、通信密钥的协商及服务器认证工作。在此之后应用层协议所传送的数据都会被加密,从而保证通信的私密性。
3)登录验证测试
登录验证测试用来验证系统是否能够阻止非法的用户和非法的口令登录;用户登录是否有次数限制;是否限制从某些IP地址登录。
4)日志文件测试
验证日志是否能够记录所有的事务处理;是否记录失败的注册或登录信息;是否记录被盗用信用卡的使用;是否在每次事务完成的时候都进行保存;是否记录IP地址;是否记录用户名。
5)脚本语言测试。
脚本语言是常见的安全隐患,经验丰富的黑客可以将服务器用户名和口令发送给自己,找出站点使用了哪些脚本语言,并研究该语言的缺陷。在测试中,还需要测试没有经过授权,就不能在服务器端放置和编辑脚本的问题。
5 系统兼容性测试
系统兼容性测试包括平台测试、浏览器测试、分辨率测试、连接速率测试、打印机测试。
平台测试是指在系统发布前,在各种操作系统下对WEB系统进行兼容性测试;浏览器测试是测试WEB系统在不同的浏览器中是否能够正常显示;分辨率测试是测试WEB系统在不同分辨率模式下是否正常显示;连接速率测试是测试WEB系统在不同上网方式下等待首页出现的时间;打印机测试是测试网页打印是否正常。
6 接口测试
接口测试包括服务器接口、外部接口和错误处理。
1)服务器接口
第一个需要测试的接口是浏览器与服务器的接口。测试人员提交事务,然后查看服务器记录,并验证在浏览器上看到的正好是服务器上发生的。测试人员还可以查询数据库,确认事务数据已正确保存相关信息。
2)外部接口
有些WEB系统有外部接口,因此WEB系统要实时验证信用卡数据以减少欺诈行为的发生。测试时要使用WEB接口发送一些事务数据,分别对有效信用卡、无效信用卡和被盗信用卡进行验证。
(3)错误处理
在理解需求的基础上,充分发挥想像力,尽量比较全面地列出各种异常情况,验证系统进行错误处理的能力。
7 结束语
本文从功能测试、性能测试、可用性测试、安全性测试、系统兼容性测试和接口测试六个方面阐述了如何进行WEB信息系统测试。只有认真进行WEB信息系统测试,才能尽可能多地发现并改正错误,保证WEB信息系统实现正常的功能。
参考文献:
[1] Ron Patton.软件测试[M].北京:机械工业出版社,2002.
[2] Rick D.Craig,Stefan P.Jaskiel.系统的软件测试[M].北京:电子工业出版社,2003.
[3] Ralph M.Stair,George W.Reynolds.信息系统原理[M].北京:机械工业出版社,2000.
关键词:WEB信息系统;测试
中图分类号:TP393文献标识码:A文章编号:1009-3044(2009)04-1004-02
WEB Information System Test Engineering Research
CHEN Lian-bo
(Tieling Radio Broadcasting and Television University Department of Science and Technology, Tieling 112000,China)
Abstract: The WEB information system pays group of complex contents and the function for the massive terminal user, enables all clients which connects with the server all to share uses the content and the function which the WEB information system provides.The WEB information system test usually includes: Function test, performance test, usability test, secure test, system compatibility test and connection test.
Key words: WEB information system; test
WEB信息系统交付一组复杂的内容和功能给大量的终端用户,使与服务器连接的所有客户机都能共享使用WEB信息系统提供的内容和功能。系统测试是把整个系统作为一个整体来查找问题,对于WEB应用系统而言,需要弄清WEB服务相互之间如何交互。WEB信息系统测试通常包括:功能测试、性能测试、可用性测试、安全性测试、系统兼容性测试和接口测试。
1 功能测试
功能测试包括链接测试、表单测试、数据校验、Cookies测试、数据库测试、应用程序特定的功能需求测试以及设计语言测试。
1)链接测试
链接是WEB应用系统的一个主要特征,它是在页面之间切换和引导用户去一些未知地址页面的主要手段。链接测试可分为三个方面:首先,测试所有链接是否按指示的那样确实链接到了应该链接的页面;其次,测试所链接的页面是否存在;最后,保证WEB应用系统上没有孤立的页面。链接测试可以通过Xenu Link Sleuth或HTML Link Validator软件自动进行。
2)表单测试
当用户使用表单进行注册、登录、信息提交等操作时,必须测试提交操作的完整性,以校验提交服务器的信息的正确性。如果使用了默认值,还要检验默认值的正确性。如果表单某个字段只能接受指定的某些值,则对这个字段也要进行测试。
3)数据校验
如果系统根据业务规则,需要对用户输入进行校验,则要保证这些校验功能正常工作。数据校验可采用手动检查,同时利用WinRunner工具形成WinRunner(QTP)脚本;在回归测试以及升级版本测试时主要依靠WinRunner(QTP)自动回放测试。
4)Cookies测试
如果WEB应用系统使用了Cookies,就必须检查Cookies是否能正常工作。测试的内容包括Cookies是否起作用,是否按预定的时间进行保存,刷新对Cookies有什么影响等。如果在Cookies中保存了注册信息,应确认该Cookies能够正常工作而且已对这些信息进行加密。如果使用Cookies来统计次数,需要验证次数累计正确。Cookies测试可用IECookies View v1.50或 Cookies Manager v1.1进行。
5)数据库测试
数据库为WEB应用系统的管理、运行、查询和实现用户对数据存储的请求等提供空间。在使用了数据库的WEB应用系统中,可能发生两种错误,分别是数据一致性错误和输出错误。数据一致性错误主要是由于用户提交的表单信息不正确而造成的;输出错误主要是由于网络传输速度或程序设计问题引起的。针对这两种情况,可分别进行测试。
6)应用程序特定的功能需求测试
测试人员应该深刻理解需求说明文档,对应用程序特定的功能需求进行验证。
7)设计语言测试。
WEB设计语言版本的差异可以引起客户端或服务器端严重的问题。除了HTML的版本问题外,使用不同的脚本语言开发的应用程序也要在不同的版本上进行验证。
2 性能测试
性能测试包括以下内容:压力测试、连接速度测试和负载测试。
1)压力测试
压力测试必须对WEB服务应用以下四个基本条件进行有效的压力测试。
重复:测试的重复就是一遍又一遍地执行某个操作或功能。
并发:是同时执行多个操作的行为。
量级:是指每个操作中的负载量。
随机变化:是指随机使用前面的压力原则中介绍的无数变化形式,在每次测试运行时应用许多不同的代码路径。
2)连接速度测试
用户连接到WEB应用系统的速度根据上网方式的不同而变化。连接速度测试是测试WEB系统在不同上网方式中的响应时间。
3)负载测试。
测试WEB系统在某一负载级别上的性能,以保证WEB系统在需求范围内能正常工作。负载级别可以是某个时刻同时访问WEB系统的用户数量,也可以是在线数据处理的数量。
3 可用性测试
可用性测试包括:导航测试、图形测试、内容测试和整体界面测试。
1)导航测试:
在不同的用户接口控制之间,或在不同的链接页面之间,导航描述了用户在一个页面内操作的方式。WEB应用系统的导航帮助信息要尽可能地准确。WEB应用系统的层次一旦确定,就要着手测试用户导航功能。如果能让最终用户参与这种测试,效果将更加明显。
2)图形测试
在WEB应用系统中,适当的图片和动画能起到广告宣传的作用,又有美化页面的功能。图形测试的主要内容有:要确保图形有明确的用途,图片或动画不要胡乱地堆在一起,以免浪费传输时间;验证所有页面字体的风格是否一致;背景图片应该与字体颜色和前景颜色相搭配;图片的大小和质量也是一个很重要的因素,一般采用JPG或GIF压缩。
3)内容测试
内容测试用来检验WEB应用系统提供信息的正确性、准确性和相关性。信息的正确性是指信息是可靠的还是误传的;信息的准确性是指是否有语法或拼写错误;信息的相关性是指是否可以在当前页面找到与当前浏览信息相关的信息列表或入口。
4)整体界面测试
整体界面是指整个WEB应用系统的页面结构设计,是给系统用户的一个整体感受。对整体界面的测试过程,是对最终用户进行调查的过程。一般WEB应用系统采取在主页上做一个调查问卷的形式,来得到最终用户的反馈信息。所有的可用性测试都需要外部人员的参与,最好有最终用户参与。
4 安全性测试
安全性测试包括:目录设置测试、SSL测试、登录验证测试、日志文件测试和脚本语言测试。
1)目录设置测试
WEB安全的第一步就是正确设置目录。每个目录下应该有index.html或main.html页面,这样就不会显示该目录下的所有内容。
2)SSL测试
SSL能使用户/服务器应用之间的通信不被攻击者窃听,并且始终对服务器进行认证,还可选择对用户进行认证。SSL协议在应用层协议通信之前就已经完成加密算法、通信密钥的协商及服务器认证工作。在此之后应用层协议所传送的数据都会被加密,从而保证通信的私密性。
3)登录验证测试
登录验证测试用来验证系统是否能够阻止非法的用户和非法的口令登录;用户登录是否有次数限制;是否限制从某些IP地址登录。
4)日志文件测试
验证日志是否能够记录所有的事务处理;是否记录失败的注册或登录信息;是否记录被盗用信用卡的使用;是否在每次事务完成的时候都进行保存;是否记录IP地址;是否记录用户名。
5)脚本语言测试。
脚本语言是常见的安全隐患,经验丰富的黑客可以将服务器用户名和口令发送给自己,找出站点使用了哪些脚本语言,并研究该语言的缺陷。在测试中,还需要测试没有经过授权,就不能在服务器端放置和编辑脚本的问题。
5 系统兼容性测试
系统兼容性测试包括平台测试、浏览器测试、分辨率测试、连接速率测试、打印机测试。
平台测试是指在系统发布前,在各种操作系统下对WEB系统进行兼容性测试;浏览器测试是测试WEB系统在不同的浏览器中是否能够正常显示;分辨率测试是测试WEB系统在不同分辨率模式下是否正常显示;连接速率测试是测试WEB系统在不同上网方式下等待首页出现的时间;打印机测试是测试网页打印是否正常。
6 接口测试
接口测试包括服务器接口、外部接口和错误处理。
1)服务器接口
第一个需要测试的接口是浏览器与服务器的接口。测试人员提交事务,然后查看服务器记录,并验证在浏览器上看到的正好是服务器上发生的。测试人员还可以查询数据库,确认事务数据已正确保存相关信息。
2)外部接口
有些WEB系统有外部接口,因此WEB系统要实时验证信用卡数据以减少欺诈行为的发生。测试时要使用WEB接口发送一些事务数据,分别对有效信用卡、无效信用卡和被盗信用卡进行验证。
(3)错误处理
在理解需求的基础上,充分发挥想像力,尽量比较全面地列出各种异常情况,验证系统进行错误处理的能力。
7 结束语
本文从功能测试、性能测试、可用性测试、安全性测试、系统兼容性测试和接口测试六个方面阐述了如何进行WEB信息系统测试。只有认真进行WEB信息系统测试,才能尽可能多地发现并改正错误,保证WEB信息系统实现正常的功能。
参考文献:
[1] Ron Patton.软件测试[M].北京:机械工业出版社,2002.
[2] Rick D.Craig,Stefan P.Jaskiel.系统的软件测试[M].北京:电子工业出版社,2003.
[3] Ralph M.Stair,George W.Reynolds.信息系统原理[M].北京:机械工业出版社,2000.