一、web测试组成
1.web系统原理:web的工作原理和核心技术、web网络协议
2.web开发技术:HTML、CSS、Javascript、PHP
3.web测试技术:功能测试、性能测试、安全性测试
二、web核心技术
2.1
URL地址
URL(UniformResoureLocator:统一资源定位器):一般由5个部分组成示例:http://172.31.70.64:8080/phpwind85/read.php?tid=8262
1.协议:第一个冒号之前的部分示例:httphttps(http+ssl)SSL:SecureSocketLayer
2.主机名://之后与第二冒号之前的部分,可以是域名,也可以是ip地址。域名中的www--WorldWideWeb(环球信息网),简称Web示例:172.31.70.64
3.端口号:服务器提供的监听位置。0-1024的端口属于系统的保留端口。协议如果使用默认端口,端口部分可以省略http80oracle1521mysql3306
4.路径:包括目录和文件,第一个/之后,问号之前的内容,包括/示例:phpwind85/read.php
5.参数:问号之后的内容。包括键值对name=value,键值对之间&连接示例:tid=8262
2.2
Web客户端技术:渲染引擎
·Trident:主要用于IE浏览器、360浏览器。
·Gecko:主要用于FireFox。
·WebKit:主要用于GoogleChrome、Safari。是渲染引擎的标准。
2.3
Web服务器端技术:SOASOA(Service-OritentedArchitecture):面向服务的体系架构,实现方式:WebService接口
WSDL(WebServicesDescriptionLanguage):网络服务描述语言,是WebService的描述语言,
规定服务的位置以及服务提供的操作。数据格式是XML(eXtensibleMarkupLanguage,可扩展标记语言)
三、HTTP协议
HTTP(hypertexttransportprotocol):规定了浏览器和web服务器之间互相通信协议。
HTTP的版本差异:在HTTP1.0中客户端的每次请求都要求建立一次单独的连接,在处理完本次请求后,就自动释放连接。
在HTTP1.1中则可以在一次连接中处理多个请求,并且多个请求可以重叠进行,不需要等待一个请求结束后再发送下一个请求。
HTTP请求分类:GET和POST
GET请求主要是数据的获取
POST请求主要是数据的提交
HTTP请求:GETphpwind85/read.phpHTTP/1.1指明了三个关键信息:请求类型为GET,资源URL地址为phpwind85/read.php,协议类型和版本为HTTP/1.1。
HTTP响应状态码:
1xx:信息
2xx:成功,200请求成功
3xx:重定向
4xx:客户端错误,404服务器无法找到被请求的页面
5xx:服务器错误
四、HTML
HTML:超文本标记语言(HyperTextMarkupLanguage),后缀名一般是.htm或者.html。
语法格式:
<标签名属性1=值1属性2=值2...属性N=值N>...内容...</标签名>
<标签名属性1=值1属性2=值2...属性N=值N/>
标签名和属性名之间、属性之间用空格分隔。
<html>网页
<head>网页头部
<title>网页标题
<body>网页主体
<a>超链接属性href(HyperlinkReference),规定链接的目标<form>表单交互,接收用户输入,提交给web服务器
属性action指定接收数据的脚本method请求的方法(get或者post)
<input>输入控件
五、CSS
css:(CascadingStyleSheets,层叠样式表),是用来设置HTML的样式。在标签<style></style>中定义。
语法格式:
样式名{样式属性1:值1;样式属性2:值2;...样式属性N:值N;}
外部css文件的后缀名一般是.css
外部css文件的引用方法:<linkrel="stylesheet"type="text/css"href="css文件的路径"/>
rel:relation用于定义链接文件和HTML文档之间的关系。href:HyperlinkReference规定链接的目标
六、JavaScript
JavaScript:一种运行在浏览器的脚本语言。在标签<script></script>中定义。
外部JavaScript文件的后缀名一般是*.js。
外部JavaScript文件的引用方法:<scripttype="text/javascript"src="javascript文件的路径"></script>
七、PHP
php:(HypertextPreprocessor,超文本预处理语言),服务器端脚本语言,后缀名一般是.php
语法格式:
<?php
PHP代码
?>
$_GET["键名"]用来接收get方法提交的数据。
$_POST["键名"]用来接收post方法提交的数据。
$_SESSION["键名"]SESSION数据
$_COOKIE["键名"]COOKIE数据
八、MySQL
创建数据库createdatabasemy_db;
使用数据库usemy_db;
创建表createtablepersons(Namechar(20),Ageint);
删除数据库dropdatabasemy_db;
九、web测试技术
9.1前台性能测试
·减少HTTP请求
·使用内容发布网络(CDN:ContentDeliveryNetwork)
·压缩组件
·使用外部JavaScript和CSS
·精简JavaScript和CSS
·避免重定向
9.2安全性测试:
·认证和授权
·Session和Cookie
·文件上传漏洞
·缓存溢出漏洞
·SQL注入:利用现有应用程序,将(恶意)的SQL命令注入到后台数据库引擎执行的能力。
·XSS跨站攻击
·DDoS拒绝服务攻击