最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

軟件測試 | 什么是Web應(yīng)用

2023-08-10 17:54 作者:測吧測試開發(fā)  | 我要投稿

Web應(yīng)用具有各種各樣的形式和規(guī)模。它們用各種語言編寫,運行在各個操作系統(tǒng)上,以各種方式運行。每種Web應(yīng)用的核心在于,它的所有功能都是使用HTTP進(jìn)行通信的,而它的結(jié)果通常采用HTML格式。輸入是使用GET,POST及類似方法進(jìn)行通信的。下面我們將依次討論這幾點。

我們對Web應(yīng)用的定義僅僅是一切使用HTTP進(jìn)行通信的軟件。這個定義可能聽起來很寬泛,事實也確實如此。我們在這本書中像你演示的技術(shù)適用于一切基于HTTP的技術(shù)。注意,只提供靜態(tài)網(wǎng)頁的Web服務(wù)器不在我們的討論范圍之中,因為在這種情況下并不存在軟件。如果你訪問同一URL,會看到完全相同的輸出,而并沒有軟件根據(jù)請求而執(zhí)行。要成為Web應(yīng)用,必須執(zhí)行某種類型的業(yè)務(wù)邏輯(腳本、程序、宏等等),輸出中必須存在某種可能的變化,必須做出一些判斷,否則,我們實際上并不是在測試軟件。

有幾種其他類型的軟件符合“Web應(yīng)用”的這個描述,但我們這里只簡要提及。一般性的Web服務(wù),以及在面向服務(wù)架構(gòu)(SOA)中使用這些服務(wù)的主架構(gòu),在本書中將只簡要提及。它們很重要,但卻是一大類應(yīng)用,需要由專門的書來論述。還有一些建立在HTTP基礎(chǔ)上的專門的企業(yè)對企業(yè)(B2B)和電子數(shù)據(jù)交換(EDI)標(biāo)準(zhǔn),我們也不會涉及這個領(lǐng)域??梢赃@樣說,這本書中的技術(shù)也是測試這些應(yīng)用的根本基礎(chǔ),但是理解問題域(B2B、SOA、EDI)的安全測試比一般的Web安全測試要有用得多。

術(shù)語

為了便于理解,這里給出若干將會用到的術(shù)語定義。我們盡量保持與業(yè)界認(rèn)可的標(biāo)準(zhǔn)一致。

服務(wù)器

監(jiān)聽HTTP連接的計算機(jī)系統(tǒng)。這種系統(tǒng)上通常運行著服務(wù)器軟件(比如Apache或微軟的IIS)來處理這些連接。

客戶端

建立到服務(wù)器的連接,請求數(shù)據(jù)的計算機(jī)或軟件??蛻舳塑浖畛R姷氖蔷W(wǎng)頁瀏覽器,但是還有大量其他軟件也會發(fā)送請求。例如,Adobe的Flash播放器可以產(chǎn)生HTTP請求,同樣還有Java應(yīng)用程序,Adobe的PDF閱讀器以及大多數(shù)軟件。如果你曾經(jīng)在運行某種程序時看到像“本軟件有新版本”這樣的消息,那么這通常意味著該軟件將HTTP請求發(fā)送到某處的服務(wù)器以確定是否有新版本。在考慮測試,重要的是要記住,網(wǎng)頁瀏覽器只不過是能夠產(chǎn)生Web請求的眾多程序中的一種。

請求

請求封裝了客戶端想知道的內(nèi)容。請求由幾個部分組成,全部定義如下:URL、參數(shù)以及頭信息形式的元數(shù)據(jù)。

URL

