李樹永 姚秋妹
[摘要]目前,信息化項目遍地開花,但在應用系統(tǒng)開發(fā)的質量、可交付性和項目的實施周期等方面仍需要軟件公司內部控制。明確用戶方的軟件測試相關流程,可使軟件更加貼合使用方需求,提高軟件的質量。
[關鍵詞]軟件測試;硬件驗收;軟件驗收;文檔驗收
[作者簡介]李樹永,河北省信息資源管理中心 ,河北石家莊,050071;姚秋妹 河北省女子職業(yè)技術學院講師,河北石家莊,050071
[中圖分類號] TP311.52 [文獻標識碼] A [文章編號] 1007-7723(2012)05-0047-0004
一、引言
為了加強應用系統(tǒng)開發(fā)的質量、可交付性和項目的實施周期等方面的控制,必須按計劃按步驟執(zhí)行驗收測試,形成規(guī)范的測試文檔,客觀地分析和評估測試結果,并跟蹤不合格現(xiàn)象,最終成功通過驗收,以保證驗收測試的全面性、效率性、科學性、規(guī)范性、徹底性。
系統(tǒng)測試應以全面深入為宗旨,大致分為前期準備、硬件測試驗收、軟件測試驗收、文檔測試驗收四部分,下面分別論述。
二、準備工作
準備工作是進行軟件測試的重要環(huán)節(jié),準備工作做得充分與否直接關系到系統(tǒng)測試的順暢與否、全面與否、準確與否。準備工作包括以下幾個方面:
(一)硬件方面準備
1.網絡環(huán)境準備:是否需要外網連接,是否需要交換機、路由器、網線等,如果需要,寫明具體的數(shù)量。
2.測試機準備:所需測試機的配置、數(shù)量及分配的IP。
3.其他硬件設備:如電源等設備、物品的具體數(shù)量。
(二)軟件方面準備
1.操作系統(tǒng)準備:如新系統(tǒng)對操作系統(tǒng)有特定要求,提前裝好所需系統(tǒng)軟件。
2.支撐軟件的準備:信息通所需的數(shù)據(jù)庫、支撐軟件、環(huán)境變量、不同版本不同廠家的瀏覽器等。
(三)測試內容準備
1.整理系統(tǒng)功能列表:根據(jù)建設方案、招投標文件、需求文檔等文件資料整理出系統(tǒng)功能表,為初次測試確定依據(jù)。
2.制定方案及準備測試用例:擬訂軟件測試計劃、方案,設計和生成測試用例、準備測試數(shù)據(jù),明確軟件產品的最重要部分。
(四)知識方面準備
測試人員提前學習熟悉系統(tǒng)的功能、需求、模塊、架構等一系列的知識,為即將進行的系統(tǒng)測試工作奠定堅實的基礎。
三、硬件驗收
硬件驗收是系統(tǒng)驗收的根基,關系到系統(tǒng)運行的穩(wěn)定、速度、安全性等多個方面。
硬件驗收包括以下幾方面:
(1)服務器所屬項目;(2)服務器的型號、序列號;(3)CPU的型號、序列號、個數(shù);(4)內存的型號、序列號、大小、條數(shù);(5)硬盤的型號、序列號、大小、個數(shù);(6)RAID卡、電源的序列號;(7)隨機附送的軟硬件情況記錄;(8)其他硬件設備的情況;(9)操作系統(tǒng)安裝情況、聯(lián)網情況、數(shù)據(jù)庫安裝情況、機器的名稱、IP等。
四、軟件測試驗收
軟件驗收為系統(tǒng)驗收的核心。對軟件質量、軟件的可維護性、軟件的易用性和軟件項目的實施周期起到“一錘定音”的作用。
(一)測試環(huán)境下的測試驗收
1.初次測試
依據(jù)系統(tǒng)功能列表中的功能進行逐個測試,測試中記錄以下情況:功能是否實現(xiàn),功能是否符合要求,測試時間。
系統(tǒng)測試類型有以下幾方面:
(1)功能測試:功能測試就是對產品的各功能進行驗證,根據(jù)功能測試用例,逐項測試,檢查產品是否達到要求的功能。
1)從軟件的功能是否全面;2)軟件功能是否正確;3)程序和數(shù)據(jù)是否與產品需求說明及用戶文檔的全總說明相對應。
(2)可靠性測試:指軟件在規(guī)定的時間和條件下不出現(xiàn)故障,持續(xù)運行的能力。
1)軟件不應存在導致軟件無法運行、崩潰或導致數(shù)據(jù)破壞、缺損的重大缺陷;2)測試一般包括成熟性、容錯性、易恢復性、數(shù)據(jù)是否具有校驗機制等方面。
(3)容錯性測試:評價軟件是否擁有異常處理手段;對關鍵操作、不可恢復的操作或可能引起災難性后果的操作應有明確的提示,并請求用戶確認。
(4)易用性測試:指軟件的易用程度。
1)用戶學習、操作軟件的難易程度;2)數(shù)據(jù)編輯、檢索、輸出的方便程度和靈活程度;3)易理解程度、易瀏覽性、可操作性。
(5)可維護性測試:
1)指用戶根據(jù)自己的要求、使用環(huán)境對軟件進行個性化定制的可能性、難易程度和靈活程度;2)運行出錯后,用戶自己發(fā)現(xiàn)、診斷、修改錯誤的可行性與工作量。
(6)性能測試:性能測試主要測試軟件的運行速度和對資源的消耗。通過調整系統(tǒng)所依賴的軟硬件配置、網絡拓補結構、工作站點數(shù)、數(shù)據(jù)量和服務請求數(shù)來測試軟件的移植性、運行速率、穩(wěn)定性和可靠性。重點關注以下幾點:
1)時間特性;2)資源特性;3)網絡特性。
(7)可移植性測試:通過硬件兼容性測試、軟件兼容性測試和數(shù)據(jù)兼容性測試來考察軟件的跨平臺、可移植的特性。重點掌握以下幾點:
1)兼容性:操作系統(tǒng)兼容性、異構數(shù)據(jù)庫兼容性、新舊數(shù)據(jù)轉換、異種數(shù)據(jù)兼容性、硬件兼容性等;2)適應性:在適應目前需求的基礎上,為將來可預見和不可預見的性能擴充留有余地; 3)可擴充性:新功能、新業(yè)務的增加能夠在不影響系統(tǒng)運行的情況下實現(xiàn)。
(8)安全性測試:通過非法登陸、漏洞掃描、模擬攻擊等方式檢測系統(tǒng)的認證機制、加密機制、防病毒功能等安全防護策略的健全性。重點掌握以下幾點:
1)軟件使用的安全性;2)數(shù)據(jù)的存儲、傳輸和訪問安全;3)安全測試期間,測試人員假扮非法入侵者,采用各種辦法試圖突破防線。
(9)用戶管理測試:對系統(tǒng)進行用戶添加,授權等一系列操作發(fā)現(xiàn)任何問題都記錄下來形成文檔,然后對用戶進行權限變更、刪除等一系列操作,文檔記錄問題發(fā)現(xiàn)時間、問題描述、問題原因、解決方法、解決時間等(詳細情況填寫問題記錄)。將發(fā)現(xiàn)問題由建設方提出解決方案,由用戶確定后進行修改。
(10)界面實現(xiàn)情況測試:界面要符合現(xiàn)行標準和用戶習慣。軟件企業(yè)可以形成自己的特色,但要確保整個軟件風格一致。界面測試要從友好性、易操作性、美觀性、布局合理、分類科學、標題描述準確等方面入手。重點掌握以下幾點:
1)背景和前景的顏色是否協(xié)調,顏色反差是否用得恰當;2)軟件得圖標、按鈕、對話框等外觀風格是否一致,美觀效果所要求的屏幕分辨率;3)窗口元素的布局是否合理,并保持一致;4)各種字段標題的信息描述是否準確;5)快捷鍵、按鈕、鼠標等操作在軟件中是否一致;6)窗口及報表的顯示比例和格式是否能適應用戶的預期需求;7)誤操作引起的錯誤提示是否友好;8)活動窗口和被選中的記錄是否高亮顯示;9)是否有幫助信息,菜單導航能否正常執(zhí)行;10)檢查一些特殊域和特殊控件能否運行。
具體操作方法為:選定模塊->選定功能->選定到本功能頁面上,點擊本功能頁面上的所有能點擊的按鈕、鏈接,及可能彈出的的頁面上的所有按鈕、鏈接,查看界面變換是否有非正常的情況出現(xiàn)。
根據(jù)以上幾方面的測試將測試問題形成文檔,內容包括問題描述、發(fā)現(xiàn)時間、解決方法,問題解決后填上解決時間。
2.回歸測試
當發(fā)現(xiàn)并修改缺陷后,或者在軟件中添加新功能后,重新測試,用來檢查被發(fā)現(xiàn)的缺陷是否被改正,并且所作的修改沒有引發(fā)新的問題,如果只對缺陷進行測試后就發(fā)布,那軟件的質量無法保證,后期軟件維護成本將大幅度提高,回歸測試可以通過人工重新執(zhí)行測試用例,可以使用自動化的捕獲回放工具來進行。
(1)根據(jù)發(fā)現(xiàn)問題進行針對性測試:根據(jù)上次測試形成的問題文檔,逐條進行測試,確認問題解決情況,并測試與發(fā)現(xiàn)問題相關的模塊、功能,防止解決一個問題出現(xiàn)另一個問題的情況出現(xiàn),若出現(xiàn)問題未解決或生成新問題的情況,需再次形成問題文檔,交建設方。問題全部解決后出具問題解決情況報告。
(2)根據(jù)系統(tǒng)功能列表按系統(tǒng)測試流程圖進行全面的測試,功能測試、可靠性測試、容錯性測試、易用性測試、性能測試、可維護性測試、可移植性測試、安全性測試、用戶管理測試、界面實現(xiàn)情況測試等幾方面進行逐一測試,形成問題文檔以備下次回歸測試使用。
回歸測試是一個反復的過程,新系統(tǒng)需要進行多次的回歸測試,才能達到盡量減少漏洞、錯誤的目的。
(二)實際環(huán)境下的測試驗收
由于軟硬件環(huán)境的不同,系統(tǒng)從模擬環(huán)境移至到實際環(huán)境時仍會出現(xiàn)很多模擬環(huán)境中類似或未出現(xiàn)過的問題。因此,在實際環(huán)境下的測試應與模擬環(huán)境下的測試走相同的流程,同樣需要按照系統(tǒng)功能表進行初次測試和反復的回歸測試,以保證測試的完整性、全面性,同時盡可能地減少系統(tǒng)的漏洞、錯誤。鑒于實際環(huán)境下存在其他系統(tǒng),因此實際環(huán)境下的測試應以盡量不影響其他系統(tǒng)為原則。
五、文檔測試驗收
文檔是軟件的重要組成部分,也是軟件質量保證和軟件配置管理的重要內容。文檔測試主要通過評審的方式檢查文檔的完整性、準確性、一致性、可追溯性和可理解性。
在文檔驗收時,要特別注意以下幾點:
(1)要明確文檔驗收的標準,軟件企業(yè)和用戶企業(yè)要達成一致;(2)確定文檔的重要性和項目文檔需求。比如,在驗收階段,用戶文檔(用戶手冊、操作手冊、維護手冊、聯(lián)機幫助文件)顯得特別重要,需要認真評審;(3)檢驗文檔完整性,主要是文檔的種類和內容的完整性;(4)檢驗文檔的一致性和可追溯性,主要是:軟件的設計描述是否按照需求定義進行展開的;應用程序是否與設計文檔的描述一致;用戶文檔是否客觀描述應用程序的實際操作;關于同一問題的描述是否存在不同的說法;(5)檢驗文檔的準確性,主要是文檔的描述是否準確,有無歧義,文字表達是否存在錯誤;(6)檢驗文檔的可理解性,主要審核文檔是否針對特定的讀者群體,表達是否詳細。如,操作手冊,除了描述每個模塊的操作,應該還提供關聯(lián)性崗位業(yè)務、部門業(yè)務和跨部門業(yè)務的操作說明。
總之,文檔驗收首先要確認文檔是否齊全(文檔條目見附件)。其次測試文檔內容是否準確,描述是否到位,即按照文檔中的內容描述,對照系統(tǒng)進行逐步操作,在無需軟件建設方任何說明的前提下,可以完成系統(tǒng)的功能即為合格。
系統(tǒng)測試是一項繁雜的工作,需要耐心細致地從軟硬件、文檔、功能、界面等多方面全方位考慮,測試過程中與軟件公司的交流溝通必不可少,這樣才能開發(fā)出相對完善的軟件。
[參考文獻]
[1]百度文庫.軟件測試模型[EB/OL].http://wenku.baidu.com/view/d0b1318dd0d233d4b14e692e.html.
[2]百度文庫.測試流程與各種測試介紹[EB/OL].http://wenku.baidu.com/view/abb44ed63186bceb19e8bb77.html.