面向Web应用系统的测试与传统的软件测试不同,不仅需要检查和验证是否按照需求规格说明书的要求运行,而且还要测试Web应用系统在不同浏览器上显示是否符合要求,与不同的数据库连接是否有效、更重要的是在性能、安全性、可用性等方面
安全性测试
配置和兼容性测试
可用性测试
链接测试
链接是Web应用系统用户界面的主要特征,它指引着Web用户在页面之间切换,以完成Web应用系统的功能
测试重点
链接是否正确
链接页面是否存在
是否有孤立的页面(没有链接指向的页面)
表单测试
表单(Form)是指网页上用于输入和选择信息的文本框、列表框和其他域,实现用户和Web应用系统的交互,当用户给Web应用系统管理员提交信息时,需要使用表单操作,如用户注册、登录、信息提交、查询等
测试重点
表单控件的正确性
提交信息的完整性、正确性
是否有错误处理
Cookie测试
Cookie通常标识用户信息,记录用户状态 。
使用Cookie技术,当用户使用Web应用系统时,能够在访问者的机器上创立一个叫做Cookie的文件,把部分信息(访问过的页面、登录用户名、密码等)写进去,来标识用户状态。如果该用户下次再访问这个Web应用系统,就能够读出这个文件里面的内容,正确标识用户信息
如果Web应用系统使用了Cookie,必须检查Cookie是否能正常工作,是否按预定的时间进行保存内容
设计语言测试
在Web应用系统开发初始,根据软件工程的要求用文档的形式确定Web应用系统使用哪个版本的HTML标准,允许使用何种脚本语言及版本,允许使用何种控件,这样可以有效的避免Web应用系统开发过程中出现设计语言问题。
其他测试
数据库测试
面向任务、业务逻辑的测试
探查性测试
速度测试:
对于最终的Web应用系统用户而言,最关心的性能问题是访问Web应用系统页面时,多长时间才能显示出来所需要的页面
通常情况下,响应时间不超过5秒
有些Web应用系统有超时限制,如果响应时间太慢,用户可能还没来得及浏览内容,就需要重新登录了
影响响应时间的原因有很多
应用程序服务器需要从数据库的大量数据中检索信息
服务器硬件影响(CPU、内存)
所访问页面文件大小
网络连接带宽
负载测试
负载测试是为了测量Web应用系统在一定负载情况下的系统性能,通常得出的结论是Web应用系统在一定的硬件条件下可以支持的并发用户数目或者单位时间数据(或事件)的吞吐量。
在进行负载测试前,需要定义标准用户(活动用户)的概念,定义执行典型的系统流程,定义负载测试执行总时间,定义抓取哪些事务的平均响应时间,定义用户可以接受的平均响应时间(通常为5秒)
测试时,增加用户数量,平均响应时间就会增加,当达到用户可以接受的平均响应时间这个临界点,即是此系统可以支持的并发用户数
对Web系统进行压力测试,类似于普通机械、电子产品进行的破坏性试验。方法是实际破坏Web应用系统,测试系统的反应
压力测试是测试系统的限制和故障恢复能力,也就是测试Web应用系统会不会崩溃,在什么情况下会崩溃,崩溃以后会怎么样。
在Web应用系统性能测试过程中,常常将压力测试和负载测试结合起来。在负载测试的基础上,增大负载量,直到系统崩溃
实施性能测试需要注意
测试工具灵活使用
性能测试计划的制定
由于数据库安全性导致的Web应用系统安全性问题
用户重要信息没有经过加密而存于数据库中
确认操作系统安全性 ,避免因操作系统漏洞导致Web应用程序的安全性问题
Web应用系统多采用登录的方式,产品发布时提供默认的管理员用户名和密码
确保应用系统实际应用中可修改默认管理员帐号和密码
用户名和密码设置要求(长度、大小写敏感、复杂度)
允许错误登录的次数
是否可以不登录而直接浏览某个页面
保证日志文件记录了Web应用系统的主要操作过程,并可根据日志文件追查到系统使用情况;同时还需要保证日志文件本身的安全性、完整性,防止被入侵者删除、获得
当Web应用系统采用了SSL等加密技术之后,需要确认加密、解密后信息传递的正确性和完整性
需要确认Web应用系统是否有超时设置,如有,则保证在超时设置时间内,如果未操作Web应用系统,当再次访问系统,需要重新登录
了解安全漏洞信息,避免Web应用系统中出现的漏洞被入侵者利用;及时升级补丁程序,提高系统安全性
Web应用系统多采用分布式体系结构,服务器端通常包括Web服务器组件、数据库服务器组件等。服务器还可能运行在不同的操作系统上,并且这些组件、操作系统等还可以有不同的配置方法,所以针对服务器的兼容性测试往往工作量较大
针对客户端浏览器的配置和兼容性测试是必不可少的,并且占据了Web应用系统客户端配置和兼容性测试的大部分时间
典型的应用服务器:
Web服务器:
通过MS IIS、BEA Weblogic、IBM Websphere、Tomcat、Sun J2EE Application、Apache等中间件、插件,提供Internet/Intranet Web服务,实现与众多客户之间的数据交换和共享
数据库服务器
主要提供数据库查询、处理的平台,通过Oracle、SQLServer、Informix、DB2、Sybase、MySQL等中大型的数据库管理系统来构建
实时通信服务器
提供数据实时通信、消息传递等服务,如MSN、Yahoo message和ICQ等专用服务器