統(tǒng)一資源定位符(URL)是一種特殊類型的統(tǒng)一資源標(biāo)識符(URI)。它指出我們試圖通過HTTP進(jìn)行操作的內(nèi)容的位置。URL由一種協(xié)議組成(出于我們的目的,我們僅考慮http和https)。協(xié)議之后緊跟著標(biāo)準(zhǔn)記號(://),將協(xié)議與地質(zhì)其余部分分隔開來。接著是可選的用戶ID,可選的冒號以及可選的密碼,然后是要連接的服務(wù)器的名稱。服務(wù)器名稱之后時資源在這臺服務(wù)器上的路徑。資源有可選的參數(shù)。最后,可能會使用“#”字符來引用內(nèi)部段落或頁面主題內(nèi)部的錨記。例1-1顯示了一個完整的URL,它使用了所有可能存在的選項。

例1-1:使用了全部可選字段的基本URL

http://fred:wilma@www.example.com/private.sap?doc=3&part=4#footer

例1-1帶有用戶ID fred,其密碼是傳遞給http://www.example.com服務(wù)器的wilma。它請求服務(wù)器提供資源/private。asp,傳遞了一個取值為3的doc參數(shù)和一個取值為4的part參數(shù),接著引用了稱作footer的內(nèi)部錨記或段落。

參數(shù)

參數(shù)是鍵-值對,鍵和取值之間以等號(=)連接。URL中可以有許多參數(shù),以“&”分隔。參數(shù)可以同例1-1中那樣放在URL中傳遞,也可以放在請求主體中,稍后詳述。

方法

向服務(wù)器發(fā)出的每個請求都需要采用某種方法。到目前為止,最常見的兩種方式是GET和Post。當(dāng)你在網(wǎng)頁瀏覽器中輸入URL并按Enter鍵,或者在你單擊鏈接時,你都在發(fā)出GET請求。當(dāng)你單擊表單上的按鈕,或者進(jìn)行圖像上傳等較復(fù)雜的操作時,大部分情況下都會產(chǎn)生POST請求。其他的方法(例如,PROPFIND、OPTIONS、PUT、DELETE)都主要用在被稱為分布式創(chuàng)作和版本控制(DAV)的協(xié)議中。我們較少談到這部分內(nèi)容。

HTTP基礎(chǔ)

HTTP使用客戶端/服務(wù)器結(jié)構(gòu)

正如我們在術(shù)語部分明確指出的,客戶端發(fā)出請求,而服務(wù)器做出響應(yīng),不存在任何其他方式。服務(wù)器不可能做出“那邊的計算機(jī)需要一些數(shù)據(jù),我來連接它并向它發(fā)送數(shù)據(jù)”這樣的決定。任何時候,如果你發(fā)現(xiàn)軟件行為看似是服務(wù)器突然向你顯示一些信息(而你并沒有單擊它或者明確地發(fā)出請求),這通常是應(yīng)用開發(fā)人員的一點小把戲。網(wǎng)頁瀏覽器和Flash Applet這樣的客戶端可以進(jìn)行編程來輪詢服務(wù)器,不時地或在特定時間發(fā)出定期請求。對測試人員而言,這意味著你可以將測試重點幾種在系統(tǒng)的客戶端 —— 仿效客戶端的行為并對服務(wù)器的響應(yīng)進(jìn)行評估。

HTTP是無狀態(tài)的

HTTP協(xié)議本身不包含任何“狀態(tài)”的概念。換句話說,一個連接與任何其他連接之間不存在任何關(guān)系。假設(shè)微盤現(xiàn)在單擊一個鏈接,10min之后(甚至是1s之后)我單擊了另一個鏈接,服務(wù)器完全不知道是同一個人發(fā)出了這兩個請求。應(yīng)用費很大勁才能確定誰在做什么。重要的是,你要知道,是應(yīng)用本身在管理會話并確定連接之間的關(guān)聯(lián)。HTTP并不能確定這種關(guān)聯(lián)。

那么我的IP地址呢?難道IP地址不能唯一地標(biāo)記我并使服務(wù)器斷定來自我的IP地址的所有連接都必須關(guān)聯(lián)起來嗎?答案是絕對不行??紤]許多擁有數(shù)臺計算機(jī)、但是有一條Internet連接(比如寬帶連接或DSL)的家庭,這種連接只能獲取一個IP地址,而該網(wǎng)絡(luò)上的某臺設(shè)備(某種類型的路由器)使用稱作網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)的技術(shù)來隱藏有多少臺計算機(jī)在使用相同IP地址這一信息。

那么Cookie呢?它們會跟蹤會話和狀態(tài)嗎?是的,大多數(shù)情況下會跟蹤。事實上,由于Cookie如此頻繁地被用于跟蹤會話和狀態(tài)信息,所以它們成為許多測試的焦點。正如你講在第11章中看到的,沒呢正確地跟蹤會話和狀態(tài)是許多安全問題的根本起因。

HTTP使用簡單文本

我們可以查看通過電纜(或無線)傳送的真實消息并全面了解正在發(fā)生的事情。HTTP很容易捕獲,而且它非常易于被人解釋和理解。更重要的是,因為它如此簡單,所以HTTP請求非常容易偽造。不管該應(yīng)用是網(wǎng)頁瀏覽器、Flash播放器、PDF閱讀器還是別的程序,我們都可以使用任何自己中意的客戶端來模擬這些請求。事實上,這本書最終可以歸結(jié)為以非傳統(tǒng)的方式(使用測試插件)來使用非傳統(tǒng)的客戶端(測試工具)或傳統(tǒng)客戶端(網(wǎng)頁瀏覽器)。


軟件測試 | 什么是Web應(yīng)用的評論 (共 條)

分享到微博請遵守國家法律
开江县| 疏勒县| 互助| 屯门区| 昭通市| 博乐市| 南雄市| 宣城市| 舒兰市| 高邑县| 左贡县| 新宁县| 镇远县| 新巴尔虎左旗| 蓬安县| 大英县| 安多县| 安陆市| 个旧市| 平湖市| 盐池县| 青阳县| 江华| 乌兰察布市| 鲁山县| 泸水县| 当涂县| 湛江市| 延吉市| 东至县| 澄江县| 莱阳市| 乐东| 光泽县| 东乌珠穆沁旗| 贵定县| 阿坝| 酒泉市| 益阳市| 鄂温| 郎溪县|