web測試

一、什么是web

在百科的詞條上如下解釋什么是web:

web(World Wide Web)即全球廣域網(wǎng),也稱為萬維網(wǎng),它是一種基于超文本和HTTP的、全球性的、動態(tài)交互的、跨平臺的分布式圖形信息系統(tǒng)。是建立在Internet上的一種網(wǎng)絡(luò)服務(wù),為瀏覽者在Internet上查找和瀏覽信息提供了圖形化的、易于訪問的直觀界面,其中的文檔及超級鏈接將Internet上的信息節(jié)點(diǎn)組織成一個互為關(guān)聯(lián)的網(wǎng)狀結(jié)構(gòu)
文本是用超鏈接的方法,將各種不同空間的文字信息組織在一起的網(wǎng)狀文本。超文本更是一種用戶界面范式,用以顯示文本及與文本之間相關(guān)的內(nèi)容百度
http :Hyper Text Transfer Protocol,超文本傳輸協(xié)議,所有的www文件都遵循這一原則,它是TCP/IP協(xié)議的一個應(yīng)用層協(xié)議,用于定義WEB瀏覽器與WEB服務(wù)器之間交換數(shù)據(jù)的過程??蛻舳诉B上web服務(wù)器后,若想獲得web服務(wù)器中的某個web資源,需遵守一定的通訊格式,HTTP協(xié)議用于定義客戶端與web服務(wù)器通迅的格式。

我們習(xí)慣性的把電腦端根據(jù)架構(gòu)方式不同,簡單分為 B/S 架構(gòu)和 C/S 架構(gòu) ,而訪問web網(wǎng)頁就是 B/S 架構(gòu),需要瀏覽器browser瀏覽器、server服務(wù)器、DB數(shù)據(jù)庫,才能夠訪問到web網(wǎng)頁。
web網(wǎng)頁可分為靜態(tài)網(wǎng)頁和動態(tài)網(wǎng)頁。靜態(tài)網(wǎng)頁一般一html和htm結(jié)尾,有如下特點(diǎn):

  • 和服務(wù)器沒有數(shù)據(jù)交互,不會因?yàn)橛脩舻母淖兌淖儯踩?,理論上沒有攻擊漏洞
  • 每次修改更新網(wǎng)頁都需要修改服務(wù)器上html文件
  • 靜態(tài)網(wǎng)頁除了包含文本外還包括動畫、聲音、Flash文件、滾動字幕等效果

動態(tài)網(wǎng)頁有一個標(biāo)志性符號 ? 后面跟要傳遞的參數(shù),有如下特點(diǎn):

  • 網(wǎng)頁數(shù)據(jù)可以和服務(wù)器進(jìn)行數(shù)據(jù)交互,會因用戶的不同而發(fā)生改變
  • 網(wǎng)站的更新在后臺就可以完成,但是不安全,容易被攻擊
  • 動態(tài)網(wǎng)頁是html語言與 java、vb 、vc 相融合,從而通過改變數(shù)據(jù)庫和環(huán)境的改變而改變

二、常見web架構(gòu)組合

web server 可以解析動態(tài)網(wǎng)頁,現(xiàn)在網(wǎng)站基本是由靜態(tài)與動態(tài)相結(jié)合的網(wǎng)頁;解析http請求,并對相應(yīng)的數(shù)據(jù)進(jìn)行解析反饋給瀏覽器;還可以進(jìn)行項(xiàng)目的管理,因?yàn)轫?xiàng)目都會放在服務(wù)器的目錄下。常見的關(guān)系型數(shù)據(jù)庫有 MySQL 、Oracle 、SQLServer等
根據(jù)web server 與database之間的搭配根據(jù)網(wǎng)站語言的不同而不同,常見搭配如下:

  • php 頁面使用 Apache 服務(wù)器或 Tomcat 服務(wù)器進(jìn)行解析和托管項(xiàng)目
  • asp 頁面使用微軟系統(tǒng)的 iis 服務(wù)器進(jìn)行解析和托管項(xiàng)目
  • javascript 頁面使用 Tomcat服務(wù)器或者 jboss 服務(wù)器進(jìn)行項(xiàng)目托管和解析

三、瀏覽器的工作原理

