



摘要:本文簡單介紹了無錫職業技術學院校友錄系統的作用及其特點。按照常見交流網站測試的流程,詳細敘述了校友錄系統的測試技術、方法和環境,根據測試計劃編寫并執行測試用例,匯總提交bug后對系統提出修正與完善的解決方案。
關鍵詞:校友錄;軟件測試;測試計劃;測試用例
2009年10月,無錫職業技術學院即將迎來50周年華誕。為了能讓校友們有一個寄托情思、交流信息的場所,經學院領導立項批準,筆者所在院系自主開發了校友錄系統。該系統自投入使用以來,基本滿足了廣大校友與母校及師生朋友之間的溝通聯系。但由于開發過程中的邏輯體系能見性較差,難于測量和控制,系統本身還存在著需要修正與完善的地方。軟件測試是保證軟件質量和可靠性的重要手段,下面我們就來深入地分析與研究軟件測試技術在該系統中的應用。
一、校友錄系統的結構與功能
1.系統結構
校友錄系統是一個B/S體系結構的信息系統,在數據庫服務器上安裝校友錄系統的數據庫,在Web應用服務器上使用IIS進行網站發布,在用戶瀏覽器端由于已預先安裝了Web瀏覽器(如IE、Firefox等),因此用戶只需輸入相應的網址信息即可使用本系統。其結構如圖1所示。
2.系統功能
根據本院校友工作的管理模式、要求和方法,系統分為普通用戶層和管理員用戶層。
(1)普通用戶層功能
①信息瀏覽:用戶可以查看瀏覽的信息,如杰出校友、校友企業、各地校友分會等;②信息查詢:按入學年份或畢業年份查詢出相應班級后再進行校友信息的查詢,也可直接輸入校友姓名進行信息的查詢;③校友注冊:注冊后校友可以登陸校友錄系統進行相關操作 ,如進入“用戶管理”修改本人注冊的信息、查詢本班同學的詳細信息、加入校友會等;④信息發布:注冊后的校友可以發表相關主題的文章寄語母校。
(2)管理員用戶層功能
①用戶管理:對已注冊用戶的用戶信息進行維護管理;②新聞管理:對新聞進行添加、修改、刪除和發布工作;③教師授權管理:對需要開放權限的教師進行授權管理,授權教師可以查詢到學生的基本信息和詳細注冊信息,未授權教師只能查詢學生的基本信息;④校友會審核管理:對提交進入校友會申請的用戶進行資格審核,通過后將其正式編入各地區校友會中。
二、軟件測試技術的選用
軟件的測試就是要在計算機上以各種可能的數據和操作條件對程序進行實驗,找出存在的問題并加以修改使之完全符合設計要求的過程。在動態測試中,通常使用白盒測試和黑盒測試,從不同的角度設計測試用例,查找軟件代碼中的錯誤。兩者各有優缺點,試論如下:
1.白盒測試
白盒測試根據被測程序的邏輯結構設計測試用例,使用語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、條件組合覆蓋、路徑覆蓋等覆蓋標準,力求提高測試覆蓋率。
2.黑盒測試
黑盒測試不考慮程序的內部結構與特性,只根據程序功能或程序的外部特性設計測試用例。常用于軟件確認測試。
在對白盒測試和黑盒測試的優點、缺點、性質等進行比較后(如表1所示),我們決定主要采用黑盒測試的方法。
三、校友錄系統軟件測試
1.測試流程
根據校友錄系統本身的項目特點,我們制定了如下的測試策略:
(1)制定測試需求。通過確定要測試的內容和各自的優先級、重要性使測試設計工作更有目的性,在需求的指導下設計出更多更有效的用例。
(2)測試重點偏向發現系統隱藏的缺陷。以80/20原理為指導,盡量做到在有限的時間里發現盡可能多的缺陷(尤其是嚴重缺陷)。
(3)測試計劃與測試需求制定、測試用例設計同步進行。
(4)先設計再完善。由于測試用例的編寫是一個不斷完善的過程,在有限的時間里,需要先設計出一整套測試用例,再逐步完善。
系統的測試流程如圖2所示。
2.測試類型
在測試過程中,我們采用多種類型的測試,比較全面的對系統進行測試。
3.測試工具
(1)數據驗證工具
本次測試使用的數據檢索工具為:Aqua Data Studio 4.7,鏈接后臺數據庫進行檢索,來驗證數據的正確性。
(2)壓力測試工具
由于本網站是面向網絡上的所有用戶開發,避免不了會遇到同時在線人數過多而產生的系統壓力,所以要進行系統的壓力測試,LoadRunner是壓力測試用自動化測試工具。
(3)其他工具
在測試文檔、和測試用例編寫的過程中均用到了Office軟件中的Word、Excel等,使用紅蜻蜓截圖工具對系統進行截圖。
4.測試用例設計
(1)測試用例的設計原則
測試用例設計的難點就是如何用較少的測試用例達到較高的覆蓋度。校友錄系統的測試用例更趨于針對系統功能和轉換規則所設計的測試方案。其對系統的每個特定功能點或操作的測試構成了一個個測試用例,能非常有效地檢驗出系統可能存在的錯誤或缺陷。等價類劃分、邊值分析、錯誤推測、因果圖等方法是幾種常用的方法。下面重點介紹前兩種方法。
①等價類劃分
根據程序的I/O特性,將程序的定義域劃分為有限個等價區段,即“等價類”。從等價類中選擇出的用例具有“代表性”。對于程序的規格說明是合理的、有意義的輸入數據構成的集合為有效等價類,否則為無效等價類。應按照輸入條件劃分為有效等價類和無效等價類。例如,校友錄系統在進行校友注冊時,要求注冊名首字母必須是字母。我們可以將此劃分為一個有效等價類:第一個字符是字母;同時還可以劃分一個無效等價類:第一個字符不是字母。在選擇測試用例時,可以為每個等價類編號,使一個測試用例盡可能覆蓋多個有效等價類。特別要注意的是,一個測試用例只能覆蓋一個無效等價類。
②邊值分析
選擇等價類的邊緣值作為測試用例,讓每個等價類的邊界都得到測試,選擇測試用例既考慮輸入亦考慮輸出。例如,校友錄系統可以輸入入學年份(1960年后)和畢業年份(2009年前)進行校友查詢。可以選擇如下的測試用例:入學年份為1959、1960、1961,畢業年份為2008、2009、2010等。
(2)測試用例執行
測試執行嚴格按照用例上的描述,測試結果與預期結果一致填寫“OK”,不一致填寫“NG”,并用紅色標記,在右側列注明bug號。如圖3。
四、測試總結與改進建議
經過對校友錄系統的全面測試,發現系統存在的缺陷主要可以分為三類。
(1)校驗類缺陷
輸入框校驗型的bug是最容易被開發者所忽視的一部分bug,然而輸入框校驗的完善卻是關系到檢索功能實現的關鍵步驟。校友錄系統中凡是涉及到數據框的部分都只做了簡單的非空驗證,而長度校驗、非法字符輸入等校驗均未實現。建議將校驗添加,并將提示的信息分類,以使用戶更加方便地使用此功能。
(2)界面顯示類缺陷
在校友總錄模塊中,開發做成的效果是:點擊圖片鏈接,點擊進入各個分院的校友錄。但是部分圖片沒有明確的傳達出分院的信息,建議將鏈接更換為提示信息更加明確的圖片,以便提升用戶體驗。
(3)程序運行類缺陷
程序運行類缺陷包括非空驗證、頁面刷新等功能的缺陷。例如當用戶輸入校友檢索條件后,跳轉到另一頁面,點擊返回之后回到首頁,但是Session變量值并沒有清空,用戶輸入的檢索信息仍然存在。建議使用自動刷新形式,方便用戶使用,提高系統效率。
參考文獻
[1]周鳴.針對B/S系統的軟件測試分析[J].電腦知識與技術2009,5: 626-628,630
[2]徐巍,賀庚英,李輝,宋子凱.教務管理系統的軟件測試與可靠性分析[J].湖北工學院學報2002,12: 43-45
[3]朱賀.黑盒軟件測試的用例設計技術[J].遼寧科技學院學報 2008,4: 29-30