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