《web测试-不用进来看,水文章的》

web测试
    学习目标
        认识互联网
        了解【web系统架构】
        了解【web核心技术】,包括【客户端技术】和【服务端技术】
        了解OSI七层模型
        了解TCP和UDP协议
        掌握易用性测试点
        掌握兼容性测试点
        了解一下安全性测试
    什么是【互联网】
        定义(不用背,了解就可以)
            【Internet】是【国际互联网】
                使用公用的语言互相通信,组成全球网络
            
            【Intranet】是【企业内部网】
                【特点】
                    相对封闭的网络环境
                    防火墙保护
                    有权限控制
                
                【目的】
                    企业内部的密码或者敏感信息受到保护
        
    【系统架构】(重要)
        【常见的系统架构】
            【CS架构】
                C=client,S=server
                    客户端/服务器
                
                【客户端】
                    【电脑端】
                        优酷
                        qq
                        360安全卫士
                    
                    【移动设备】
                        手机APP
                
                【服务器】
                    【硬件服务器】
                        【定义】
                            任何安装了软件并且可以对外提供服务的一台电脑,就可以是服务器
                        【专业的硬件服务器】
                            性能高,价格也高
                    
                    【软件服务器】
                        【定义】
                            一个运行在硬件服务器上的并且为客户提供服务的计算机软件
                
                【优点】
                    客户端直接和服务器连接,响应速度快
                    界面多样化,满足客户的个性化要求
                    面对有限的群体,高机密性
                    实现复杂的业务流程
                
                【缺点】
                    客户端安装程序,不能实现快速的安装与配置
                    兼容性差,各个操作系统,多个版本
                    升级成本高
            
            【BS架构】
                Browser/Server
                    浏览器/服务器
                
                【优点】
                    业务扩展方便,只要增加网页
                    维护简单方便,只要改变指定的网页,所有人就可以同步更新
                    分布性强,只要有网络,有浏览器就可以实现业务处理
                    开发简单
                    兼容性方面强
                
                【缺点】
                    个性化特点明显降低,无法实现个性化功能要求
                    在垮浏览器的方面,存在一定的兼容问题
                    响应速度低
                    会存在安全问题
            
            【CS架构与BS架构的区别】
                
            
            面试题
                百度在浏览器打开的过程中,请说明请求过程
                    浏览器:
在地址栏输入:
域名:www.baidu.com
                    DNS服务器:
解析(进行查找)域名对应的ip地址
                    服务器
                    过程:
【浏览器】向【DNS服务器】发送请求,请求解析www.baidu.com这个域名对应的IP地址
【DNS服务器】将解析完成的ip地址返回给【浏览器】
【浏览器】根据ip地址,向【服务器】进行请求资源
【服务器】向【浏览器】返回需要的资源
                    
        【服务器】
            【硬件服务器】
                【定义】
                    任何安装了软件并且可以对外提供服务的一台电脑,就可以是服务器
                【专业的硬件服务器】
                    性能高,价格也高
            
            【软件服务器】
                【定义】
                    一个运行在硬件服务器上的并且为客户提供服务的计算机软件
            
            【常见的软件服务器】
                【文件服务器】
                    用于文件存储,提供给其它电脑搜索和存储文件用的
                【数据库服务器】
                    存储数据,管理数据,提供查询服务的,例如MYSQL服务端
                【邮件服务器】
                    主要负责发送邮件
                【web服务器】
                    只处理HTTP协议,只发送静态页面的内容
                    常见的web服务器
                        Nginx
                        Apache
                【应用服务器】
                    支持各种协议,包括HTTP协议,可以实现web服务器的功能
                    根据业务逻辑,实现动态的数据生成
                    常见的应用服务器
                        Tomcat
    【web服务器工作流程】
        【前后端分离】
            
            APP,小程序
            【静态文件服务器】:
存储的是【html页面,css,js】
做html页面内容
            【应用服务器】:
对外提供API接口,根据【业务逻辑】返回需要的数据json /xml,不再处理html页面
            【数据库】:
数据的增删改查
            【浏览器】:
获取静态页面
运行js获取数据进行展示,填充
            【APP】:
请求数据
在页面上展示
            过程
                【浏览器】向【静态文件服务器】请求静态页面
【静态文件服务器】向【浏览器】返回静态文件
【浏览器】向【应用服务器】请求数据
【应用服务器】向【浏览器】返回数据
【APP】向【应用服务器】请求数据
【应用服务器】向【APP】返回数据
【应用服务器】向【数据库】查询数据
【数据库】向【应用服务器】返回数据
        【前后端不分离】
            
            适合的是纯网页应用
            过程
                
