基于Rational 的B/S 架构软件自动化测试研究[3] 软件测试
2 B/S 架构软件自动化测试模型
传统的C/S 结构一般分为两层:客户端和服务器端,需要在每台客户端上安装相应软件,其安装和使用不但受到操作系统和平台环境的限制,而且对客户机的配置及操作者的技术也有一定要求。而B/S 架构的系统只需安装通用的浏览器,过程简便,网络结构灵活,
系统开发者无需为不同的系统平台开发不同的客户端,只需将功能集成在Web服务器上,并为不同用户设置权限即可。另外,B/S 系统方便在网上发布,用户使用十分方便。基于以上优点,B/S 架构的软件系统将逐渐成为下一代软件开发的主流,许多传统的信息系统将被移植到互联网上。
B/S 架构软件的测试已变得越来越重要,但是,基于Web 应用下的分布、异构、并发及平台无关特性,使B/S 架构下的软件测试要比普通C/S 模式下的测试要复杂的多。B/S 架构软件的测试包括功能测试、统计测试、性能测试、可用性测试、兼容性测试和安全性测试等,而自动化测试的任务主要集中在性能测试和功能测试方面。
2.1 B/S 架构下性能测试的任务
性能测试就是使用一定数量的虚拟用户,模拟真实用户并按照指定的负载模型对被测系统进行各种操作,以发现系统性能瓶颈的过程。它主要包括连接速度测试、负载测试、压力测试、并发测试和可靠性测试等。其中连接速度测试对于B/S 系统非常重要,调查数据表明,用户作为Web 站点成功与否的最终的判决者,
当其访问一个站点时,当响应时间超过5s 时,用户可能会放弃继续访问。而压力测试是用于测试B/S 系统所受的限制及故障恢复能力,也就是测试Web 应用系统会不会崩溃,在什么情况下会崩溃。通过压力测试可以确定一个系统的瓶颈或不能再接收用户请求的性能点。
负载测试时可以通过模拟用户访问来获得Web 应用程序的性能,找到系统的处理极限,如测试B/S 系统可以支持多少用户同时在线,能否处理大量用户对同一个页面的请求等。可靠性测试主要是在对系统加载一定压力的情况下,分析系统运行是否稳定。B/S 架构下软件系统的性能测试十分重要。要进行B/S下的系统性能测试,
如果让大量真实用户同一时间进行在线操作,测试开支非常巨大,且对于某些特殊B/S 系统来说不怎么现实,结果也不够精确,此时,使用自动化性能测试工具生成虚拟用户以完成性能测试是非常必要的。
2.2 B/S 架构下的性能测试自动化模型
性能测试自动化过程模型。通过使用自动化测试工具,录制脚本编写程序,用虚拟用户仿真现实用户,与系统交互以实现各项性能指标的测试工作,并通过收集的测试数据,主要是测试自动生成的日志log 文件来分析测试结果,以了解系统存在的问题,最终解决问题。