从测试的角度看,Web应用软件的以下特点会导致Web应用软件的测试有别于其他软件的测试
1.基于无连接协议
2.内容驱动
3.开发周期短
4.演化频繁
5.安全性要求较高
6.美观性要求较高
Web应用软件的常用开发技术
1.CGI程序与服务器编程
CGI程序本身来讲就是一个普通的程序,但是它更够生成一个符合html标准格式的字符串
服务器端编程语言针对html中只变的部分进行编程处理,将编程嵌入到html中,主要包括asp,php,jsp等
在测试Web应用软件时,遇到由程序生成的页面,不能将其当做普通的页面,而是要根据程序的特点选取适当的测试用例集进行测试
2.脚本语言和客户端编程
典型的代表有:JavaScript和VBScript
测试时需要对客户端的程序也进行测试,同时针对异步交互的每一个模块都要进行测试
应用服务器就是能够将网络应用的共性成分从具体的应用中剥离出来,从而简化应用系统的开发和运行
常见的应用服务器可以分为三层,即变现成,业务无逻辑层和数据访问层
基于三层架构,很多企业又发展出适合自己的多层架构系统
应用服务器可分为通用的和专用的应用服务器
通用的是指可以在多个领域提供多方面的服务
专用的是指在某个特定的领域中提供特定的服务
Web应用软件的测试策略
由于Web应用软件通常采用多层的结构,所以在测试的时候最好也采用分层的策略
1.表现层的重点是html文档的结构和客户端的程序
其中包括
排版结构,链接结构,客户端程序,浏览器兼容性的测试
2.业务层的测试主要关注其包含的业务逻辑
可以分为:对单个程序和对一组程序的测试
3.数据层主要包括对数据完整性的测试以及大数据量下对数据库操作的性能
层与层之间的集成测试:
由于单独对每一层进行测试并不充分,所以测试时还需要考虑层间的集成问题
Web应用软件测试的实施
1.功能测试
该测试页可以看做是对整个Web应用软件进行的集成测试
(1)链接测试:对整个Web应用软件中的链接进行测试
(2)表单测试
(3)Cookie测试
2.性能测试
Web应用软件性能测试的主要并需要围绕的指标是并发的用户数
(1)并发测试
(2)负载和压力测试
(3)配置测试和性能调优
3.易用性测试
该测试和表示层测试中的排版测试时类似的
4.内容测试
由于Web应用软件通常是内容驱动的,Web应用软件的成功与内容的正确性,准确性,合法性和相关性密不可分
(1)测试数据库中的内容
(2)测试服务器端程序和客户端程序是否会在数据的处理过程中引入错误的内容
5.安全性测试
(1)服务器端的内容安全性
在测试时需要检查用户能够绕过Web应用软件设置的访问控制机制直接访问相关的内容
(2)客户端的内容安全性
一方面为用户可以通过查看源代码来获得某些表单隐藏的数据,另一方面用户的一些私人的数据可能会被记录在浏览器的缓冲区中,而被其他用户获取
(3)Cookie安全性
(4)日志功能
6.接口测试
复杂的Web应用软件不仅仅是一个Web站点,它需要和其他系统协作完成所需要的功能,而不仅仅是在页面间进行链接(如WebService接口的使用)