【前端浏览器】:
【前端浏览器】向【后端服务器】发送请求
【后端服务器】向【前端浏览器】返回响应
【前端浏览器】看到的内容由【后端】来决定
【后端服务器】:【后端服务器】有【应用服务器】和【数据库】
【应用服务器】向【数据库】查询数据
【数据库】向【应用服务器】返回数据
【应用服务器】:
根据【业务逻辑】,【查询数据库】,返回html页面或者数据
【查询数据库】的过程,要跟【数据库】交互
【数据库】:
完成数据的增删改查
        【业务逻辑】
            案例:用户注册
                1.接受前端传递过来的用户名和密码
                2.查询当前用户名是否被注册
                    注册过
                        返回告知用户已经注册
                    未注册
                        进入下一步
                3.将用户名和密码存入数据库
                4.返回给用户注册成功
            处理的过程
            根据一个功能,怎么去完善
            后端去写
    前端知识
        HTML
            负责网页的架构
            标签一般成对出现
            经典标签
                <span>
                    是一个行标签,和别的行标签共存一行
                <div>
                    是一个经典的块标签,当前标签内的内容不占一行,不能和别人共存
                <a>
                    <a href=''http://www.baidu.com''>搜索一下</a>
                    超链接标签
                        实现的是点击跳转功能
                <br/>
                    换行
                    单标签
            <head>里的内容
                写给浏览器看的
            <body>
                body内部的内容写给用户看的
        CSS
外链式
嵌入式
内嵌式
            美化页面
            标签选择器
            CSS选择器
                id一般整个文档不重复
                命令规范
                    不要以数字开头
                    不使用中文
                    支持的符号:-_
                格式
                    #id的名字
                        <span id=''sp2''>
                            #sp2{}
            Class选择器(类选择器)
                CSS选择器是用.来定义的
                类选择器可以存着重名的情况
                命名规范
                    不能以数字开头
                格式
                    .sp3{}
                        <span class=''sp3''>
            属性选择器
            后代选择器
            子元素选择器
            标签
                <style>
        JS
            网页的动作
            动作
                点击
                鼠标
                等
            标签
                <script>
                    <script type=''application/javascript''>
alert(''hello world'')
</script>
            js一般用类选择器来做的,可以用别的
                <span οnclick=''alert(''实现跳转'')''>点击跳出弹窗</span>
    后端数据的格式
        json
            {"name":"张三","age":18}
        xml
            <info>
