Web测试基础

1 Web应用系统

1)        Web定义

         Web是WWW(World WideWeb)的简称,又称为“万维网”。Web是建立在客户机/服务器(Client/Server)模型之上,以HTML语言和HTTP协议为基础,提供面向各种Internet服务的、一致的用户界面的一种信息服务系统。

2)        Web应用体系结构

         整个 Web 结构体系结构可以分成服务器端、客户接收端(浏览器)以及传输规程三个部分。下面是典型的Web 应用通常是三层架构模型:

        Web测试基础_第1张图片

3)        Web服务器

         Web服务器(WebServer)又称WWW服务器、网站服务器、站点服务器,是将本地的信息用超文本组织,为客户端提供动态的,交互的超文本服务。Web服务器可以解析HTTP协议。当Web服务器接收到一个HTTP请求,会返回一个HTTP响应。

         常见的Web服务器:MicrosoftIIS、IBM WebSphere、BEA WebLogic、Apache、Tomcat。

4)        应用服务器

         应用程序服务器(ApplicationServer),简称为应用服务器,它通过各种协议,把商业逻辑暴露给客户端应用程序。Web服务器主要是处理向浏览器发送HTML以供浏览,而应用程序服务器提供访问商业逻辑的途径以供客户端应用程序使用。

2        Web应用技术

2.1 统一资源定位符(URL)

         统一资源定位符(UniformResource  Locator,缩写为URL)是用来表示Web站点内外资源的地址的一种形式。统一资源标识符(Uniform Resource Identifier,缩写为URI)是更一般性的术语。URL是一种特殊类型的URI。

1)        URL结构

         URL的一般语法格式为(带方括号[]的为可选项):protocol:// hostname[:port] / path / [;parameters][?query]#fragment

l   protocol(协议)

l   hostname(主机名)

l   port(端口号)

l   path(路径)

l   parameters(参数)

l   query(查询)

l   fragment(信息片断)

2)        URL分类

l   绝对URL:绝对URL(absolute URL)显示文件的完整路径,它包含协议种类、服务指域名、文件路径和文件名。如:http://www.cs.swust.edu.cn/overview/school-overview.html。

l   相对URL:相对URL(relative URL)以包含URL本身的文件夹的位置为参考点,描述目标文件夹的位置。如:images/cd.swf。

2.2 HTTP 协议

         HTTP协议(HypertextTransfer Protocol),即超文本传输协议,是Internet上使用最广泛的应用层协议之一。HTTP协议是一个通用的、无状态的、基于对象的超文本传输协议,通过在HTTP客户程序和HTTP服务程序之间建立端对端的连接实现互联网上超文本文件的传输。

         HTTP在TCP/IP协议栈中的位置如图所示。

        Web测试基础_第2张图片

1)        HTTP工作流程

        Web测试基础_第3张图片

2)        HTTP 报文结构

         请求报文:一个HTTP请求报文由请求行、请求头部、空行和请求数据4个部分组成。

        Web测试基础_第4张图片

         响应报文:在接收和解释请求消息后,服务器返回一个HTTP 响应消息。HTTP 响应由三个部分组成,分别是:状态行、消息报头、响应正文。

        Web测试基础_第5张图片

3)        HTTP 状态码

         HTTP状态码(HTTP StatusCode)是用以表示网页服务器HTTP响应状态的3位数字代码。状态代码由三位数字组成,第一个数字定义了响应的类别,且有五种可能取值。

4)        HTTPS

         HTTPS是以安全为目标的 HTTP通道。

         HTTPS实现了下列功能:

l   客户端与服务器的双向身份确认

l   保证传输数据的机密性

l   数据的完整性检验

2.3 HTML

1)        HTML简介

         HTML(Hyper Text Markup Language) ,即超文本标记语言, 是一种用来描述网页的标记语言。HTML使用标记标签来描述网页,HTML文档包含 HTML标签和纯文本。HTML文档也被称为网页。

2)        HTML文档结构

Web测试基础_第6张图片

3)        HTML元素和标签

l   标题:通过

-

等标签进行定义

l   段落:通过

进行定义

l   换行:通过
进行定义

l   注释:通过
进行定义

l   链接:通过 标签进行定义

l   图像:通过 标签进行定义

l   表格:通过

标签进行定义

l   表单:通过
元素定义

