軟件安裝卸載測試
你執行過軟件安裝測試嗎?感覺如何?好吧,安裝測試(實施測試)是軟件測試生命周期中很有意思的一個環節。
安裝測試很像在你的家中介紹一個賓客,為了使他感覺舒服,這個賓客被有針對性的介紹給家中的每一個人,新軟件的安裝也很像上面的例子。
如果在新的系統下安裝很成功,客戶會很高興,但是如果事情正好相反呢?如果安裝失敗,然后我們軟件不能在那個系統下工作,而且對用戶的系統也造成很大的損害,用戶可能要求重新安裝整個操作系統。
在上面的例子中你是否給用戶留下些印象?非也,你給忠實用戶不好的第一印象是因為不徹底的安裝測試引起的。為了留下好的第一印象你需要做些什么呢?測試安裝程序需要在不同配置不同機器上適當的將手工和自動化過程結合起來。安裝測試的主要關注點是時間,甚至單條測試用例都會花費很長的時間,如果你要測試一個大型的應用安裝程序,你應該想想在不同配置下執行大量的測試用例需要多長時間。
我們來看看執行手工測試的不同方法和自動安裝過程的一些基本介紹。
開始安裝測試的第一步是確定你要在多少種不同系統配置下測試,準備一個基本的硬盤驅動器,用最常用或者默認的文件系統格式化這個硬盤。在這個硬盤上安裝最常用的操作系統(Windows)并安裝一些必備的組件,每次在這個基本的硬盤上創建備份時,你也可以在其上創建其他配置。確保每一中配置在接下來的測試中都能使用,如操作系統和文件格式。
在這個過程中我們怎么去使用自動化呢?使用一些系統工具為基本配置創建基本鏡像(用軟件如Norton Ghost可以快速的為操作系統創建另外的備份),這將會為你每一次的測試節約大量時間。例如,如果你在一個基本配置下安裝一個OS需要1個小時,那么你每一次在新OS下執行測試都需要1個多小時,但是創建了OS備份,僅僅需要5-10分鐘,你將節約40-50分鐘的時間。
你可以在一種操作系統下多次嘗試安裝軟件的安裝,每一次卸載應用程序,并為下一次測試準備基本的狀態。這里要注意:在這之前你的卸載項目應該執行過測試,并能正常運行。
一些廣泛測試用例的安裝測試建議:
1) 使用流程圖去執行安裝測試,流程圖明確我們的任務,看基本安裝測試流程圖的例子。
在這個基本的流程圖中添加更多的測試用例,例如,如果我們的應用程序不是第一次發布,試著添加不同的本地安裝路徑。
2) 如果你早先安裝了應用程序的上一個版本,在下一次測試用例中,在緊湊版本相同的路徑上安裝應用程序版本。
3) 如果你要使用流程圖測試安裝過程中寫入硬盤上的不同文件,要用相同的流程圖,以便硬盤上所有安裝文件的卸載測試。
4) 用流程圖去提高自動測試效率,它能很容易的將圖轉化為自動化腳本。
5) 測試安裝腳本用來檢驗所要求的硬盤空間,如果安裝程序要求1MB的空間,確保在安裝過程中大于1MB的空間或者是否有更多的空間被使用。如果是,這就是個錯誤。
6) 在不同文件系統格式上測試需要硬盤空間的大小,像FAT16將會比NTFS或者FAT32文件系統格式占用更多的空間。
7) 如果可能的話,只創建磁盤鏡像的專用系統,這樣的話將會節約你的測試時間。
8) 用分布式的測試環境便于開展安裝測試,分布式環境往往節約你的時間,而且你可以從單個機器中更有效的安排所有不同的測試用例。這種好的方法是創建一臺主機,在網絡上控制不同的從機,你可以在主系統下同時在不同機器上開始安裝。
9) 試著用自動化的程序去測試寫入硬盤上的文件,你可以保留一份寫入硬盤上的文件清單和表格,并把這份清單作為自動腳本的輸入,將會檢測每一個路徑,驗證其正確安裝。
10)利用市場中免費的軟件,驗證成功安裝后注冊表的變更。安裝后,驗證注冊表的變化是否與你所預料的變更一致。
11)在安裝中強制中斷安裝,看看系統反應,系統是否無任何問題的恢復到它原始狀態。你可以在安裝的每一步,測試這種安裝中斷。
12)硬盤空間檢查:這是在安裝測試場景中一項關鍵檢查。你可以選擇不同的手工和自動化方法去執行這種檢查。在手工測試方法中你可以在安裝前檢查硬盤的可利用空間,通過安裝程序腳本去檢查安裝程序是否計算并準確報出硬盤空間。檢查安裝后的硬盤空間驗證準確使用的安裝磁盤空間。在安裝過程中,通過一些工具運用可利用硬盤的各種結合去自動使硬盤滿,檢查安裝過程中磁盤不足時的系統反應。
13)當你檢查安裝時你也可以進行卸載測試。在新一輪的迭代安裝前確保卸載后所有寫入硬盤的文件都被移除。有時卸載常常只移除最后更新安裝的文件,而老版本文件沒移除。另外檢查卸載后的手動重新啟動選項并強行重啟。
我涉足過很多領域的手工和自動安裝測試程序,仍然有很多領域你需要去關注強制重啟,取決于安裝下你軟件的復雜程度。這里沒有涉及重要任務包括通過網絡安裝,網絡安裝,補丁安裝,安裝數據庫檢查,共享dll安裝和卸載等。