<name>张三</name>
<age>18</age>
</info>
    OSI七层模型(重要)
        【物理层】
            【作用】:为了传输数据所需要的物理链路进行创建,维持,拆除
            【物理层设备】
                中继器
                集线器
            【数据单位】:【比特(bit)】
        
        【链路层】
            【作用】:为网络层提供服务,提供的是可靠的传输
                物理地址的寻址
                数据,流量的控制
                数据的检错
                重发
            【链路层设备】
                交换机
            【数据单位】:【帧】
        
        【网络层】
            使数据通过大型物理
            【网络层设备】
                路由器
            【数据单位】:【包】
        
        【传输层】
            【作用】:提供终端到终端的可靠链接
            【数据单位】:【数据段】
        
        【会话层】
            管理主机之间的会话进程,负责创建,管理,终止进程之间的会话
        
        【表示层】
            编码,加密解密,压缩
        
        【应用层】
            DNS,HTTP,邮件服务,文件传送服务等
        
        概要
    网络协议
        【网络协议模式】
            【物理层】
            【链路层】
            【网络层】
            【传输层】
            【应用层】
        
        【TCP协议】
            三次握手
                
                    【SYN】
                        表示【连接请求】
                    【seq】
                        表示【报文序号】
                    【ACK】
                        表示【确认】
                    【ack】
                        表示【确认号】
                            返回的ack=seq+1
                    【FIN】
                        表示【关闭链接】
                    
                【第一次握手】:【客户端将标志位SYN设置为1,并且随机产生一个值seq=x,并且将该数据包发送给服务器,此刻客户端进入等待状态,等待服务器的确认】
                
                【第二次握手】:【服务器接收到数据包之后,标志位是SYN=1,可以指定客户端请求链接,服务端如果同意创建连接,此刻SYN,ACK都设置为1,并且ack=x+1,随机产生一个值seq=y,传递给客户端】
                
                【第三次握手】:【客户端接收到确认之后,检查ack是否是x+1,ACK是否为1,如果都是正确的,会将标志位ACK设置为1,确认号ack设置为y+1,发送给服务端】
                
                
            四次挥手
                TCP链接是全双工的
                    【全双工】同时可以在2个方向上传输数据
                
                【第一次挥手】:【客户端发送标识位FIN,用来关闭客户端到服务端的连接】
                
                【第二次挥手】:【服务器接收到客户端发送的FIN之后,先发送ACK,ack,seq】
                
                【第三次挥手】:【服务器发送FIN给客户端,用来关闭服务器和客户端的数据传送】
                
                【第四次挥手】:【客户端接收到FIN之后,发送ACK,ack给服务端】
                
                  
            特点
                tcp是面向连接的,通信的双方建立连接才能进行数据传递
                
                tcp是可靠链接
                    tcp有应答机制,对方收到信息会回复
                    tcp发送的数据是有序的,对方如果收到的消息,数据包是无序的话,会自动排序
                tcp超时重传,传递的过程中,对方掉线,会重新发送
                错误校验
                流量控制,防止电脑卡死
                
            
                【类似打电话,接通的基础上,互相交流】
                
        
            【Udp协议】
                【类似写信,只管写,写完发出去收到与否,不在考虑范围内】
            tcp和udp的区别
                
            
    HTTP和HTTPS协议
        【HTTP协议】
            超文本传输协议,一种发布和接受HTML的方法
            端口:80
        
        【HTTPS协议】
            就是在传输层对网络连接进行加密,保证了数据在传输过程中的安全,加入了SSL(安全套接层)层
            就是HTTP的安全版本
            端口:446
    HTTP的请求与相应
        HTTP和HTTPS
        HTTP标准
            HTTP 0.9
                只有get请求
            HTTP 1.0
                完善的版本,支持请求与相应
                请求方式
                    get
                    post
                    head
            HTTP 1.1
                是在1.0的基础上进行发展,新增了请求
                请求方式
                    get
                    post
                    head
                    options
                    put
                    delete
                    trace
                    connect
            HTTP 2.0
                为普及
        【请求】
            URL    
                案例
                    https://www.baidu.com/?tn=sitehao 123_15
                    https://tieba.baidu.com/index.html
                    https://tieba.baidu.com/f?kw=%E7%BE%8E%E9%A3%9F
?    kw=%E7%BE%8E%E9%A3%9F(键值对)
                URL基本格式
                    【协议://域名[或者ip地址]/资源路径?查询参数#锚点】
协议:
//域名[或者ip地址]
/资源路径
?查询参数
#锚点(是用来做定位的)
                
                统一资源定位符
                【请求】
                    面试题:【说明get和post请求区别】
                        1.
get是用于向服务器请求资源的,获取的是指定页面的信息
post是用于向服务器提交数据并且获取页面的信息
                        2.
get请求参数都直接显示在URL地址上,服务器根据参数进行数据返回:
post的蚕食一般是在请求体中的,以隐藏的方式进行发送
                        3.
get回退是无害的;
post会再次提交请求
                        4.
get传递数据的大小是有限制的;
post传递的数据在请求体中,理论上是不会接受限制,但是各个服务器可能对post携带的数据量有限制
                        5.
post请求会安全一些
                    
                    【请求方法】
                        【get】
                            请求指定的页面信息
                        
                        【post】
                            向特定资源提交数据进行处理,数据是包含请求体中的
                        
                        【head】
                            类似get请求,只不过返回的相应中,没有具体的内容,只是为了获取报头
                        
                        【put】
                            一般是用于更新操作
                        
                        【delete】
                            请求服务器删除指定的资源
                        
                        【connect】
                            预留的请求方式
                        
                        【options】
                            允许客户端查看服务器性能
                        
                        【trace】
                            用于测试和诊断
                    【请求头其他信息】
                        Accept: 
                            text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
                            请求头用于指定客户端接收哪些类型的消息
                        Accept-Encoding:
                             gzip, deflate, br
                            告知可以接收的内容编码
                        Accept-Language: 
                            zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6
                            zh-CN,zh;
q=0.9
                                q是权重,0~1之间,q值越大,越倾向于获取什么
这个表示的是语言
                        Cache-Control: 
缓存-控制
                            max-age=0
                            指定请求和响应需要遵循的缓存机制
                        Connection: 
                            keep-alive
指的是长链接
                                keep-close
指的是短链接
                            指定的是连接类型
                        Content-Length:4079
                            表示内容的长度,不是固定
                        Content-Type:
                            表示的是内容类型