2.4 XML

         XML指可扩展标记语言(ExtensibleMarkup  Language)。可扩展标记语言,是标准通用标记语言的子集,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。

1)        XML树结构

         XML文档形成了一种树结构,它从“根部”开始,然后扩展到“枝叶”,并扩展到树的最底端。

        Web测试基础_第7张图片

2)        XML语法

l   任何的起始标签都必须有一个结束标签。

l   可以在一个标签中同时表示起始和结束标签。例如<标记/ >。XML解析器会将其翻译成<标记>

l   标签必须按合适的顺序进行嵌套,所以结束标签必须按镜像顺序匹配起始标签。

l   所有的特性都必须有值。

l   所有的特性都必须在值的周围加上双引号。

2.5 脚本语言

         脚本语言是为了缩短传统的编写-编译-链接-运行过程而创建的计算机编程语言。

         在Web脚本技术中,既有用于客户端的脚本,如JavaScript;也有用于服务器端脚本,如ASP,PHP,Perl;还有用于数据库的脚本,如 SQL等。

1)        ASP

         ASP(ActiveServer Page)又称为动态服务器页面。它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,它含有若干内建对象,用于Web服务器端的开发。ASP具有下列特点:开放性、易操作性、页面设计与程序设计分离、即时编译、浏览器独立性。

2)        PHP

         PHP(超文本预处理器)是一种通用开源脚本语言。 PHP具有下列特性:

l   PHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创新的语法。

l   PHP可以比CGI或者Perl更快速的执行动态网页。

l   PHP支持几乎所有流行的数据库以及操作系统。

l   PHP可以用C、C++进行程序的扩展。

3)        JSP

         JSP(JavaServer Page)是由Sun公司推出的一项因特网应用开发技术,基于Java Servlet和Java体系的Web开发技术。JSP具备了Java技术的简单易用,完全面向对象,与平台无关性且安全可靠的特点。

4)        CGI

         CGI(CommonGateway Interface)公共网关接口。CGI在物理上是一段程序,运行在服务器上,提供同客户端HTML页面的接口。CGI是外部应用程序(CGI程序)与Web服务器之间的接口标准,是在CGI程序和Web服务器之间传递信息的规程。

4 Web应用的特点

         内容驱动、易于导航、平台无关、分布式、动态性、交互性、美观性、即时性、持续演化性、安全性。

         Web应用的特性,给Web测试带来了新的挑战。对于Web测试来说,最大的挑战就是海量用户带来的挑战。

l   Web系统性能

l   浏览器兼容性

l   Web系统安全性

l   Web系统易用性

5 Web应用测试内容

1)        功能测试:

l   链接测试

l   表单测试

l   Cookies测试

l   设计语言测试

l   数据库测试

l   应用程序特定功能测试

2)        性能测试:

l   响应速度测试:响应速度测试就是获取系统对用户请求的响应时间。

l   负载测试:负载测试是为了测量系统在某一负载级别上的性能,以保证系统在需求范围内能正常工作。

l   压力测试:压力测试是测试系统的极限和故障恢复能力,也就是测试应用系统会不会崩溃,在什么情况下会崩溃。

3)        用户界面测试

         Web界面面对的是用户,用户通过Web界面实现对软件、数据库的操作。通过Web界面测试可以确保Web应用向用户提供了正确信息的显示,从而使用户能够进行正确的操作,来实现Web应用的功能。用户界面测试包括:导航测试、图形测试、内容测试、整体界面测试等。

4)        安全性测试

         Web应用系统常受到病毒和非法入侵的攻击,数据传输会被非法截获和伪造传递。因此Web系统的安全性测试是非常重要的。Web应用安全性测试包括Web应用程序部署环境测试、应用程序安全性测试、数据库测试和容错测试等。

5)        接口测试

         在很多情况下,Web网站不是孤立的,它可能与外部服务器通讯,请求数据、验证信息或提交订单等。 Web接口测试,需要测试浏览器与服务器之间的接口。有些 web系统有外部接口,测试人员需要检查外部接口返回服务器的消息和数据。

6)        客户端兼容性测试

         对于WEB应用,我们是无法预知用户的客户端配置和运行环境的,所以,做好兼容性测试是非常重要的。Web兼容性测试需要测试Web系统在各种操作系统、浏览器、视频设置、Modem/连接速率等环境下是否正常使用。

你可能感兴趣的:(web测试)