
摘 要:結(jié)合“藥材盈”電子商務(wù)平臺,介紹當前電子商務(wù)應(yīng)用領(lǐng)域的基于三層架構(gòu)的分層測試和系統(tǒng)整體穩(wěn)定性測試情況,為電子商務(wù)軟件正式發(fā)行后的性能和安全性提供參考。電子商務(wù)改變了人們傳統(tǒng)的交易方式,商家通過互聯(lián)網(wǎng)把商品信息展示在電子商務(wù)平臺上,以此吸引客戶下單購買;而用戶在個人終端上進行人機互動交流,檢索信息、價格等進行商品比較,最終產(chǎn)生購買意愿,實現(xiàn)交易。因此,電子商務(wù)平臺界面設(shè)計是否得當、系統(tǒng)響應(yīng)是否迅速、提示信息是否友好、設(shè)置操作是否簡潔就顯得至關(guān)重要。
關(guān)鍵詞:中藥材;電子商務(wù);軟件;測試
中圖分類號:F713.361 文獻標志碼:A 文章編號:1673-291X(2013)35-0235-03
一、藥材盈軟件結(jié)構(gòu)與測評
在電子商務(wù)應(yīng)用系統(tǒng)中,目前普遍采用的是3層結(jié)構(gòu),即UI表示層、業(yè)務(wù)邏輯層和數(shù)據(jù)訪問層。“藥材盈”電商平臺則使用了當下較為流行的MVC架構(gòu),基于這種結(jié)構(gòu),軟件測試人員就可以采用局部和整體相結(jié)合的方法,對系統(tǒng)進行測試。先對系統(tǒng)的每一層軟件技術(shù)的可靠與成熟度進行獨立的測試,進而對系統(tǒng)整體進行測試,這樣就能更精準定位和發(fā)現(xiàn)系統(tǒng)缺陷和錯誤。
“藥材盈”軟件測試由3部分組成。首先是開發(fā)部門的內(nèi)部人員自測,通過對每一階段開發(fā)成果進行階段評估,為下一階段的開發(fā)提供必要數(shù)據(jù)支持,從易用性方面的設(shè)計提供參考;其次,運維和推廣人員測試,根據(jù)評測結(jié)果做出產(chǎn)品上線運營提供決策依據(jù);再次,聘請一些典型客戶通過試用方式進行評測,評測產(chǎn)品的技術(shù)價值和易用性。
二、軟件測試方法
(一)局部測試
1.UI表示層測試
表示層測試就是檢查系統(tǒng)的UI前端是否存在紊亂和分辨率自適應(yīng)問題。主要測試項目:
(1)內(nèi)容表述測試。內(nèi)容表述測試用來檢查整個系統(tǒng)在每個相關(guān)呈現(xiàn)頁面上提供的信息的正確性、準確性及相關(guān)性。圖片與文字是否對應(yīng),描述與實際商品是否對應(yīng);文字描述有無語法錯誤或拼寫錯誤;在當前頁面能否能找到與之相關(guān)的資訊及信息,如系統(tǒng)中的“評論”、“推薦產(chǎn)品”或“猜你喜歡”等。此外,還要檢查頁面樣式(CSS)、字體、布局、色調(diào)、分辨率及其他關(guān)乎用戶體驗的元素。
(2)超級鏈接測試。測試站點的超級鏈接結(jié)構(gòu)上是否存在錯誤,是否存在無效鏈接(404錯誤)等。測試所有鏈接是否正確鏈接到應(yīng)該鏈接的頁面;需要特定條件才可訪問的鍵接,在不滿足條件的情況下是否能正確提示錯誤信息,并重定向到指定頁;測試有沒有雖然真實存在,但卻無何任鏈接指向孤島頁面。
(3)系統(tǒng)兼容性測試。目前桌面系統(tǒng)大部分是Windows系列,但也有少部分是IOS、Unix、Linux等及其派生產(chǎn)品。“藥材盈”電商平臺必須要測試在所有操作系統(tǒng)下可能發(fā)生的一切兼容性問題。此外,還要測試“藥材盈”電商平臺在Trident、Gecko、Presto、Webkit等不同瀏覽器內(nèi)核下的兼容性問題。不同廠商瀏覽器可能使用不同的內(nèi)核,甚至相同瀏覽器也可能支持不同的內(nèi)核,而且每種瀏覽器對Java、Java腳本、ActiveX控件、plug-ins插件、HTML標準和CSS標準的支持也有不同。不僅要測試每一種瀏覽器,還要測試在同一個瀏覽器的不同版本和不同操作系統(tǒng)情況下的兼容性問題。
2.業(yè)務(wù)邏輯層測試
重點是評測整個系統(tǒng)在業(yè)務(wù)邏輯處理中是否存在問題。測試業(yè)務(wù)邏輯層與測試傳統(tǒng)C/S結(jié)構(gòu)程序類似,可以通過算法樣例,去檢查平臺是否滿足系統(tǒng)性能和運算正確性的需求。
(1)整體性能測試 主要是服務(wù)器負載壓力測試,即常規(guī)負荷和極限負荷情況下的系統(tǒng)響應(yīng)時間和吞吐量。負載測試是為了測量Web系統(tǒng)在各種負荷級別上的性能,以保證整個平臺在各種復(fù)雜環(huán)境下能正常工作,不發(fā)生拒絕訪問的錯誤。負載級別的設(shè)計可以是在某個時刻并發(fā)訪問和連續(xù)訪問,也可以是同時在線不同類型數(shù)據(jù)處理的請求。此外,還要進行壓力測試。壓力測試是測試系統(tǒng)的極限和發(fā)生故障后的恢復(fù)能力,也就是測試系統(tǒng)在什么情況下崩潰,崩潰后在多長時間能恢復(fù),以何種方式恢復(fù)。
(2)數(shù)據(jù)有效性驗證 用戶的數(shù)據(jù)通常是以表單形式進行提交和采集的,用戶給系統(tǒng)提交信息一般有注冊、登錄、選貨、下單、支付、評論、咨詢等。在這種情況下,用戶提交給服務(wù)器的信息是否正確,是否存在SQL注入、腳本注入的危險,在測試中都必須進行驗證。如果表單對接受字符有類型要求、非NULL要求時,測試時還要輸入非指定字符或空字符,驗證系統(tǒng)是否會報錯并轉(zhuǎn)入相應(yīng)錯誤頁面。電商平臺購物車一般都有使用Cookies來實現(xiàn),Cookies的安全性也是需要重點關(guān)注的部分,要測試Cookies被非法復(fù)制后系統(tǒng)是否有相應(yīng)的提示。
(3)業(yè)務(wù)邏輯處理測試 測試系統(tǒng)業(yè)務(wù)處理過程中的正確性,其中包括銀行在線支付、手機驗證、Email驗證以及物流、商家、平臺的資金分成計算等。系統(tǒng)后臺系統(tǒng)必須能及時準確的處理所有業(yè)務(wù)。
3.數(shù)據(jù)訪問層測試
主要是對用于儲存和獲取系統(tǒng)相關(guān)信息的數(shù)據(jù)庫系統(tǒng)的測試。在任何一個Web應(yīng)用系統(tǒng)中,數(shù)據(jù)庫都起著至關(guān)重要的作用,數(shù)據(jù)庫為Web應(yīng)用系統(tǒng)提供數(shù)據(jù)存儲空間,為系統(tǒng)管理、運行、查詢等請求提供服務(wù)。對基于數(shù)據(jù)庫的Web應(yīng)用系統(tǒng)測試,關(guān)鍵是測試數(shù)據(jù)庫響應(yīng)時間、數(shù)據(jù)存儲的關(guān)聯(lián)性和完整性,以及數(shù)據(jù)庫系統(tǒng)的容錯及出錯后的恢復(fù)能力。
(1)操作響應(yīng)時間:量化結(jié)構(gòu)語言操作(Select、Insert、Update、Delete)、代理和事務(wù)的完成時間。電子商務(wù)系統(tǒng)軟件運行速度很大程度上取決與網(wǎng)站寬帶和數(shù)據(jù)庫存取效率,運行緩慢就會降低客戶體驗,甚至造成客戶流失。據(jù)微軟在用戶體驗方面的研究,只要確保用戶簡單數(shù)據(jù)操作在3秒內(nèi)響應(yīng)、復(fù)雜操作在5秒內(nèi)完成,就能使用戶有操作流暢的感覺。因此,積極確保網(wǎng)站能夠及時響應(yīng)用戶的請求和操作,是網(wǎng)站首要關(guān)注的問題。因此,在測試操作響應(yīng)時間上,也盡可能的去符合這一標準。
(2)數(shù)據(jù)表關(guān)聯(lián)性。通過分析數(shù)據(jù)表主鍵和外鍵的設(shè)置,評估數(shù)據(jù)存儲適當性和正確性。所謂數(shù)據(jù)關(guān)聯(lián)性測試,就是在數(shù)據(jù)庫表中發(fā)現(xiàn)不準確數(shù)據(jù)和表關(guān)聯(lián)關(guān)系丟失的過程。數(shù)據(jù)有效性測試是發(fā)現(xiàn)數(shù)據(jù)收集中的錯誤,而數(shù)據(jù)完整性測試是發(fā)現(xiàn)數(shù)據(jù)存儲中是否完整,對應(yīng)關(guān)系是否有效。
(3)數(shù)據(jù)災(zāi)備和恢復(fù)性。數(shù)據(jù)庫災(zāi)備和恢復(fù)性具有重要意義,測試數(shù)據(jù)庫在完全崩潰場景下的最小恢復(fù)時間是數(shù)據(jù)訪層測試的最重要環(huán)節(jié)。這個測試的過程,其實也在對數(shù)據(jù)庫崩潰處理預(yù)案的檢驗過程。在進行該項測試時,如果無法恢復(fù)數(shù)據(jù)庫或在指定恢復(fù)時間內(nèi)沒有完成,那么就需要修改備份策略和重新設(shè)計崩潰處理預(yù)案。
(二)整體測試
Web應(yīng)用界面設(shè)計就是給用戶的一種簡潔、舒適、有效的整體感,要讓用戶瀏覽Web時感到舒適愉悅,并保證用戶在第一時間找到價值信息。這也是整個Web應(yīng)用系統(tǒng)設(shè)計風(fēng)格的首要考慮因素和追求目標。對整體界面的測試過程,就是一個對最終用戶需求調(diào)查的過程。這個測試過程我們完全可以結(jié)合網(wǎng)站調(diào)查、電話回訪、有獎問答等形式進行,不僅得到最終用戶的反饋信息,對平臺進行了測試,還對平臺實施了一定的推廣營銷。
三、安全性測試
安全性測試,主要是對軟件系統(tǒng)加密/解密過程、敏感信息的傳輸穩(wěn)定性以及災(zāi)備和出錯后的自我修復(fù)能力的評測。安全性測試是保證軟件正常運行的基礎(chǔ)。
1.“藥材盈”電商平臺,采用的是匿名瀏覽,登陸交易的方式。如果要進行交易,必須先注冊登陸后才能進行相關(guān)操作。因此,測試主要工作為:測試用戶名(有效和無效的用戶)及密碼的登陸操作:是否大小寫敏感;是否存在SQL注入,腳本注入的危險;測試在不登錄的情況下是否可以直接瀏覽特定頁面等。
2.“藥材盈”電商平臺的超時限制,用戶登錄后在一定時間內(nèi)不進行任何頁面操作,再次操作后是否提示重新進行身份確認并自我修復(fù)。
3.用戶的所有操作是否有日志記錄,并且可查詢、可追溯。
4.測試在注冊、登陸、交易付款等關(guān)鍵節(jié)點是否使用安全套接字,加密/解密過程是否正確,并檢查信息的一致性、完整性。
四、“藥材盈”部分測試數(shù)據(jù)展示
(一)測試環(huán)境
2M ADSL(電信) 客戶端配置:CPU:Core I7 4核(2.0MHz) 4G內(nèi)存。
(二)測試方法
模擬一定數(shù)量的客戶端連續(xù)請求首頁,來對服務(wù)器進行壓力測試。以10個請求為一組連接向服務(wù)器發(fā)送1000個首頁請求,測試服務(wù)器的響應(yīng)時間和處理能力。
(三)結(jié)論
10并發(fā)連續(xù)8 000次的訪問以內(nèi),服務(wù)器的響應(yīng)時間和響應(yīng)速度基本恒定。在相同條件下與京東、淘寶、百度音樂進行橫向?qū)Ρ龋l(fā)現(xiàn)它們都對并發(fā)的連續(xù)訪問均有限制。“藥材盈”電商平臺從硬件環(huán)境及軟件開發(fā)方面可以滿足交易需求,性能達到中等水平。
五、總結(jié)
以前,在很多人認為軟件測試就是查問題、找缺陷,其實測試的關(guān)鍵在于發(fā)現(xiàn)并找到產(chǎn)生錯誤的源頭。軟件測試伴隨著軟件的開發(fā)全過程,從軟件開發(fā)前期準備到軟件開發(fā)后期完成,都要進行持續(xù)的測試,在開發(fā)之前要了解測試需求,建立數(shù)據(jù)模型,并對模型不斷進行測試,以驗證算法的正確性;在開發(fā)完成后還要測試是否達到了最初的設(shè)計指標要求。要想提高應(yīng)用程序的質(zhì)量,就必須在軟件整個生命周期中堅持測試。總之,加大軟件測試在軟件生命周期中的地位是保證軟件質(zhì)量的關(guān)鍵。
隨著“藥材盈”電子商務(wù)平臺的不斷升級完善,在工作中不斷研究和探索更加適合于電子商務(wù)軟件測試的新方式、新方法,增加內(nèi)測人員和內(nèi)測工作的基礎(chǔ)上,還須引入第三方的測試機構(gòu),甚至通過開展面向社會招募公測等形式,展開較大范圍、較廣深度的測試。只有這樣,才能更快、更好地提高整個軟件產(chǎn)品的質(zhì)量。
參考文獻:
[1] GB/T 20945-2007 信息系統(tǒng)安全審計產(chǎn)品技術(shù)要求和測試評價方法[S].
[2] GB/T 20984-2007 信息安全風(fēng)險評估規(guī)范[S].
[3] GB/T 15532-2008 計算機軟件測試規(guī)范[S].
[4] GB/T 15532-1995 計算機軟件單元測試[S].
[5] 古樂,史九林.軟件測試技術(shù)概論[M].北京:清華大學(xué)出版社,1979.
[6] 朱少民,等.軟件質(zhì)量保證和管理[M].北京:清華大學(xué)出版社,2007.[責任編輯 仲 琪]