表单数据
                        Cookie:
                             __yjs_duid=1_b248d3e0145d4f29778b2fba7042fb6c1631369742548; BD_UPN=12314753; BAIDUID=8F068B49705877B57C9EE3051BB692B5:FG=1; PSTM=1568208629; BIDUPSID=FF872A8507CE2FA1E3C3123044096102; sug=3; sugstore=0; ORIGIN=0; bdime=0; Hm_lvt_aec699bb6442ba076c8981c6dc490771=1647938854,1648038798,1648187287; BDSFRCVID_BFESS=bNDOJeC629kdkR6DhexUhw6cr28KvYQTH6aoS_FENobE-z6HS8QeEG0POU8g0Ku-cIibogKKKgOTHICF_2uxOjjg8UtVJeC6EG0Ptf8g0f5; H_BDCLCKID_SF_BFESS=tR4DoIPyJCP3qJomq4ojb-_3-qJKhC62aKDs3qrgBhcqEIL4etRfMpjBQM7-hpQ3bbc2QD_yW-QZVfbSj4Qo0p4zQtTy5fLLMJc7bKnl5l5nhMJO3j7JDMP0qfbAa4jy523iab3vQpnzEpQ3DRoWXPIqbN7P-p5Z5mAqKl0MLPbtbb0xb6_0-nDSHHLtqT0f3f; COOKIE_SESSION=335888_3_6_7_7_19_1_5_3_6_1_4_338918_134635_28_0_1648526210_1648173782_1648526182%7C9%23134586_27_1648173732%7C9; Hm_lvt_eaa57ca47dacb4ad4f5a257001a3457c=1648449074,1648454479,1648526171,1648527041; BDRCVFR[WwLNoMDhXED]=8N_uGwvwlQRIM7dPjm4ra4WUvY; BD_HOME=1; delPer=0; BD_CK_SAM=1; PSINO=5; BDRCVFR[iFiDuzDN71t]=8N_uGwvwlQRIM7dPjm4ra4WUvY; BDRCVFR[S4-dAuiWMmn]=BlyInHTwjS6fjmznjTvrjnsg1FxpA7E; H_PS_PSSID=35834_31253_36004_35912_36167_34584_36120_36075_35821_35994_35317_26350_35724_36094_36061; H_PS_645EC=41b24zgrdk7UcoF4Fmm%2BuyiJjNlfwKAt9Wk9Bqzkv3bwsf3DJUaCGfgQOHEWt4TCtw; BA_HECTOR=000k2k0k2k008ga47c1h47dlf0q; BDORZ=B490B5EBF6F3CD402E515D22BCDA1598; BAIDU_WISE_UID=wapp_1648604862330_192; ab_sr=1.0.1_ZjNiNzU5YWRlOWFhMzFlOTdhNzZhYzMzNDQzMzliOGU2YTMzZTVlNGU5YjE4MmRkNWU0MDE3MGE0NTM5YjgwNzg0YzdiMjg5ZWFjNThiOGYxZmI0MDAxMGQ1Y2FhYzEyZDQ1NmQwZjAyY2IxZDVlNDFjYjJiOGUzNjQ0MzUxZGM3ZTY1MzczOTc1OGY3MDg0MjE0MmFhNjA2MzJiMWRjMw==
                            请求是无状态的
                                人生只如初见
                                案例
                                    客户端:服务器,你今天的响应稍微有点慢,我想提个建议
                                    服务器:好的,我下次不给你传输图片了,因为图片是无压缩的
                                    客户端:不给我图片也太过分了,我就是为了图片才注册的
                                    服务器:什么图片?为什么不发
                            为了保存部分信息,不能涉及敏感信息
                        Host: www.baidu.com
                            主机号和端口
                        Origin:
                        Referer: http://z0qu30d.baiducom.vqu4698.com/
                            请求来源
                        sec-ch-ua: " Not A;Brand";v="99", "Chromium";v="99", "Microsoft Edge";v="99"
                        sec-ch-ua-mobile: ?0
                        sec-ch-ua-platform: "Windows"
                        Sec-Fetch-Dest: document
                        Sec-Fetch-Mode: navigate
                        Sec-Fetch-Site: cross-site
                        Sec-Fetch-User: ?1
                        Upgrade-Insecure-Requests: 1
                        User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.74 Safari/537.36 Edg/99.0.1150.55
                            浏览器内核
                    
                【响应】
                    【响应状态码】
                        【1xx】
                            信息提示,客户端请求已经被接收
                        【2xx】
                            200
                                表示的是响应成功
                        【3xx】
                            重定向
                        【4xx】
                            可能是客户端出现问题
                                可能前后端问题
                            401
                                身份验证相关
                            403
                                被禁止,一般是没有权限
                            404
                                路径问题,资源不存在
                        【5xx】
                            可能是服务器出现问题
                            500
                                无法对请求进行处理
                                一般是代码异常
                                    (代码写的垃圾)找后端问题
                            503
                                由于服务器维护或者过载
                        
                    【其他的响应头信息】
                        Bdpagetype: 1
                        Bdqid: 0xec9b473b006c8f4c
                        【Cache-Control】: private(public)
                            请求和响应遵循的缓存机制
                            public
                                指响应可以被任何缓存区缓存
                        【Connection】: keep-alive
                            连接类型
                        【Content-Encoding】: gzip
                            可以接收的编码方式
                        【Content-Type】: text/html;charset=utf-8
                            告知客户端,资源类型,html页面
                        【Date: Wed, 30 Mar 2022 02:40:53 GMT】
                            服务器发送资源的时间
                            GMT
                                标准时间
                        Expires: Wed, 30 Mar 2022 02:40:53 GMT
                        【Expires:0】
                            告诉客户端在当前时间之前可以访问缓存的副本
                        【Pragma:public】
                            控制缓存的
                        P3p: CP=" OTI DSP COR IVA OUR IND COM "
                        【Server: BWS/1.1】
                            服务器和对应的版本
                        Set-Cookie: BDRCVFR[iFiDuzDN71t]=8N_uGwvwlQRIM7dPjm4ra4WUvY; path=/; domain=.baidu.com
                        Set-Cookie: BDSVRTM=15; path=/
                        Set-Cookie: BD_HOME=1; path=/
                        Set-Cookie: H_PS_PSSID=31253_26350; path=/; domain=.baidu.com
                        Strict-Transport-Security: max-age=172800
                        Traceid: 1648608053062440653817049299133076901708
                        Transfer-Encoding: chunked
                        X-Frame-Options: sameorigin
                        X-Ua-Compatible: IE=Edge,chrome=1
    cookies测试
        【cookie】
            就是为了保存一些信息,这些信息要注意脱敏,会存储一些用户名,用户ID,停留信息等
        测试点
            cookie是否生效
            是否在预定时间内进行保存
            对关键信息是否加密
            禁用cookie
            编辑cookie
            删除cookie
            测试cookie的兼容性
            等
        cookie的位置问题
            IE
            火狐
            谷歌
    易用性测试
        明确用户
        图片
            图片的大小
            图片的显示
        辅助功能测试
            使用说明
            导航
            帮助
        考虑用户群体
            儿童
                少用文字,多用动画或者图片
            青少年
                图片和文字结合,以传授知识为主
            成年人
                时尚,5G冲浪,内容不能落后
            老年人
                字不能多,字体要大
        主题风格
            生鲜
                绿色
            商业
                稳重
            女生
                暖色
            等
    兼容性测试
        操作系统
            linux
            windows
            macOS
        浏览器
            火狐
            谷歌
            ie
            360
            猎豹
            星悦
            等
        插件
        分辨率
    安全性测试
        测试点
            认证和授权
                密码策略
                    长度
                    复杂度
                    密码加密之后进行存储
                越权
                    水平越权
                        同一权限下的
                    垂直越权
                        低权限不能向高权限,垮权限做事的
                    未登陆不能查看
                授权
                    只能由超级管理员来进行权限权利
                    权限要细致
                        比如
                            增删改查,需要细化
                            不同的模块,也要细化
                登陆
                    登陆失败的错误信息:用户名或者密码
                    连续失败多少次,禁止登陆
                    反爬措施
                        图片验证码/滑动验证码等
            文件上传
                文件类型
                不允许用户上传可执行程序或者代码
                    类似:有些病毒.exe结尾
                文件大小需要限制
                等
            缓存的问题
            SQL注入
            跨站攻击
            等
    工具使用
        
    浏览器
在地址栏输入:
www.baidu.com
        浏览器向DNS服务器发送请求,请求解析www.baidu.caom这个域名对应的IP地址--->
        <----DNS服务器将解析完成的IP地址返回给浏览器
        浏览器根据IP地址,进行请求资源---->
        <----服务器将需要的资源返回给浏览器
        DNS服务器
        服务器
    DNS服务器
        解析域名对应的IP地址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值