上面解釋了web所需要的 web server 和database ,下面介紹與用戶看的見的瀏覽器browser,常見的瀏覽器有微軟的 IE (內(nèi)核是 trident)、谷歌的 Chrome (內(nèi)核是webkit)、蘋果的 safari (內(nèi)核是webkit),火狐瀏覽器 FireFox (內(nèi)核是gecko)、歐朋瀏覽器 Opera(內(nèi)核是presto)。
瀏覽器主要由用戶接口、瀏覽器引擎、渲染引擎、網(wǎng)絡(luò)、js解釋器、ui 后端、數(shù)據(jù)庫構(gòu)成,下面以** 百度搜索瀏覽器為例** 說明瀏覽器的工作原理:

  • 用戶訪問百度網(wǎng)頁,發(fā)送搜索瀏覽器請求到服務(wù)器
  • 服務(wù)器對請求進(jìn)行解析,并將結(jié)果發(fā)送給數(shù)據(jù)庫
  • 數(shù)據(jù)庫接收并處理請求,并得到結(jié)果,將結(jié)果反饋給服務(wù)器
  • 服務(wù)器接收結(jié)果反饋,對結(jié)果反饋進(jìn)行解析,并生成html文件,放入http 響應(yīng) response中,返回瀏覽器
  • 瀏覽器解析http response,并創(chuàng)建 DOM 樹
  • 瀏覽器下載 css 樣式,對 DOM 樹進(jìn)行渲染
  • 瀏覽器下載js,并執(zhí)行js程序
  • 瀏覽器顯示響應(yīng)內(nèi)容,用戶看到搜索數(shù)據(jù)
網(wǎng)頁加載

四、DNS 解析

訪問互聯(lián)網(wǎng)網(wǎng)站,比如訪問百度,我們只需要輸入 http://www.baidu.com 我們就可以訪問到百度,為什么我們不需要輸入他的路徑呢?這就是 DNS 的功勞,下面是百度百科的解釋:

DNS(Domain Name System,域名系統(tǒng)),因特網(wǎng)上作為域名和IP地址相互映射的一個分布式數(shù)據(jù)庫,能夠使用戶更方便的訪問互聯(lián)網(wǎng),而不用去記住能夠被機(jī)器直接讀取的IP數(shù)串。通過主機(jī)名,最終得到該主機(jī)名對應(yīng)的IP地址的過程叫做域名解析(或主機(jī)名解析)

DNS 的工作過程:

  • 操作系統(tǒng)先檢查本地的 hosts 文件是否有這個網(wǎng)址的映射關(guān)系,如果有,則調(diào)用這個IP地址映射,完成解析(hosts文件位置-->C:\Windows\System\drivers\etc\hosts)
  • 如果hosts文件沒有此映射,則將該請求發(fā)送到本地域名服務(wù)器
  • 如果本地沒有此映射,則該請求發(fā)送到根域名服務(wù)器(13個根域名服務(wù)器--美國國防部(主根域名)---輔根域名12(美國9、日本1、英國1、瑞典1))
  • 根域名服務(wù)器將數(shù)據(jù)返回給本地域名服務(wù)器,本地域名服務(wù)器將此映射保存到緩存,以備下次使用;本地域名服務(wù)器將結(jié)果返回

五、OSI七層模型

OSI七層模型全稱是open system interconnection,開發(fā)系統(tǒng)互聯(lián)模型,OSI采用了分層的結(jié)構(gòu)化技術(shù),共分七層,物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層、會話層、表示層、應(yīng)用層。例如發(fā)郵件,這之間的模型的轉(zhuǎn)換過程,從上到下:

  • 應(yīng)用層:寫信
  • 表示層:把心的內(nèi)容進(jìn)行加密
  • 傳輸層:使用TCP協(xié)議提供可靠傳輸
  • 網(wǎng)絡(luò)層:按照不同的地址進(jìn)行分析傳輸
  • 鏈路層:打包
  • 物理層:使用光纖或者無線信道傳輸

寫郵件的模型轉(zhuǎn)換過程,從下到上:

  • 物理層:使用光纖或者無線信道把數(shù)據(jù)傳輸過來
  • 鏈路層:拆包
  • 網(wǎng)絡(luò)層:確定收信地址
  • 傳輸層:使用TCP協(xié)議傳輸信件
  • 會話層:不同的用戶使用不同的郵箱收取信件
  • 表示層:解密操作
  • 應(yīng)用層:查看信件

六、TCP/IP協(xié)議

