陸佳 曹南嵐 劉寶陽



摘? 要:隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展,Web應(yīng)用系統(tǒng)已深入到各行各業(yè),走進(jìn)人們生產(chǎn)生活的方方面面。為保證軟件質(zhì)量,提高對(duì)客戶的服務(wù)品質(zhì),需要對(duì)軟件進(jìn)行全面、嚴(yán)格的測(cè)試。文章以電商類Web應(yīng)用系統(tǒng)為例,結(jié)合實(shí)踐操作,提出功能測(cè)試、界面測(cè)試、性能測(cè)試、兼容性測(cè)試、接口測(cè)試、安全性測(cè)試等方面的測(cè)試路線,所提測(cè)試路線具有普適性和可借鑒性的特點(diǎn),可以應(yīng)用到其他領(lǐng)域的測(cè)試。
關(guān)鍵詞:Web應(yīng)用系統(tǒng);電子商務(wù);軟件測(cè)試
中圖分類號(hào):TP311.5;TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2096-4706(2023)11-0073-04
Web Application System Test Methods Based on E-commerce Platform
LU Jia1, CAO Nanlan1, LIU Baoyang2
(1.Suzhou Chien-Shiung Institute of Technology, Suzhou? 215400, China;
2.Aiyouzhi Information Technology (Suzhou) Co., Ltd., Suzhou? 215400, China)
Abstract: With the rapid development of computer technology, Web application systems have penetrated into various industries and entered every aspect of people's production and life. In order to ensure the software quality and improve the service quality to customers, it is necessary to conduct comprehensive and strict testing of software. The paper takes E-commerce Web application systems as an example and combines practical operations to propose testing routes for functional testing, interface testing, performance testing, compatibility testing, interface testing, security testing, etc. The proposed testing route has the characteristics of universality and reference, and can be grafted into testing in other fields.
Keywords: Web application system; E-commerce; software testing
0? 引? 言
隨著互聯(lián)網(wǎng)行業(yè)的迅猛發(fā)展,各種為人們工作和生活提供便利的計(jì)算機(jī)軟件應(yīng)運(yùn)而生,以B/S架構(gòu)為主要模式的Web應(yīng)用系統(tǒng)影響著人們生產(chǎn)生活的方方面面。為滿足不同用戶個(gè)性化的網(wǎng)絡(luò)購物需求,也為滿足商家在各類節(jié)日期間豐富促銷活動(dòng)的功能需求,電商類Web應(yīng)用在建設(shè)之初便包含了豐富而復(fù)雜的功能。為保證應(yīng)用上線后的用戶使用體驗(yàn),切實(shí)維護(hù)平臺(tái)、用戶和商家三方的利益,上線前對(duì)Web應(yīng)用的全面測(cè)試就顯得尤為重要[1]。
電子商務(wù)類Web應(yīng)用不僅具有用戶數(shù)量多、用戶與軟件交互數(shù)據(jù)量大、短時(shí)訪問量高的特點(diǎn),還具有分布、異構(gòu)、跨平臺(tái)等特性,測(cè)試人員面對(duì)的是一個(gè)大規(guī)模、高復(fù)雜性的軟件測(cè)試工作,手工測(cè)試與自動(dòng)化測(cè)試兼而有之。本文結(jié)合A公司的一款跨境電商Web應(yīng)用,提出一種可行性很高的Web應(yīng)用系統(tǒng)測(cè)試方法。
1? 系統(tǒng)測(cè)試目標(biāo)
Web應(yīng)用系統(tǒng)因具有分布式、易部署、跨平臺(tái)的特點(diǎn)而得以廣泛使用,而電商類Web應(yīng)用只要是商家產(chǎn)品質(zhì)量有保證,價(jià)格有優(yōu)勢(shì),便很容易搶占部分市場(chǎng)份額。所以針對(duì)電商類Web應(yīng)用,系統(tǒng)穩(wěn)定可靠是第一要義,測(cè)試目標(biāo)應(yīng)當(dāng)是在系統(tǒng)上線前盡可能發(fā)現(xiàn)其潛在缺陷,優(yōu)化用戶購物體驗(yàn),為用戶提供安全、流暢和滿意的購物服務(wù)。
2? 電商類Web應(yīng)用系統(tǒng)的測(cè)試方法
為實(shí)現(xiàn)上述目標(biāo),測(cè)試人員需要在以下幾個(gè)方面開展軟件測(cè)試,如圖1所示。
2.1? 功能測(cè)試
功能測(cè)試是指測(cè)試人員站在用戶的角度,根據(jù)產(chǎn)品設(shè)計(jì)人員設(shè)計(jì)的功能,在使用Web應(yīng)用系統(tǒng)過程中,覆蓋用戶所有的操作。功能測(cè)試通常采用黑盒測(cè)試,無須了解程序的結(jié)構(gòu)與運(yùn)行邏輯,只需關(guān)注軟件產(chǎn)品的實(shí)際功能是否符合需求設(shè)計(jì)師的預(yù)期,并且盡可能找到潛在的缺陷即可。
2.1.1? 鏈接測(cè)試
一個(gè)Web應(yīng)用系統(tǒng)帶給用戶最直觀的感受就是有序排列的各種鏈接,而一個(gè)電商Web應(yīng)用系統(tǒng)則展示了各種商品鏈接、分類鏈接、促銷活動(dòng)鏈接等。用戶點(diǎn)擊相應(yīng)的鏈接便能實(shí)現(xiàn)頁面的跳轉(zhuǎn),直達(dá)其想購買的商品、想了解的促銷活動(dòng)。對(duì)于一個(gè)Web的鏈接測(cè)試,通常包含以下三方面內(nèi)容:
1)點(diǎn)擊鏈接后是否按照程序的正確邏輯,跳轉(zhuǎn)到了預(yù)期的界面。
2)該鏈接所指向的頁面是否真實(shí)存在(即不是一個(gè)死鏈接)。
3)保證系統(tǒng)中沒有單獨(dú)存在的頁面(即無法到達(dá)的頁面)。
為保證頁面上各類鏈接的準(zhǔn)確性和可靠性,通常采用手動(dòng)測(cè)試與軟件工具自動(dòng)測(cè)試相結(jié)合的方法。手動(dòng)測(cè)試應(yīng)當(dāng)從用戶的角度出發(fā),主要測(cè)試用戶常用功能的鏈接,保證功能完整的基礎(chǔ)上,輔以工具進(jìn)行全面測(cè)試。本場(chǎng)景下,可以采用“Xenu Link Sleuth”軟件進(jìn)行鏈接測(cè)試,主要針對(duì)上文第二個(gè)方面,測(cè)試有無死鏈接。
如圖2所示,該軟件具有簡(jiǎn)潔明了的用戶界面,易上手的功能設(shè)計(jì),輕量化的大小,可以測(cè)試全類型的鏈接(圖片、框架、插件等),并生成報(bào)表發(fā)送郵件。Web應(yīng)用系統(tǒng)出現(xiàn)以下問題時(shí),“Xenu Link Sleuth”可以快速定位找到問題:Web應(yīng)用系統(tǒng)的服務(wù)器設(shè)置錯(cuò)誤;動(dòng)態(tài)鏈接在數(shù)據(jù)庫不再支持的條件下變成死鏈接;某個(gè)文件或網(wǎng)頁移動(dòng)了位置,導(dǎo)致指向它的鏈接變成死鏈接;網(wǎng)頁內(nèi)容所指向的鏈接被修改,原來的鏈接變成死鏈接。
2.1.2? 表單測(cè)試
電商類Web應(yīng)用系統(tǒng)中,用戶和平臺(tái)時(shí)刻都在進(jìn)行大量的數(shù)據(jù)交互,這就要求在各個(gè)頁面嵌入滿足不同業(yè)務(wù)場(chǎng)景的表單控件。如用戶注冊(cè)頁面中,平臺(tái)應(yīng)當(dāng)針對(duì)電子郵箱檢查其格式是否正確,重復(fù)鍵入密碼時(shí)不支持復(fù)制粘貼。為保證前后臺(tái)數(shù)據(jù)交互準(zhǔn)確,需要對(duì)各類表單數(shù)據(jù)進(jìn)行全面的測(cè)試驗(yàn)證[2]。測(cè)試點(diǎn)包含但不限于表1。
2.1.3? Cookies測(cè)試
Cookies是一種用于用戶訪問Web應(yīng)用系統(tǒng)時(shí)讀取數(shù)據(jù),服務(wù)器向用戶本地發(fā)送數(shù)據(jù)進(jìn)行存儲(chǔ)的技術(shù),旨在提高訪問時(shí)的服務(wù)器響應(yīng)速度,緩解數(shù)據(jù)交互時(shí)的壓力。
Cookies主要存儲(chǔ)小塊數(shù)據(jù),當(dāng)用戶訪問站點(diǎn)時(shí),服務(wù)器在發(fā)給用戶所請(qǐng)求數(shù)據(jù)的同時(shí),還會(huì)向用戶發(fā)送一個(gè)包含時(shí)間、訪問身份的Cookies。在電商Web應(yīng)用系統(tǒng)的場(chǎng)景下,Cookies能夠幫助用戶與網(wǎng)站快速連接,網(wǎng)站可根據(jù)其掌握的信息進(jìn)行個(gè)性化商品推薦。
Cookies測(cè)試應(yīng)當(dāng)包含具體場(chǎng)景下Cookies是否有必要、Cookies的作用范圍、Cookies的安全性、Cookies是否被過度使用等。
2.1.4? 數(shù)據(jù)庫交互測(cè)試
電商類Web應(yīng)用系統(tǒng)本質(zhì)上是商品數(shù)據(jù)的存儲(chǔ)與展示,以及對(duì)商品數(shù)據(jù)、交易數(shù)據(jù)的增刪改查,不論是C/S架構(gòu)還是B/S架構(gòu),都擺脫不了數(shù)據(jù)庫。一個(gè)具有規(guī)模的電商購物網(wǎng)站[3]必然包含覆蓋人們生活方方面面的商品,呈現(xiàn)商品數(shù)量大、種類多的特點(diǎn)。同時(shí),以我們目前的人口規(guī)模來看,一旦平臺(tái)成功打開市場(chǎng),面臨的用戶數(shù)量也將是億級(jí)的。此時(shí),Web應(yīng)用系統(tǒng)與后臺(tái)數(shù)據(jù)交互環(huán)節(jié)的可靠性,毋庸置疑是極其重要的。一方面,用戶通過Web應(yīng)用系統(tǒng)訪問并獲取商品數(shù)據(jù),應(yīng)當(dāng)又快又準(zhǔn),比如當(dāng)平臺(tái)開展促銷活動(dòng)時(shí),商品組合購買可以享受優(yōu)惠是一種常見的促銷方式,如果后臺(tái)計(jì)算的商品價(jià)格與展示給用戶的優(yōu)惠價(jià)格不一致,毫無疑問將會(huì)失去用戶的信任。另一方面,用戶提交的數(shù)據(jù)不做校驗(yàn)或未校驗(yàn)出錯(cuò)誤,出現(xiàn)數(shù)據(jù)類型不匹配、數(shù)據(jù)分割有誤等情況,輕者造成操作失敗影響用戶購物體驗(yàn),重者引起系統(tǒng)宕機(jī)。因此數(shù)據(jù)交互測(cè)試也是必不可少的環(huán)節(jié)。
2.2? 界面測(cè)試
界面測(cè)試是指檢查網(wǎng)站首頁、商家主頁以及商品詳情頁的布局是否合理,控件擺放位置是否符合用戶習(xí)慣,界面是否具有易用性特點(diǎn)等。
2.2.1? 導(dǎo)航頁面測(cè)試
導(dǎo)航頁面通常位于電商網(wǎng)站首頁的頭部區(qū)域,是面向用戶的第一個(gè)功能,起到展示商品分類以及跳轉(zhuǎn)的功能。針對(duì)導(dǎo)航部分,通常需要檢查測(cè)試其是否直觀、是否易于導(dǎo)航,平臺(tái)提供的商品是否全部納入導(dǎo)航的分類、是否可以輕松跳轉(zhuǎn)至用戶想要的商品門類,頁面結(jié)構(gòu)、導(dǎo)航、菜單、鏈接的風(fēng)格是否一致,是否需要站點(diǎn)地圖、導(dǎo)航幫助等。
2.2.2? 圖形測(cè)試
通常,電商網(wǎng)站上的圖形分為帶鏈接的圖形與不帶鏈接的圖形。針對(duì)不帶鏈接的圖形,在測(cè)試過程中應(yīng)當(dāng)關(guān)注其像素大小(如像素過小則顯得模糊,像素過大則影響加載速度),圖形中的字體風(fēng)格與整體頁面是否一致,圖形的顏色與整體頁面是否協(xié)調(diào),圖形的比例拉伸是否正常等。而針對(duì)帶鏈接的圖形,應(yīng)當(dāng)在做好前文所述測(cè)試的基礎(chǔ)上,確認(rèn)鏈接有效,跳轉(zhuǎn)頁面無誤。
2.2.3? 內(nèi)容測(cè)試
內(nèi)容測(cè)試通常用于驗(yàn)證Web應(yīng)用系統(tǒng)提供信息的準(zhǔn)確性。以電商類應(yīng)用為例,平臺(tái)商家的商品信息展示必須準(zhǔn)確無誤,如果商家設(shè)置的商品信息與頁面展示的信息不一致,則會(huì)同時(shí)造成商家與顧客的損失,用戶也會(huì)因此產(chǎn)生對(duì)平臺(tái)的質(zhì)疑。
2.2.4? 整體界面測(cè)試
整體界面測(cè)試是指由測(cè)試人員對(duì)整個(gè)頁面的布局、結(jié)構(gòu)、色調(diào)進(jìn)行一個(gè)主觀的判定,同時(shí)廣泛邀請(qǐng)第三方進(jìn)行實(shí)測(cè)與點(diǎn)評(píng),目的是測(cè)試用戶是否能夠依據(jù)自身的上網(wǎng)習(xí)慣快速找到想要的信息、想用的功能。
2.3? 性能測(cè)試
軟件的性能測(cè)試[4]是保證軟件質(zhì)量的重要環(huán)節(jié),對(duì)于一個(gè)軟件產(chǎn)品,用戶除了關(guān)注其有哪些功能之外,最在意的便是其是否“好用”。而在性能測(cè)試中,“好用”可以用幾個(gè)指標(biāo)來描述,如“響應(yīng)時(shí)間”“吞吐量”“資源利用率”“并發(fā)數(shù)”等。要了解軟件在各種場(chǎng)景下的具體指標(biāo),可以借用自動(dòng)化測(cè)試工具來測(cè)試。要讓軟件“好用”,可借助如圖3所示的JMeter工具,進(jìn)行以下幾個(gè)方面的測(cè)試。
2.3.1? 負(fù)載測(cè)試
負(fù)載測(cè)試是指模擬軟件在實(shí)際運(yùn)行過程中,在負(fù)荷比較大的情況下逐步增加負(fù)載量,觀察軟件的運(yùn)行指標(biāo)是否處于正常狀態(tài)。本文所述的電商類Web應(yīng)用,針對(duì)其進(jìn)行負(fù)載測(cè)試,通常采取逐步增加訪問用戶數(shù),模擬用戶登錄、商品關(guān)鍵字搜索、商品收藏、商品購買等操作,觀察不同負(fù)載情況下的系統(tǒng)響應(yīng)時(shí)間、消耗資源,找到最大可接受用戶并發(fā)數(shù)。
2.3.2? 壓力測(cè)試
壓力測(cè)試是指模擬軟件在高負(fù)載的情況下,測(cè)試系統(tǒng)能否穩(wěn)定運(yùn)行。與負(fù)載測(cè)試的側(cè)重點(diǎn)不同,壓力測(cè)試所關(guān)注的是一段時(shí)間內(nèi),持續(xù)的大流量訪問行為是否會(huì)導(dǎo)致系統(tǒng)響應(yīng)過慢,系統(tǒng)出錯(cuò),甚至是系統(tǒng)崩潰。本文所述的電商類Web應(yīng)用,商家進(jìn)行促銷活動(dòng)時(shí),往往能吸引到平時(shí)幾倍的用戶,促銷期間的系統(tǒng)穩(wěn)定性至關(guān)重要,軟件開發(fā)者需要預(yù)估平臺(tái)活動(dòng)時(shí)間內(nèi)的最大用戶數(shù),保證活動(dòng)期間系統(tǒng)的平穩(wěn)運(yùn)行。
2.3.3? 并發(fā)測(cè)試
并發(fā)測(cè)試是指模擬一定數(shù)量的用戶在某個(gè)時(shí)刻同時(shí)向服務(wù)器發(fā)起請(qǐng)求,等待服務(wù)器響應(yīng)的測(cè)試行為,目的是觀察系統(tǒng)在高并發(fā)情況下,是否會(huì)發(fā)生內(nèi)存泄漏、資源競(jìng)爭(zhēng)、線程鎖等問題。電商類網(wǎng)站最常見的促銷活動(dòng)是“整點(diǎn)秒殺”類活動(dòng),商家通常會(huì)提前預(yù)告在某個(gè)時(shí)刻放出少量的低價(jià)商品吸引用戶搶購,接近搶購時(shí)間時(shí)用戶數(shù)會(huì)瞬間達(dá)到峰值,此時(shí)訂單提交與支付功能的正常與否便是并發(fā)測(cè)試的主要任務(wù)。
2.4? 兼容性測(cè)試
兼容性測(cè)試是指針對(duì)該Web應(yīng)用在特定的硬件平臺(tái)上不同的操作系統(tǒng)、瀏覽器進(jìn)行的軟件測(cè)試,目的是保證Web應(yīng)用能在不同的軟件平臺(tái)上流暢運(yùn)行。
目前主流的操作系統(tǒng)有微軟公司的Windows、蘋果公司的macOS以及開源維護(hù)的Linux。考慮到當(dāng)前用戶群體的個(gè)人喜好,結(jié)合產(chǎn)品的市場(chǎng)占有率,應(yīng)當(dāng)主要考慮Windows和macOS的兼容性測(cè)試。針對(duì)Windows,至少覆蓋Windows 11、Windows 10、Windows 7,而針對(duì)macOS,則至少應(yīng)覆蓋近5年以上版本的操作系統(tǒng)。
相比于操作系統(tǒng)的兼容性測(cè)試,由于Web應(yīng)用需借助瀏覽器訪問,針對(duì)瀏覽器的兼容性測(cè)試要復(fù)雜得多。一方面,應(yīng)當(dāng)考慮瀏覽器的內(nèi)核,如Windows自帶的IE瀏覽器采用的是Trident內(nèi)核,Chrome瀏覽器采用的是Blink內(nèi)核,蘋果的macOS與IOS以及Android默認(rèn)的瀏覽器采用的是Webkit內(nèi)核,此外,還有一部分主流國(guó)產(chǎn)瀏覽器也采用了上述內(nèi)核。針對(duì)不同內(nèi)核的瀏覽器,以及相同內(nèi)核不同廠商的瀏覽器,應(yīng)當(dāng)進(jìn)行廣泛的測(cè)試。另一方面,由于瀏覽器不可能毫無缺陷,廠商也會(huì)持續(xù)不斷地對(duì)瀏覽器進(jìn)行更新迭代,所以測(cè)試時(shí)應(yīng)當(dāng)把瀏覽器的版本情況考慮在內(nèi)。綜上,鑒于無法完成百分百覆蓋面的測(cè)試,所以我們應(yīng)當(dāng)結(jié)合市場(chǎng)調(diào)研,基于絕大部分用戶的使用習(xí)慣完成兼容性測(cè)試。
2.5? 接口測(cè)試
Web應(yīng)用的正常運(yùn)行離不開前端與后臺(tái)的數(shù)據(jù)交互,交互數(shù)據(jù)通過接口實(shí)現(xiàn)傳遞,接口設(shè)計(jì)的準(zhǔn)確性影響著數(shù)據(jù)傳遞的準(zhǔn)確性[5],測(cè)試人員需要對(duì)接口進(jìn)行嚴(yán)格全面的測(cè)試。
以電商類Web應(yīng)用系統(tǒng)為例,商家對(duì)于商品的儲(chǔ)備應(yīng)當(dāng)是確定的值,當(dāng)用戶購買商品時(shí),需要向服務(wù)器發(fā)起請(qǐng)求并等待響應(yīng),待服務(wù)器確認(rèn)商品尚有庫存,則會(huì)執(zhí)行商品購買流程,更新服務(wù)器數(shù)據(jù)并將購物成功的結(jié)果反饋到前端,告知用戶確認(rèn)下單成功,以上是簡(jiǎn)化的業(yè)務(wù)流程,實(shí)際步驟要復(fù)雜得多。
本文所述的測(cè)試場(chǎng)景,宜采用Postman工具與基于Python的requests類接口測(cè)試相結(jié)合的方法,對(duì)網(wǎng)站進(jìn)行全面的接口測(cè)試。
2.6? 安全性測(cè)試
Web應(yīng)用的安全性測(cè)試也十分重要,尤其是電商類Web應(yīng)用系統(tǒng)。測(cè)試人員需要在系統(tǒng)上線發(fā)布前找到潛在的漏洞,并對(duì)這些漏洞進(jìn)行修復(fù),減少被黑客利用的可能性。然而,黑客的攻擊技術(shù)日新月異,而絕大多數(shù)網(wǎng)站或多或少都需要開放一些接口給用戶,這就必然有產(chǎn)生漏洞的風(fēng)險(xiǎn),此時(shí)就需要測(cè)試人員針對(duì)系統(tǒng)做一個(gè)全面的安全性測(cè)試。通常需要包含SQL注入、XSS注入、CSRF注入、文件上傳漏洞、命令行漏洞、XXE漏洞、DDOS攻擊、加密與認(rèn)證漏洞、釣魚與網(wǎng)頁跳轉(zhuǎn)等方面的測(cè)試。針對(duì)以上安全性問題,可以借助包括但不止于表2所列的工具進(jìn)行掃描定位,從而發(fā)現(xiàn)并修復(fù)漏洞。
3? 結(jié)? 論
在Web應(yīng)用蓬勃發(fā)展的當(dāng)今,軟件測(cè)試作為保證應(yīng)用實(shí)用性與可靠性的重要手段。本文基于電商類Web應(yīng)用系統(tǒng)的測(cè)試實(shí)踐,結(jié)合當(dāng)前主流的測(cè)試工具,總結(jié)了一套普適性的測(cè)試方法,讀者可結(jié)合實(shí)際選取其中的測(cè)試思路與方法。
參考文獻(xiàn):
[1] 李天翼.12306互聯(lián)網(wǎng)售票系統(tǒng)測(cè)試的實(shí)現(xiàn) [J].鐵路計(jì)算機(jī)應(yīng)用,2016,25(10):27-30.
[2] 萬玲娜.基于Web的社區(qū)銷售平臺(tái)設(shè)計(jì)與實(shí)現(xiàn) [J].現(xiàn)代計(jì)算機(jī),2022,28(22):103-108.
[3] 王晨.基于微服務(wù)架構(gòu)的電商平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn) [D].西安:西安電子科技大學(xué),2021.
[4] 張彥.Web應(yīng)用軟件測(cè)試方法的研究 [J].電子世界,2017,526(16):92.
[5] 楊清玉,李金麗,陳吉蘭,等.HTTP接口自動(dòng)化測(cè)試方法研究 [J].微型機(jī)與應(yīng)用,2016,35(18):22-25.
作者簡(jiǎn)介:陸佳(1992—),男,漢族,江蘇太倉人,助教,碩士,研究方向:軟件技術(shù)、就業(yè)指導(dǎo);曹南嵐(1993—),女,漢族,安徽安慶人,思想政治輔導(dǎo)員,碩士,研究方向:軟件技術(shù);劉寶陽(1991—),男,漢族,浙江溫嶺人,開發(fā)工程師,學(xué)士學(xué)位,研究方向:計(jì)算機(jī)應(yīng)用與軟件。
收稿日期:2023-01-30