Web 測(cè)試教程:包含優(yōu)秀實(shí)踐的綜合指南
Web 測(cè)試需要驗(yàn)證網(wǎng)站以確保其正常工作并實(shí)現(xiàn)其目的。這些活動(dòng)可以包括檢查網(wǎng)站上的所有鏈接是否有效,以及網(wǎng)站是否與不同的瀏覽器、設(shè)備和操作系統(tǒng)兼容。測(cè)試網(wǎng)站還可以確保其安全并免受攻擊。
在這個(gè)技術(shù)互聯(lián)的世界中,網(wǎng)站無處不在。從坐在家里支付賬單或購買您長期以來想要的物品,我們都需要一個(gè)網(wǎng)站。甚至在登陸這些網(wǎng)站之前,我們都會(huì)在搜索引擎上搜索我們的查詢,比如谷歌,這是一個(gè)網(wǎng)站。
對(duì)于用戶而言,網(wǎng)站在他們的日常生活中扮演著不可或缺的角色。作為開發(fā)人員和測(cè)試人員,這直接轉(zhuǎn)化為維持業(yè)務(wù)并讓用戶參與我們的網(wǎng)站,我們需要確保用戶端沒有任何問題。實(shí)現(xiàn)這一目標(biāo)的唯一方法是通過有效的 Web 測(cè)試,包括使用適當(dāng)?shù)姆椒ê图夹g(shù)并了解這樣做的原因。
什么是網(wǎng)絡(luò)測(cè)試?
Web 測(cè)試過程可以概括為一句話“Web 測(cè)試是測(cè)試 Web 應(yīng)用程序的過程”。然而,這個(gè)陳述過于龐大而難以理解,而且對(duì)于測(cè)試人員來說太混亂了,無法開始這個(gè)過程。我們知道我們想要測(cè)試網(wǎng)絡(luò)應(yīng)用程序,但“測(cè)試”它意味著什么?
作為測(cè)試人員,您已通過驗(yàn)證功能、應(yīng)用程序的 UI、UX 和響應(yīng)能力來完成網(wǎng)站測(cè)試。這些似乎是網(wǎng)絡(luò)的四大支柱。一切看起來都很好,代碼被推送到生產(chǎn)環(huán)境,并最終推送給所有用戶。
然后,幾天后,您收到有人滲透該網(wǎng)站并竊取用戶數(shù)據(jù)的消息。這是一個(gè)嚴(yán)重的問題,可能會(huì)導(dǎo)致整個(gè)業(yè)務(wù)崩潰。那么,這是測(cè)試團(tuán)隊(duì)的責(zé)任嗎?這應(yīng)該是網(wǎng)絡(luò)測(cè)試的一部分嗎?是的!
任何圍繞 web 應(yīng)用程序的東西都適合放在 web 測(cè)試的圈子里。這包括 Web 應(yīng)用程序的安全性、有助于通信的 API、測(cè)試性能指標(biāo)、負(fù)載指標(biāo)等。即使在單個(gè)瀏覽器上一切正常,測(cè)試人員也必須在每個(gè)目標(biāo)瀏覽器上檢查相同的標(biāo)志。
為什么 Web 測(cè)試很重要?
我們?cè)谏弦还?jié)中與安全相關(guān)的風(fēng)險(xiǎn)的小例子很好地證明了 Web 測(cè)試的重要性。但是,在真正的威脅發(fā)生之前,例如入侵網(wǎng)站,用戶通常不會(huì)意識(shí)到這些情況。跳過這些區(qū)域,當(dāng)我們討論清晰可見的區(qū)域時(shí),比如用戶界面,測(cè)試網(wǎng)站和非測(cè)試網(wǎng)站的效果在用戶面前一目了然。
讓我們舉三個(gè)簡(jiǎn)單但“昂貴”的例子來演示網(wǎng)絡(luò)測(cè)試對(duì)用戶的影響。
案例一:GFK(Growth From Knowledge)
第一個(gè)例子是圍繞“購買”CTA 按鈕,您可能一直注意到該按鈕將產(chǎn)品放在下方(或側(cè)面,具體取決于設(shè)備)。它會(huì)將您帶到結(jié)帳頁面,您可以在其中完成其他任務(wù),例如付款。
作為用戶或測(cè)試人員,您認(rèn)為設(shè)計(jì)不當(dāng)且用戶難以點(diǎn)擊的“購買”按鈕的成本是多少?還是有時(shí)甚至不引人注意的?
GFK 是一家不得不花費(fèi)大量資金進(jìn)行用戶體驗(yàn)研究的組織,因?yàn)樗麄兿胫冷N售不佳的原因。正如您可能已經(jīng)猜到的那樣,這是一個(gè)“購買”按鈕,但位置不正確并且用戶沒有注意到。他們通過將此按鈕放置在更多位置并優(yōu)化其代碼以使其流暢來對(duì)其進(jìn)行更改。結(jié)果,他們的年銷售額高達(dá) 5 億美元。
案例二:微軟
從用戶體驗(yàn)出發(fā),我們現(xiàn)在舉一個(gè)用戶界面的例子。十年前,微軟在他們專注于 Bing 的演講中說,“搜索可以不僅僅是十個(gè)藍(lán)色鏈接。”
具有諷刺意味的是,“藍(lán)色”部分是微軟對(duì)其搜索結(jié)果進(jìn)行測(cè)試時(shí)的主要問題之一。據(jù)透露,正如 Paul Ray(Bing 的用戶體驗(yàn)經(jīng)理)早些時(shí)候所說,藍(lán)色有點(diǎn)淺,“缺乏自信”。他們將其更改為 #0044CC,結(jié)果,他們的廣告收入躍升至額外的 8000 萬美元,告訴全世界單一顏色的重要性。
案例三:亞馬遜
我們舉的最后一個(gè)例子是網(wǎng)絡(luò)性能,它是網(wǎng)絡(luò)測(cè)試的一個(gè)組成部分。早在 2009 年,電子商務(wù)巨頭亞馬遜就曾直言不諱地忽視其網(wǎng)站的性能。他們透露,每 100 毫秒的延遲會(huì)使他們損失 1% 的銷售額。如果我們將此調(diào)整為亞馬遜 2014 年的收入,1% 的銷售額將超過 8 億美元。
Tabb Group 在他們題為“毫秒的價(jià)值:尋找交易基礎(chǔ)設(shè)施的最佳速度”的優(yōu)秀研究論文中發(fā)表了類似的發(fā)現(xiàn)。專注于電子交易基礎(chǔ)設(shè)施的研究表明,如果平臺(tái)僅比競(jìng)爭(zhēng)對(duì)手落后 5 毫秒,經(jīng)紀(jì)商面臨的損失可能高達(dá)每毫秒 400 萬美元(是的,一秒的千分之一)。?
這三個(gè)示例探索了 web 測(cè)試的三個(gè)主要領(lǐng)域,作為測(cè)試人員或用戶,這些領(lǐng)域?qū)ξ覀儊碚f可能看起來并不那么重要。它們展示了 Web 測(cè)試的重要性以及我們需要如何覆蓋它周圍的每個(gè)區(qū)域,因?yàn)槲覀兛赡苡肋h(yuǎn)不知道哪個(gè)區(qū)域會(huì)反擊,從而導(dǎo)致高額收入損失。
Web 測(cè)試生命周期
Web 測(cè)試生命周期類似于軟件測(cè)試生命周期,這是合乎邏輯的,因?yàn)樗鼈兪峭贿^程的一部分。
清單準(zhǔn)備
我們?cè)?Web 應(yīng)用程序測(cè)試中考慮的第一件事是根據(jù) Web 應(yīng)用程序標(biāo)準(zhǔn)創(chuàng)建清單。UI 測(cè)試、跨瀏覽器測(cè)試等。這是用于測(cè)試 Web 應(yīng)用程序的通用清單。測(cè)試人員也可以從以前的項(xiàng)目中采用它。
需求收集
在安排了 Web 應(yīng)用程序的通用和通用事物之后,我們專注于收集通常特定于項(xiàng)目的需求。這可能包括從客戶收集的功能或某些特定要求。一個(gè)好的做法是將它們安排成邏輯集群,以后可以將它們組合成一個(gè)套件。
測(cè)試計(jì)劃與設(shè)計(jì)
現(xiàn)在,我們繼續(xù)計(jì)劃和安排這些測(cè)試以有效地執(zhí)行測(cè)試階段。在這里,我們創(chuàng)建了一個(gè)測(cè)試計(jì)劃、測(cè)試計(jì)劃文檔和測(cè)試設(shè)計(jì),以及它的文檔以供后續(xù)階段使用。
測(cè)試執(zhí)行技術(shù)
接下來,我們制定測(cè)試執(zhí)行計(jì)劃,以及特定于項(xiàng)目、團(tuán)隊(duì)或組織的測(cè)試執(zhí)行技術(shù)。
測(cè)試執(zhí)行
在這個(gè)階段,我們利用我們?cè)谠缙陔A段所做的所有計(jì)劃來執(zhí)行實(shí)際的測(cè)試執(zhí)行。
報(bào)告
最后,我們對(duì)所有觀察結(jié)果和測(cè)試用例結(jié)果進(jìn)行詳細(xì)報(bào)告,以便與團(tuán)隊(duì)共享、進(jìn)一步分析或未來。
Web 應(yīng)用程序的類型及其測(cè)試點(diǎn)
由于高人氣和需求,Web 應(yīng)用程序領(lǐng)域變得廣闊。因此,有時(shí)我們會(huì)用其他名稱來指代特定類型的網(wǎng)絡(luò)應(yīng)用程序,這些名稱表示更大圖片的特定子域。例如,如果您在一個(gè)自動(dòng)刷新的網(wǎng)站上觀看現(xiàn)場(chǎng)比分,它就變成了一個(gè)動(dòng)態(tài)網(wǎng)站。如果網(wǎng)站在線銷售商品,它就會(huì)成為電子商務(wù)網(wǎng)站,依此類推。
如果我們查看這些小的子域,我們可能會(huì)得到一長串 Web 應(yīng)用程序類型。實(shí)際上,我們只考慮四個(gè)大部門,并且只關(guān)注這些部門。
1. 靜態(tài)網(wǎng)絡(luò)應(yīng)用
靜態(tài) Web 應(yīng)用程序僅包含靜態(tài)網(wǎng)頁。這些頁面本質(zhì)上是靜態(tài)的(或固定的)并從服務(wù)器呈現(xiàn)給用戶,即所有用戶將看到相同的內(nèi)容。靜態(tài) Web 應(yīng)用程序的一個(gè)示例是顯示您的簡(jiǎn)歷的簡(jiǎn)歷網(wǎng)站。
當(dāng)性能和速度是主要關(guān)注點(diǎn)時(shí),最好使用靜態(tài) Web 應(yīng)用程序。由于不是根據(jù)用戶輸入制作,不涉及數(shù)據(jù)庫查詢,所以可以直接快速展示。它們也很可靠,因?yàn)槟鸁o需擔(dān)心異常用戶輸入產(chǎn)生的不良行為。然而,不利的一面是,靜態(tài)網(wǎng)頁并不能為用戶提供太多東西。
在靜態(tài) Web 應(yīng)用程序中測(cè)試什么
由于靜態(tài) Web 應(yīng)用程序很簡(jiǎn)單,因此不需要復(fù)雜的測(cè)試機(jī)制。主要關(guān)注領(lǐng)域是用戶界面測(cè)試和響應(yīng)測(cè)試。
2. 動(dòng)態(tài)網(wǎng)絡(luò)應(yīng)用
動(dòng)態(tài) Web 應(yīng)用程序與靜態(tài) Web 應(yīng)用程序相反。這里,網(wǎng)頁上的內(nèi)容可能會(huì)根據(jù)用戶的輸入或交互而改變。動(dòng)態(tài) Web 應(yīng)用程序具有編寫邏輯代碼的后端系統(tǒng)。當(dāng)用戶提供輸入時(shí),邏輯在后端運(yùn)行,并將結(jié)果相應(yīng)地發(fā)送到客戶端。
例如,Netflix 是一個(gè)動(dòng)態(tài)網(wǎng)站,您和我會(huì)根據(jù)我們與它的互動(dòng)行為看到不同的推薦。
在動(dòng)態(tài) Web 應(yīng)用程序中測(cè)試什么
動(dòng)態(tài) Web 應(yīng)用程序可以像定期更新板球評(píng)論一樣簡(jiǎn)單,也可以像 Netflix 一樣復(fù)雜,具有數(shù)百個(gè)微服務(wù)和機(jī)器學(xué)習(xí)與 AI 集成。
它們還可能包含帶有每個(gè)用戶特定頁面的登錄模塊。所有這些都需要對(duì) Web 測(cè)試和復(fù)雜技術(shù)有深刻的理解。例如,功能測(cè)試和可用性測(cè)試,僅舉幾例。由于涉及個(gè)人數(shù)據(jù),此處可能還需要進(jìn)行安全和API 測(cè)試。
3.電子商務(wù)網(wǎng)絡(luò)應(yīng)用
當(dāng)今最流行的 Web 應(yīng)用程序,尤其是在后 COVID 世界中,是電子商務(wù)。這些 web 應(yīng)用程序?qū)W⒂趯⑸唐蜂N售到買家的位置,例如付款、用戶數(shù)據(jù)等。
在動(dòng)態(tài) Web 應(yīng)用程序中測(cè)試什么
電子商務(wù) Web 應(yīng)用程序是動(dòng)態(tài)應(yīng)用程序的一部分,但單獨(dú)涉及它的原因是它要經(jīng)過大量的研究和審查。根據(jù)eCommerceDB 的數(shù)據(jù),2021 年美國電子商務(wù)市場(chǎng)產(chǎn)生了 8620 億美元的收入。這意味著即使是 CTA 按鈕的顏色也至關(guān)重要,因?yàn)樗梢杂绊憯?shù)百萬美元。因此,在電子商務(wù)測(cè)試方面,我們必須保留所有測(cè)試方法。
主要的測(cè)試方法包括安全測(cè)試、功能測(cè)試、用戶界面測(cè)試和性能測(cè)試,僅舉幾例。
4. 移動(dòng)網(wǎng)絡(luò)應(yīng)用
另一個(gè)主要的 Web 應(yīng)用程序部分是移動(dòng) Web 應(yīng)用程序,它是在移動(dòng)設(shè)備上查看的 Web 應(yīng)用程序。早些時(shí)候,只需重新縮放網(wǎng)頁就足夠了。但現(xiàn)在,根據(jù)Statista 的數(shù)據(jù),移動(dòng)用戶將占網(wǎng)站訪問者總數(shù)的 60%,這使得移動(dòng)優(yōu)先設(shè)計(jì)成為當(dāng)務(wù)之急。
上圖顯示了 LT 瀏覽器中顯示的移動(dòng)網(wǎng)站和桌面網(wǎng)站之間的區(qū)別。它是 LambdaTest 平臺(tái)的一款適合移動(dòng)設(shè)備的測(cè)試工具,可讓您跨 53 種以上的預(yù)裝設(shè)備視口測(cè)試網(wǎng)站的響應(yīng)能力,適用于移動(dòng)設(shè)備、平板電腦、臺(tái)式機(jī)和筆記本電腦。
一個(gè)適合移動(dòng)設(shè)備的網(wǎng)站需要快速、輕松地導(dǎo)航,并具有出色的用戶體驗(yàn)和界面,即使這意味著為移動(dòng)用戶開發(fā)一個(gè)單獨(dú)的網(wǎng)站。
在移動(dòng) Web 應(yīng)用程序中測(cè)試什么
雖然每種類型的測(cè)試對(duì)于移動(dòng) Web 測(cè)試都是必要的,但測(cè)試人員需要在這里優(yōu)先考慮響應(yīng)式和跨瀏覽器測(cè)試。由于移動(dòng)設(shè)備數(shù)量眾多,我們無法針對(duì)每個(gè)設(shè)備開發(fā)特定的頁面。
這就是響應(yīng)式測(cè)試通過根據(jù)視口自動(dòng)工作并確保無論用戶使用什么設(shè)備,體驗(yàn)都將與桌面用戶保持一致,從而使事情變得更容易的地方。
Web 測(cè)試的要素
當(dāng)我們著手測(cè)試 Web 應(yīng)用程序時(shí),我們通常會(huì)考慮以下將幫助我們順利通過旅程的重要元素。
瀏覽器
第一個(gè)也是最關(guān)鍵的元素是瀏覽器。由于我們處理的是“網(wǎng)絡(luò)”應(yīng)用程序,因此它只會(huì)在瀏覽器上顯示給用戶,無論是在臺(tái)式機(jī)、平板電腦還是移動(dòng)設(shè)備上。但問題是,如果我們也考慮它們的版本,瀏覽器太多了。
Google Chrome 目前的版本是 110,F(xiàn)irefox 是 108,Opera 是 96。每個(gè)版本都會(huì)棄用一些東西,并添加一些新東西,這讓開發(fā)人員清楚地知道我們無法滿足所有瀏覽器。因此,在開始測(cè)試部分之前,我們需要列出顯示網(wǎng)站所需的瀏覽器。它們也被稱為“目標(biāo)瀏覽器”。
這些是唯一應(yīng)該參與您的測(cè)試狂潮的瀏覽器。如果對(duì)舊瀏覽器有特定要求,測(cè)試人員可以將它們保留為特殊要求,并僅為這些功能創(chuàng)建測(cè)試用例。
設(shè)備
一旦我們涵蓋了瀏覽器,我們就會(huì)到達(dá)用戶打開瀏覽器的設(shè)備。與“目標(biāo)瀏覽器”一樣,我們完全測(cè)試網(wǎng)站的設(shè)備稱為“目標(biāo)設(shè)備”。由于設(shè)備在市場(chǎng)上不斷被淘汰,而更新的設(shè)備不斷出現(xiàn),我們總是需要相應(yīng)地更新我們的列表。
測(cè)試工具
我們的 Web 測(cè)試結(jié)構(gòu)中第三個(gè)最重要的元素是測(cè)試工具(或多個(gè)工具)。如果沒有好的工具,我們?cè)诒窘坛讨杏懻摰娜魏蝺?nèi)容以及我們?yōu)闇y(cè)試計(jì)劃的任何內(nèi)容都無法實(shí)現(xiàn)。
雖然一個(gè)完美的工具非常適合您的場(chǎng)景,但一般來說,勾選以下復(fù)選框的工具才被認(rèn)為值得選擇用于 Web 測(cè)試:
- 所有主要瀏覽器及其版本。
- 所有主要設(shè)備。
- 所有主要的移動(dòng)操作系統(tǒng)及其版本。
- 所有主要的桌面操作系統(tǒng)及其版本。
- 多種分辨率覆蓋最大范圍。
- 該工具應(yīng)在 Android 模擬器或真實(shí)設(shè)備上打開瀏覽器。應(yīng)避免使用 iOS 模擬器進(jìn)行完整的網(wǎng)絡(luò)測(cè)試(某些區(qū)域除外)。
- 應(yīng)提供自動(dòng)化測(cè)試支持。
- 如果該工具必須用于組織,則需要將大量不同的集成與該工具相關(guān)聯(lián)。對(duì)于個(gè)人來說,這一點(diǎn)可以忽略不計(jì)。
- 測(cè)試特定功能對(duì)于 Web 測(cè)試工具來說是絕對(duì)必要的。例如,屏幕截圖捕獲、記錄測(cè)試會(huì)話、與隊(duì)友共享選項(xiàng)等。
- 預(yù)計(jì)該工具是可行的,尤其是對(duì)個(gè)人和初創(chuàng)公司而言。
- 為了進(jìn)行分析和進(jìn)一步調(diào)試,該工具應(yīng)該有一個(gè)很好的報(bào)告系統(tǒng)和儀表板,用于總結(jié)測(cè)試運(yùn)行和其他信息。
對(duì) Web 測(cè)試的關(guān)注提高了當(dāng)今使用的測(cè)試工具或平臺(tái)的標(biāo)準(zhǔn)。在 LambdaTest 平臺(tái)上開始 Web 測(cè)試很容易。讓我們看看如何執(zhí)行它:
- 免費(fèi)注冊(cè)并登錄到您的 LambdaTest 帳戶。
- 從左側(cè)邊欄菜單中,訪問“實(shí)時(shí)測(cè)試”>“瀏覽器測(cè)試”。
- 輸入測(cè)試 URL,然后選擇桌面或移動(dòng)設(shè)備。如果要在桌面上測(cè)試,請(qǐng)選擇瀏覽器的“ RESOLUTION ”、“ OS ”和“ VERSION ”。點(diǎn)擊“開始”。
它將帶您進(jìn)入基于云的操作系統(tǒng),您可以在其中運(yùn)行 Web 測(cè)試。
現(xiàn)在我知道你可能在想什么。如果我們從未發(fā)布過 Web 應(yīng)用程序或購買過域名,會(huì)發(fā)生什么情況?這是一個(gè)常見的問題,因?yàn)殚_發(fā)人員經(jīng)常從較低級(jí)別測(cè)試他們的應(yīng)用程序以使調(diào)試更容易。
如果一次測(cè)試所有 Web 應(yīng)用程序,調(diào)試和糾正錯(cuò)誤的時(shí)間可能會(huì)成倍增加。在這種情況下,我們使用 LambdaTest Tunnel 功能進(jìn)行本地頁面測(cè)試。它有助于通過 SSH 連接本地系統(tǒng)上托管的 Web 應(yīng)用程序,并在 LambdaTest 的云基礎(chǔ)設(shè)施上進(jìn)行測(cè)試。
經(jīng)驗(yàn)
在測(cè)試之前通常不考慮的最后一個(gè)因素是隊(duì)友的經(jīng)驗(yàn)。無論我們使用多么出色的工具,無論我們通過在線閱讀理論書籍和博客嘗試進(jìn)行多少計(jì)劃,經(jīng)驗(yàn)豐富的測(cè)試人員仍然可以指出系統(tǒng)中的某些錯(cuò)誤區(qū)域。復(fù)雜系統(tǒng)(例如 Web 應(yīng)用程序)中的經(jīng)驗(yàn)價(jià)值非常重要。隊(duì)友之間應(yīng)該始終考慮到這一點(diǎn)。
Web 測(cè)試的角度
Web測(cè)試的角度是指針對(duì)應(yīng)用程序的各個(gè)角度的不同類型的測(cè)試方法。它們中的大多數(shù)對(duì)于 Web 測(cè)試是強(qiáng)制性的,除了少數(shù)可能取決于項(xiàng)目。
功能測(cè)試
Web 應(yīng)用程序的功能測(cè)試旨在測(cè)試 Web 應(yīng)用程序的功能,這可以說是重中之重。如果這些功能不起作用,那么 Web 應(yīng)用程序?qū)τ谧罱K用戶來說就等于沒有了。
作為測(cè)試人員,我們需要覆蓋所有為 Web 應(yīng)用程序提供一個(gè)或多個(gè)功能的部分,如上圖所示。這還將包括應(yīng)用程序的用戶界面和用戶體驗(yàn)。這種測(cè)試類型的最終目標(biāo)是確保,除了功能之外,Web 應(yīng)用程序作為一個(gè)單元運(yùn)行,即一個(gè)完整的系統(tǒng)。這在定義上類似于端到端測(cè)試。
接口測(cè)試
該應(yīng)用程序包含多個(gè)接口,使它們協(xié)同工作。根據(jù)項(xiàng)目的不同,這可能會(huì)有所不同。通常,以下四個(gè)接口涵蓋了完整的系統(tǒng):
- 在服務(wù)器端邏輯上工作的服務(wù)器端接口。
- 應(yīng)用程序編程接口 (API) 工作在系統(tǒng)的通信部分。p
- 數(shù)據(jù)庫接口工作于數(shù)據(jù)庫的數(shù)據(jù)存儲(chǔ)、檢索、更新等部分。
- 用于應(yīng)用程序和用戶之間交互的用戶界面。
涵蓋了這四個(gè)方面,接口測(cè)試部分就結(jié)束了。
可用性測(cè)試
可用性測(cè)試旨在確定 Web 應(yīng)用程序?qū)ψ罱K用戶的“友好性”。這種類型的測(cè)試挖掘出開發(fā)人員或測(cè)試人員可能看不到的缺陷。
例如,您能否輕松瀏覽 Web 應(yīng)用程序?作為開發(fā)人員和測(cè)試人員,由于我們已經(jīng)通過每天處理應(yīng)用程序而知道所有選項(xiàng)和按鈕的位置,因此他們所做的可用性測(cè)試可能不會(huì)獲得太多好處。
通過可用性測(cè)試的最佳方式是通過最終用戶自己。他們可能探索的領(lǐng)域是:
- 操作 Web 應(yīng)用程序有多容易。
- 在電子商務(wù) Web 應(yīng)用程序中記住基本選項(xiàng)(例如“您的訂單”)是多么容易。
- 申請(qǐng)?bào)w驗(yàn)的滿意度如何?
- 您是否覺得 Web 應(yīng)用程序令人滿意,或者是否有任何顏色或部分位置錯(cuò)誤?
這些問題應(yīng)該在生產(chǎn)前擺在最終用戶面前,以深入了解應(yīng)用程序的可用性。
非功能測(cè)試
功能測(cè)試未涵蓋的 Web 應(yīng)用程序的屬性通常使用非功能測(cè)試進(jìn)行測(cè)試。本節(jié)可能包括以下內(nèi)容:
- 負(fù)載測(cè)試
- 性能測(cè)試
- 壓力測(cè)試
- 跨瀏覽器測(cè)試
- 瀏覽器兼容性測(cè)試
根據(jù)項(xiàng)目可以有其他的。
安全測(cè)試
Web 應(yīng)用程序的安全測(cè)試在當(dāng)今世界是絕對(duì)必要的。據(jù)Cybersecurity Hub稱,2022 年發(fā)生了 4100 起數(shù)據(jù)泄露事件。這些只是那些公開披露的。如果我們考慮對(duì) Web 應(yīng)用程序的黑客攻擊,2022 年每天有 30,000 個(gè)網(wǎng)站遭到黑客攻擊,影響了 64% 的在線網(wǎng)站。
您的網(wǎng)站很容易成為其中之一。為避免此類情況,請(qǐng)始終構(gòu)建高安全性的網(wǎng)站,并測(cè)試其是否存在任何泄漏、后門、注入防護(hù)和您的網(wǎng)站在現(xiàn)實(shí)世界中可能經(jīng)歷的其他攻擊。
自動(dòng)化在 Web 測(cè)試中的作用
自動(dòng)化測(cè)試從一開始就是所有測(cè)試人員的朋友。它快速移動(dòng)事物、執(zhí)行事物并快速包裝事物。隨著當(dāng)今 Web 應(yīng)用程序的規(guī)模,自動(dòng)化測(cè)試已成為 Web 測(cè)試的必需品,而不是一種選擇。
我們第一次接觸自動(dòng)化測(cè)試是在開發(fā)產(chǎn)品并用它編寫單元測(cè)試時(shí)。隨著新功能的開發(fā),這些單元測(cè)試不斷增加,通常達(dá)到數(shù)千個(gè)。
然后,我們提交回歸測(cè)試代碼,對(duì)集成代碼運(yùn)行回歸測(cè)試以檢查是否有任何問題。最后,我們繼續(xù)討論 CI/CD 管道,它包含自己的測(cè)試并考慮構(gòu)建的穩(wěn)定性和其他方面。當(dāng)我們選擇自動(dòng)化測(cè)試時(shí),所有這些事情都不需要人工干預(yù)。我們編寫腳本,然后在新集成的代碼上重復(fù)執(zhí)行它們。
我們?cè)谧詣?dòng)化 Web 測(cè)試中面臨的唯一挑戰(zhàn)是投資回報(bào),這可能需要自己的時(shí)間。一開始,我們可能不得不在自動(dòng)化測(cè)試上投入大量資金。這包括聘請(qǐng)自動(dòng)化工程師、設(shè)置自動(dòng)化基礎(chǔ)設(shè)施、編寫自動(dòng)化腳本所花費(fèi)的時(shí)間,以及開發(fā)支持自動(dòng)化測(cè)試的 Web 測(cè)試工具。
但好在這都是一次性投資。使用自動(dòng)化 Web 測(cè)試的主要?jiǎng)訖C(jī)是從手動(dòng)測(cè)試域中刪除重復(fù)性任務(wù),讓它專注于探索性測(cè)試部分。因此,即使在今天,一次測(cè)試運(yùn)行的成本更高,相同的測(cè)試也會(huì)運(yùn)行數(shù)千次,從而為我們提供下圖。
如果組織的未來目標(biāo)是長期進(jìn)入市場(chǎng)并不斷推出新功能,那么自動(dòng)化測(cè)試可能是一個(gè)很好的武器。
Web 測(cè)試面臨的挑戰(zhàn)
盡管到目前為止,通往網(wǎng)絡(luò)測(cè)試的道路可能看起來一帆風(fēng)順,但中間還是有一些小插曲。測(cè)試人員可能面臨的主要挑戰(zhàn)如下:
確保應(yīng)用程序的安全
Web 應(yīng)用程序的安全性是一個(gè)領(lǐng)域,在有人利用安全性之前,沒有人可以保證并宣稱“此 Web 應(yīng)用程序是完全安全的”。雅虎認(rèn)為他們進(jìn)行了安全測(cè)試并且他們的網(wǎng)站是完全安全的,直到有人在 2013 年 8 月入侵并竊取數(shù)據(jù)。
然后,他們?cè)俅握J(rèn)為他們現(xiàn)在擁有一個(gè)完全安全的網(wǎng)站,直到有人在 2014 年再次從 5 億個(gè)帳戶中竊取數(shù)據(jù)。所以你永遠(yuǎn)無法確定安全性,并且總是希望它沒有受到攻擊。這是執(zhí)行和報(bào)告 Web 測(cè)試分析時(shí)的主要挑戰(zhàn)。
瀏覽器中的碎片
另一個(gè)主要的網(wǎng)絡(luò)測(cè)試挑戰(zhàn)是網(wǎng)絡(luò)瀏覽器的碎片化。一個(gè) Web 瀏覽器有數(shù)百個(gè)版本,每個(gè)版本都會(huì)棄用一些 API 或其他功能,并添加一些。
如果該 API 深入到您的應(yīng)用程序中,則刪除它及其依賴項(xiàng)將成為一項(xiàng)艱巨的任務(wù)??紤]到瀏覽器如何每十五天發(fā)布一個(gè)新版本,這就成為使網(wǎng)站與最新技術(shù)保持一致的主要挑戰(zhàn),尤其是當(dāng)網(wǎng)站龐大而復(fù)雜時(shí)。
應(yīng)對(duì)用戶期望
隨著新技術(shù)和快速互聯(lián)網(wǎng)在全球范圍內(nèi)可用,用戶的期望已經(jīng)提高到十年前的水平。
在 2022 年的一項(xiàng)調(diào)查中,46% 的用戶永遠(yuǎn)不會(huì)返回到加載緩慢的網(wǎng)站,預(yù)期時(shí)間約為 4 秒。六年前,這個(gè)數(shù)字還是35% 。
滿足用戶的期望意味著在每個(gè)域中匹配加載時(shí)間和其他方面,例如更快的性能,或者與新的 UI、UX 和可用性方面并駕齊驅(qū)。用戶對(duì)他們?cè)L問的每個(gè)網(wǎng)站都有更高的期望,而在每個(gè)部門應(yīng)對(duì)這些期望是團(tuán)隊(duì)今天面臨的主要挑戰(zhàn)。
同一用戶的跨平臺(tái)一致性
單個(gè)用戶很可能擁有不止一臺(tái)個(gè)人設(shè)備。在擁有多臺(tái)設(shè)備的用戶中,40%的用戶在一臺(tái)設(shè)備上開始一項(xiàng)活動(dòng),然后在另一臺(tái)設(shè)備上完成。這是一種常見的做法,各個(gè)國家/地區(qū)的數(shù)字可能會(huì)有所不同,在英國等發(fā)達(dá)國家安全地超過 50% 大關(guān),其數(shù)字為 60%。這些活動(dòng)通常是多天的活動(dòng),所有這些用戶都希望他們的數(shù)據(jù)能夠跨設(shè)備保持一致。他們想要的不僅僅是 cookie,還有實(shí)際數(shù)據(jù)。
例如,亞馬遜提供了一個(gè)“愿望清單”功能,用戶通??梢栽谄渲刑砑铀麄兿M谖磥碣徺I的產(chǎn)品。幾天后,在他們的桌面上瀏覽時(shí),用戶希望他們的愿望清單在該平臺(tái)上可用,即使產(chǎn)品是通過移動(dòng)設(shè)備添加的。
這是一個(gè)小例子??缙脚_(tái)一致性可以超越可見的數(shù)據(jù),比如用戶行為一致性,在各個(gè)平臺(tái)上等等,這可能涉及到跨設(shè)備的建議和推薦。
這成為網(wǎng)絡(luò)測(cè)試部分的主要挑戰(zhàn),因?yàn)樗黾恿艘粚訉彶?,這需要大量的人工干預(yù)。這需要時(shí)間并給測(cè)試人員和 QA 帶來壓力。
Web 測(cè)試中應(yīng)遵循的最佳實(shí)踐
在本綜合指南的最后,讓我們重點(diǎn)介紹在運(yùn)行 Web 測(cè)試時(shí)應(yīng)遵循的最佳實(shí)踐。
不要錯(cuò)過跨瀏覽器測(cè)試
很多時(shí)候,測(cè)試人員可能會(huì)覺得在單一類型的瀏覽器上進(jìn)行測(cè)試可以滿足其所有版本。因此,他們可能會(huì)通過在所有瀏覽器的最新瀏覽器版本上執(zhí)行測(cè)試來結(jié)束測(cè)試。這可能會(huì)在用戶端造成問題,因?yàn)楹芏嘤脩粼谌粘I钪胁皇褂米钚掳姹尽?/em>
這里的最佳實(shí)踐始終是跨不同版本和瀏覽器執(zhí)行跨瀏覽器測(cè)試。這將提供主要但不是最新版本的見解和錯(cuò)誤。
始終包括探索性測(cè)試
探索性測(cè)試,顧名思義,是在沒有任何指導(dǎo)方針或嚴(yán)格的預(yù)定義計(jì)劃的情況下,專注于探索 Web 應(yīng)用程序的測(cè)試。我們只是像最終用戶一樣打開網(wǎng)絡(luò)應(yīng)用程序,并以敏銳的眼光觀察應(yīng)用程序的行為,不斷探索所有模塊。
在這里,我們發(fā)現(xiàn)了許多可能永遠(yuǎn)不會(huì)被自動(dòng)化覆蓋或永遠(yuǎn)不會(huì)被覆蓋的錯(cuò)誤。將它包含在我們的測(cè)試階段可以幫助我們調(diào)試可能直接從最終用戶那里出現(xiàn)的問題。
認(rèn)真對(duì)待績效指標(biāo)
您最終將通過經(jīng)驗(yàn)學(xué)習(xí)的最佳實(shí)踐是與您的 Web 應(yīng)用程序相關(guān)的性能指標(biāo)的嚴(yán)肅性。僅僅運(yùn)行性能測(cè)試是不夠的。我們還應(yīng)該根據(jù)標(biāo)準(zhǔn)分析這些指標(biāo)。
如果您的網(wǎng)站以前加載時(shí)間為 0.2 秒,現(xiàn)在為 0.5 秒,則它仍在安全范圍內(nèi)。但是,我們應(yīng)該知道這些變化的原因,因?yàn)槿绻徽J(rèn)真對(duì)待它們最終會(huì)破壞系統(tǒng)。
知道你的系統(tǒng)在哪里崩潰
一個(gè)對(duì)您總是有用的額外最佳實(shí)踐是了解您的系統(tǒng)的局限性。無論您在市場(chǎng)上的知名度有多大,網(wǎng)站有多復(fù)雜和強(qiáng)大,它總會(huì)有一定的局限性。它可以接受的最大請(qǐng)求數(shù)是多少?各個(gè)地區(qū)的延遲是多少?一次可以接待多少訪客?
回答更多此類問題將使您在災(zāi)難發(fā)生前做好準(zhǔn)備。
結(jié)論
在 1900 年代初期,沒有人會(huì)想到賣家可以在不與買家會(huì)面或交談的情況下將他們的商品銷往全球任何國家。當(dāng)這樣的場(chǎng)景在今天每一秒都發(fā)生時(shí)會(huì)發(fā)生什么?想要出售物品的人在搜索引擎上搜索“如何出售物品”。
然后在找到答案后,他們?cè)L問一個(gè)平臺(tái),注冊(cè)并上傳必要的產(chǎn)品信息。在世界的另一端,有人想購買商品并在另一個(gè)搜索引擎上搜索“在線購買 XYZ”。他們獲得鏈接并通過第三方網(wǎng)站 Paypal 購買。然后賣家發(fā)送包裹并提供快遞頁面的鏈接以跟蹤包裹。
如上所述,在一個(gè)簡(jiǎn)單的交易中,我們需要五個(gè)在不同領(lǐng)域工作的網(wǎng)站。當(dāng)一個(gè)東西擁有如此強(qiáng)大的力量,而我們是背后的力量時(shí),我們能冒險(xiǎn)不經(jīng)測(cè)試就發(fā)布網(wǎng)站嗎?我們絕對(duì)不能!
Web 測(cè)試是一門藝術(shù),考慮到它在這個(gè)過程中需要多少角度和曲折。它需要高度的奉獻(xiàn)精神,中間有很多意想不到的事情。