TCP transmission control protocol 傳輸控制協(xié)議,IP,網(wǎng)絡(luò)互聯(lián)協(xié)議,internet protocol ,百度百科的解釋:

TCP/IP是一組用于實(shí)現(xiàn)網(wǎng)絡(luò)互連的通信協(xié)議。Internet網(wǎng)絡(luò)體系結(jié)構(gòu)以TCP/IP為核心?;赥CP/IP的參考模型將協(xié)議分成四個層次,它們分別是:網(wǎng)絡(luò)訪問層、網(wǎng)際互聯(lián)層、傳輸層(主機(jī)到主機(jī))、和應(yīng)用層。

主機(jī)A和主機(jī)B產(chǎn)生傳輸可概括為三次握手的過程:
第一次握手:主機(jī)A發(fā)送SYN=1,隨機(jī)產(chǎn)生一個隨機(jī)編碼SEQNUM=12345
第二次握手:主機(jī)B收到請求后,向A發(fā)送SYN=1,ACK=1,確認(rèn)編碼acknum=12346,同時發(fā)送一個隨機(jī)編碼seqnum=54321
第三次握手:主機(jī)A收到后確認(rèn)acknum=12346和ack=1正確,然后再向主機(jī)B發(fā)送ack=1,acknum=54322
完成了三次握手,主機(jī)A和主機(jī)B開始傳送數(shù)據(jù)

七、HTTP協(xié)議

HTTP協(xié)議是超文本傳輸協(xié)議,是基于請求和響應(yīng)模式的無狀態(tài)、無連接、應(yīng)用層的協(xié)議;無狀態(tài)是指同一個客戶不管幾次訪問同一個服務(wù)器的頁面,服務(wù)器的響應(yīng)時間和第一次訪問時相同,無連接是指每次連接只能處理一次請求。
http協(xié)議的URI格式 http://host[:port]/[abs_path]
http協(xié)議 主機(jī)名/IP地址 端口號(默認(rèn)80) 請求的資源
http協(xié)議由請求和響應(yīng)組成
請求:三部分構(gòu)成

  • 請求行:method request-uri http-version
    請求方法 請求的資源 http版本
    請求方法有g(shù)et、post等,常用這兩種方法
  • 消息報頭 也稱為請求報頭,一般以Accept開頭
  • 請求正文,請求的具體內(nèi)容
    響應(yīng):三部分構(gòu)成
    狀態(tài)行:格式為 http-version status-code reason-prase
    http版本 狀態(tài)碼 狀態(tài)碼的描述
  • 消息報頭
  • 響應(yīng)正文

八、web測試分析

1、界面測試

  • 圖形測試:整體界面風(fēng)格是否一致;驗(yàn)證文字的正確性,文字的環(huán)繞正確性;鼠標(biāo)移到有特效的部位,出現(xiàn)特效,移開鼠標(biāo)特效消失;輪播圖片,將鼠標(biāo)一致上方,滾動停止
  • 導(dǎo)航測試:導(dǎo)航放在顯眼位置;導(dǎo)航分類是否正確,是否可以直觀了解整個頁面內(nèi)容
  • 內(nèi)容測試:文本描述信息是否正確;所有標(biāo)題是否正確;鼠標(biāo)標(biāo)題智商,提示信息是否正確
  • 表格測試:表格是否直觀;表格里的文字是否正確
    2、功能測試
  • 鏈接測試 :主要是測試鏈接中是否包含死鏈接,鏈接可分為首頁鏈接、標(biāo)題鏈接、資訊鏈接、圖片鏈接,可使用工具xenu檢查死鏈接
    -獨(dú)立功能測試:針對獨(dú)立功能進(jìn)行測試分析
  • 數(shù)據(jù)庫測試:功能和頁面初始化數(shù)據(jù)都要與數(shù)據(jù)庫進(jìn)行比對檢驗(yàn)
  • 緩存儲測試F5刷新,Ctrl+F5強(qiáng)制刷新直接從服務(wù)器獲取數(shù)據(jù),緩存可查看還有緩存保存天數(shù)的限制,可針對性設(shè)計(jì)測試用例
  • 兼容性測試:不同的瀏覽器,相同流量拿起的不同版本進(jìn)行測試
  • 安全性測試:詳細(xì)見cookie和seeion的區(qū)別
    -性能測試:響應(yīng)時間,頁面的加載速度,還有資源利用CPU、內(nèi)存、網(wǎng)絡(luò)、硬盤等
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容