摘要:軟件測試在軟件開發(fā)全部過程中是關(guān)鍵性環(huán)節(jié),它對軟件的治療產(chǎn)生著決定性作用。文章對軟件各個開發(fā)階段中需要進行軟件測試進行了闡述。針對以B/S結(jié)構(gòu)為基礎(chǔ)的軟件測試技術(shù)展開了深入的分析和詳細(xì)的介紹。 

  關(guān)鍵詞:B/S結(jié)構(gòu);軟件測試;軟件結(jié)構(gòu) 

  中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2016)11-0096-03 

  B/S結(jié)構(gòu)全名為Browser/Server,即瀏覽器和服務(wù)器結(jié)構(gòu)。兩種結(jié)構(gòu)的聯(lián)合形式是在互聯(lián)網(wǎng)技術(shù)的興起下對C/S技術(shù)進行改造的重要技術(shù)。利用該種結(jié)構(gòu)可以通過WWW瀏覽器實現(xiàn),少量的實現(xiàn)是在事物邏輯前端(Browser)中,服務(wù)器端(Server)中實現(xiàn)的主要是事務(wù)邏輯,以上三者之間相互綜合,形成三層3-Tier結(jié)構(gòu),對客戶端電腦載荷進行了充分簡化,同時對系統(tǒng)進行了維護和升級,降低了系統(tǒng)的復(fù)雜性,通過降低升級,可以有效減少成本并減少工作量,實現(xiàn)用戶總成本的降低。該結(jié)構(gòu)的軟件系統(tǒng)自身的特征,促使其成為軟件系統(tǒng)測試中采用的特殊技術(shù)。 

  本文的主要內(nèi)容是以Web為基礎(chǔ),以B/結(jié)構(gòu)軟件系統(tǒng)為對象,分析該技術(shù)在軟件測試中的應(yīng)用。比較以Web為基礎(chǔ)的測試和傳統(tǒng)軟件測試之間的相同和不同之處,針對軟件測試提出了全新挑戰(zhàn)。將Web作為基礎(chǔ)的系統(tǒng)測試不但需要對設(shè)計的要求運行進行檢查和驗證,同時還要對系統(tǒng)在不同用戶中的瀏覽端的顯示進行評價,更重要的是,還要在最終的客戶角度實行安全性和易用性測試。 

  1 B/S結(jié)構(gòu)軟件的特點 

  B/S結(jié)構(gòu)軟件系統(tǒng)具有一定的特殊性,因而使得測試和其運用的測試技術(shù)同樣存在特殊性。B/S結(jié)構(gòu)軟件系統(tǒng)的特征主要有以下幾點: 

  后臺服務(wù)的訪問需要借助客戶端瀏覽器;界面的展示方式為網(wǎng)頁表單;運用了B/S結(jié)構(gòu)的軟件系統(tǒng)客戶端通常情況下只能完成瀏覽、查詢和數(shù)據(jù)輸入等較為簡單的步驟,多數(shù)工作的承擔(dān)著是服務(wù)器;用戶信息的保存主要采用的方式為Cookies;信息傳送網(wǎng)站為萬維網(wǎng)。 

  Web應(yīng)用軟件的基礎(chǔ)是HTTP協(xié)議以及HTML進行構(gòu)建的,這樣會使得Web應(yīng)用軟件需要完全遵循統(tǒng)一的結(jié)構(gòu),Web應(yīng)用軟件在運行中較為典型的結(jié)構(gòu)應(yīng)如下圖1所示: 

  2 B/S 結(jié)構(gòu)中 ERP 系統(tǒng) 

  2.1 B/S 結(jié)構(gòu)中 ERP 系統(tǒng)特點與難點介紹 

  B/S 結(jié)構(gòu) Web 應(yīng)用系統(tǒng)的早期使用技術(shù)應(yīng)用不多,在網(wǎng)絡(luò)技術(shù)發(fā)展下,B/S結(jié)構(gòu)越來越復(fù)雜,較多的框架和設(shè)計模式在不斷出現(xiàn)。實現(xiàn)了技術(shù)的持續(xù)更新,以及ASP、JSP、XML、CSS等技術(shù)的相繼出現(xiàn)以及Struts的廣泛性使用。B/S結(jié)構(gòu)系統(tǒng)規(guī)模的不斷擴大,其安全性能逐漸變成了B/S結(jié)構(gòu)的重點。[1] 

  ERP管理軟件不同于其他如見。管理會計是它的核心信息系統(tǒng),目的是為了規(guī)劃和識別企業(yè)的資源,獲取訂單、加工訂單、訂單交付等,最后是等待客戶付款。其中涉及了多種敏感信息例如企業(yè)財務(wù)、人力資源和采購?fù)緩降,因此,ERP必須要具備較高的安全性和精確性。 

  基于B/S結(jié)構(gòu)管理軟件ERP的特征,需要以B/S結(jié)構(gòu)為基礎(chǔ),對ERP提出更高要求。但是互聯(lián)網(wǎng)具有不安全性,這同ERP系統(tǒng)的高度要求是嚴(yán)重背離的,對此在B/S結(jié)構(gòu)基礎(chǔ)上的ERP要符合安全超文本傳輸協(xié)議(HTTPS)。SSL是利用40位關(guān)鍵字并采取RC4流加密算法,實現(xiàn)商業(yè)信息的加密。B/S結(jié)構(gòu)系統(tǒng)要保證程序具備高度健壯性,并且要實現(xiàn)互聯(lián)網(wǎng)爬蟲軟件調(diào)數(shù)據(jù)或修改數(shù)據(jù)情況進行截獲,一般會要求程序針對變化做出快速反應(yīng)。 

  2.2 軟件測試 

  軟件開發(fā)需要在不同的階段接受測試,依據(jù)行業(yè)的需要確定測試的開端。針對ERP行業(yè)的軟件來講,測試越早則對實際開發(fā)幫助性就越大。實施學(xué)習(xí)與概念階段自我測試,此時并不具有確切的測試標(biāo)準(zhǔn),主要是為了對行業(yè)的具體情況進行了解,同時掌握專業(yè)術(shù)語和熟悉基本業(yè)務(wù)流程。在多方面的考察和驗證中提高自身的行業(yè)了解程度。 

  需求分析階段測試要比學(xué)習(xí)和概念測試更重要,階段知識學(xué)習(xí)中對該領(lǐng)域知識實現(xiàn)有效的學(xué)習(xí),該過程在獲取知識中具有主動性。需求階段中主要是要和客戶共同討論,依據(jù)客戶的具體需求,將符合公司業(yè)務(wù)的內(nèi)容嵌入其中,這一階段十分特殊,其中會將浪費資源的功能進行刪除,對此同客戶進行交流很重要。該階段要進行反復(fù)測試,多溝通,有效實現(xiàn)客戶所提出的所有功能,幫助客戶將其需求理解進行功能文檔化,再向客戶進行提交,并對文檔結(jié)合客戶意見進行修正。針對需求量化與結(jié)構(gòu),要詳細(xì)給出相應(yīng)數(shù)據(jù)[2]在幾次的反復(fù)修正和測試后,就會達(dá)到客戶的預(yù)期了。 

  系統(tǒng)設(shè)計階段和系統(tǒng)實現(xiàn)階段兩者是開發(fā)期的主要內(nèi)容,該階段在測試中有著重要作用,它同軟件產(chǎn)品設(shè)計的成功和失敗之間存在直接性聯(lián)系。所以項目的設(shè)計必須有帶領(lǐng)者,清楚的了解系統(tǒng)的功能和結(jié)構(gòu),完成客戶要求的每一個功能,并且協(xié)調(diào)部分功能。這部分需要反復(fù)對照和分析客戶的需求,若問題不夠清楚,則需要想客戶進行再次確認(rèn),著同樣是一個測試過程。在經(jīng)過系統(tǒng)編碼階段后,驗證客戶的各種要求。測試的主要方式是黑盒和白盒測試。 

  3 Web軟件測試技術(shù) 

  Web應(yīng)用軟件測試技術(shù)主要指人們通常所說的B/S結(jié)構(gòu)軟件。全部軟件主要集中在服務(wù) 

  器端,用戶端主要在標(biāo)準(zhǔn)瀏覽器下對服務(wù)器端進行訪問。一般情況下,Web應(yīng)用軟件是可以被多個用戶在相同時間使用的,有的甚至可以每天為千千萬萬和用戶同時人提供訪問。 

  和普通的軟件系統(tǒng)比較,Web應(yīng)用軟件具備一定的特殊結(jié)構(gòu),Web應(yīng)用軟件的開發(fā)主要在固定結(jié)構(gòu)中對相應(yīng)的部分進行填充,而不是依據(jù)相應(yīng)的需求通過開發(fā)人員對結(jié)構(gòu)進行設(shè)定。對此Web應(yīng)用軟件的測試和運行會嚴(yán)重受到環(huán)境的制約,尤其在單元和集成測試中。[3]Web應(yīng)用潤阿金系統(tǒng)測試中可能和其他軟件在以下幾方面存在不同。 

  3.1 鏈接測試上的差異   鏈接主要是在Web軟件基礎(chǔ)上的主要特征,其是頁面切換與用戶引導(dǎo)不同功能頁面的重要途徑。鏈接測試主要針對的是整個Web應(yīng)用軟件,不是單方面的頁面。此外,需要在面對服務(wù)器端中生成頁面及鏈接,并不是形成單一的頁面。要對頁面上可能出現(xiàn)的所有鏈接進行測試。對每個鏈接進行測試,測試其是否和頁面以及服務(wù)器端程序之間是相互聯(lián)系的,若是相互聯(lián)系的是服務(wù)器端程序,則需要對頁面進行測試后,將用戶輸入符合的對應(yīng)程序進行輸入并提交。保證Web應(yīng)用系統(tǒng)中不會出現(xiàn)孤立性頁面,也就是不應(yīng)出現(xiàn)沒有鏈接指向的頁面,只有得知了正確URL地址,才能實現(xiàn)訪問。鏈接測試需要在集成測試階段中完成,也就是說,要在完整的Web應(yīng)用系統(tǒng)中對全部的頁面實現(xiàn)開發(fā)后才能進行鏈接測試。 

  3.2 Cookie測試 

  Web中應(yīng)用軟件的特殊機制之一就是Cookie測試,它可以對信息進行存儲并實現(xiàn)在Web軟件上實行過的一些操作作為序列,在用戶使用Cookie信息對某些頁面進行訪問時,Web會發(fā)送一些和用戶相關(guān)的信息,并且將該信息通過Cookie形式在客戶端計算機中進行儲存,并創(chuàng)建動態(tài)和自定義界面,或是對登錄信息進行儲存等,這些會保證客戶端和服務(wù)器的連接。在測試Web應(yīng)用軟件中,必須對Cookie是否可以正常工作進行測試,是否可以起到相應(yīng)的作用,并按照預(yù)定時間來保存,并且刷新Cookie產(chǎn)生的影響。 

  3.3 兼容性 

  系統(tǒng)有時會出現(xiàn)異常情況,這主要和他的系統(tǒng)不兼容造成的。兼容性測試就是要檢驗被測試的應(yīng)用系統(tǒng)和其他系統(tǒng)之間的兼容性。[4]對于B/S結(jié)構(gòu)下的Web應(yīng)用軟件的測試,兼容性測試過程主要是在對不同瀏覽器檢查或是在相同瀏覽器中的不同版本或是瀏覽器的不同設(shè)置對應(yīng)的系統(tǒng)影響。保證可以對主流瀏覽器和一般設(shè)置進行兼容。 

  3.3.1 測試平臺 

  市場上有很多不同的操作系統(tǒng),其中最常見的就是Windows、Linux、Unix等。Web應(yīng)用系統(tǒng)中最終的用戶會采取哪一種操作系統(tǒng),主要取決于用戶的系統(tǒng)配置。這樣,極易出現(xiàn)兼容性問題,相同的應(yīng)用在某些操作系統(tǒng)中依然可以保持正常運行,但是在其他的操作系統(tǒng)中就很有可能會出現(xiàn)失敗。對此,在發(fā)布Web系統(tǒng)前,需要在不同的操作系統(tǒng)中針對Web來實行兼容性測試。[5] 

  3.3.2 測試瀏覽器 

  在Web客戶端中,瀏覽器是最關(guān)鍵的構(gòu)建,不同廠商出產(chǎn)的瀏覽器對于Java、ActiveX、javascript和HTMl規(guī)格實行不同的支持。如:ActiveX的生產(chǎn)者是微軟公司,是專門為Internet Explorer設(shè)計的,Java是Sun設(shè)計的產(chǎn)品等。此外,框架和層次結(jié)構(gòu)風(fēng)格在不同的瀏覽器中也會出現(xiàn)不同的顯示,或是無法顯示情況。在不同瀏覽器中,安全性和Java設(shè)置是存在一定差異的。瀏覽器的兼容性測試方法還有一種是先創(chuàng)建一個兼容性矩陣。在該矩陣中,對不同廠商、版本所生產(chǎn)的瀏覽器在某些構(gòu)建和設(shè)置中的適用性進行測試。 

  3.4 并發(fā)訪問測試 

  由于Web軟件中一般不存在服務(wù)器端程序的直接性通信,服務(wù)器端程序的并發(fā)主要是受到Web服務(wù)器的控制,對此,服務(wù)器的并發(fā)測試很重要。若面向公眾將Web網(wǎng)站的應(yīng)用系統(tǒng)作為基礎(chǔ),連接速度的測試會十分重要,這是因為多數(shù)用戶在5s以上的時間未獲得頁面響應(yīng)情況就會離開。[6]Web應(yīng)用軟件中常見的問題是,服務(wù)器端程序若利用的是某種方式對客戶端的連接狀態(tài)進行記錄時,在多個用戶向同一服務(wù)器端程序訪問的過程中,可能會存在沖突,因而在對整個系統(tǒng)進行測試中要特別針對該種情況進行測試。 

  3.5 安全性測試 

  Web應(yīng)用軟件一般會對公眾進行開放,因此其安全性對于整個系統(tǒng)是非常重要的。Web應(yīng)用軟件的安全性不但和Web自身的額開發(fā)存在聯(lián)系,還和Web應(yīng)用軟件的運行主體系統(tǒng)的安全檢測和防護存在聯(lián)系。嚴(yán)格意義上,系統(tǒng)的安全漏洞也就是指系統(tǒng)的缺陷,這是系統(tǒng)測試的范疇之一。 

  Web安全性測試的區(qū)域主要為:當(dāng)前Web應(yīng)用系統(tǒng)主要采取的是先注冊后登陸方式。對此,需要測試其有效和無效的用戶名與密碼,同時注意大小寫等情況,限制嘗試的次數(shù),以及可以進行登陸直接對某個頁面進行瀏覽等。 

  Web應(yīng)用系統(tǒng)中的時間是否存在限制,指的是用戶在登陸后一段時間內(nèi),如10分鐘內(nèi),沒有點擊任何頁面,則是否重新進行登陸才能保證對其的正常使用。 

  為了實現(xiàn)Web系統(tǒng)應(yīng)用的安全性,日志文件的保密性是最關(guān)鍵的。需要對相關(guān)信息是否在日志文件中涉及,是否可以追蹤進行測試, 

  在使用了安全套接字過程中,要對加密的正確性以及信息檢查的完整性進行測試。 

  服務(wù)器端腳本經(jīng)常會出現(xiàn)安全漏洞,因而恰好可以被黑客所利用。對此還要對是否經(jīng)過授權(quán)進行測試,若沒有經(jīng)過授權(quán)則不能在服務(wù)器端在腳本中放置和編輯。[7] 

  4 小結(jié) 

  以B/S為基礎(chǔ)的Web應(yīng)用軟件測試是十分復(fù)雜的系統(tǒng)任務(wù),該結(jié)構(gòu)的軟件測試方法和傳統(tǒng)軟件測試之間存在一定的差異,且具有一定的特點。文章對兩種軟件的測試進行了論述,分析了不同軟件測試方法中會產(chǎn)生的測試結(jié)果。未來針對B/S結(jié)構(gòu)的研究還會繼續(xù)深入,測試方法和手段還會進一步加強,只有這樣才會保證B/S的軟件質(zhì)量和應(yīng)用效果。 

  參考文獻(xiàn): 

  [1] 宋俊雅,王鵬彪,黃俊爽,郭凌云.B/S結(jié)構(gòu)軟件的系統(tǒng)測試技術(shù)[J].科技信息,2010(10):247-248. 

  [2] 侯召成,劉偉,翟宜峰,熊璋,蒲菊華.基于B/S結(jié)構(gòu)的南水北調(diào)建管系統(tǒng)測試研究[J].水資源與水工程學(xué)報,2010(6):67-71. 

  [3] 李志崢,楊社堂.基于B/S結(jié)構(gòu)下的軟件系統(tǒng)測試研究[J].科技情報開發(fā)與經(jīng)濟,2006(7):232-234+251. 

  [4] 查修齊,吳榮泉,高元鈞.C/S到B/S模式轉(zhuǎn)換的技術(shù)研究[J].計算機工程,2014(1):263-267. 

  [5] 莊元東.基于B/S結(jié)構(gòu)下軟件系統(tǒng)的測試研究[J].計算機光盤軟件與應(yīng)用,2014(14):90-91. 

  [6] 王海龍,喬軍,徐新國.B/S結(jié)構(gòu)ERP管理軟件的測試方法研究[J].物聯(lián)網(wǎng)技術(shù),2013(3):48-50. 

  [7] 魏建軍.基于B/S結(jié)構(gòu)的銀行業(yè)務(wù)系統(tǒng)測試方法[J].中國金融電腦,2004(7):53-54.