前言:軟件迅猛發(fā)展凸現軟件測試問題
隨著軟件業(yè)蓬勃發(fā)展,各種軟件需求紛繁而來,在潮起潮落的IT洪流中,軟件項目越來越凸現大型化、復雜化的發(fā)展趨勢。幾十人上百人的開發(fā)團隊、成千上萬的模塊與接口、跨地域、跨系統(tǒng)的使用用戶等情況早已屢見不鮮,所有這些,對項目質量管理提出了更高要求,如何滿足各方需求,做出更好的軟件系統(tǒng)?測試管理逐漸成了大家目光的焦點。
軟件的質量靠什么,靠管理、靠各個軟件過程的嚴密配合。但勿庸置疑,質量的守護是靠測試。它就象一只看門狗,認真守護著軟件質量這個“家”。
軟件測試的重要性
測試是什么?測試就是對項目開發(fā)過程的產品(編碼、文檔等)進行差錯審查,保證其質量的一種過程。
軟件業(yè)的迅猛發(fā)展也就是近幾十年的過程,時間雖短,但許多誤解似乎已根深蒂固,對測試的偏見也是如此?!败浖闹攸c在于需求、在于分析、在于設計、在于開發(fā),而測試,容易,沒什么技術含量,找一些用戶,對照需求盡力去測就行了;有時間多測點,沒時間就少測點?!边@種看法在許多項目經理、軟件負責人的心中固守著,難以改變。
這種觀念的結果有目共睹,是什么?很簡單,是大量軟件BUG、缺陷的“流失”,從測試人員手中悄然而過,流失到用戶手中,流失進項目維護階段。隨之而來的,便是用戶無休止的抱怨、維護人員無休止的“救火”、維護成本無休止的增加。這是軟件人員的夢魘!
惡夢總有醒來時,經過無數教訓的重擊,在不堪回首而不得回首的經歷中,軟件業(yè)的管理者發(fā)現:是他們錯了,軟件測試是不可忽視的。
“所有這些問題,假如在項目中測試到的話,便不會有造成不可收拾的結果了。”――人們終于意識到測試簡單而純真的真諦。
軟件測試
軟件測試從直觀上來講是對測試對象進行檢查、驗證,似乎很簡單,但實際不然,它是由許多處理環(huán)節(jié)構成的。根據測試目標、質量控制的要求,它被劃分為以下各類環(huán)節(jié)(如下圖),并被設置了不同的準入、準出標準。
測試的主要過程及活動如上圖所示,內容一目了然,在此就不一一詳述了,只希望通過對測試重點問題、關注熱點的介紹,幫助大家對測試管理有一個總體的把握。
測試方式中普遍存在的問題與點評
談到測試,我們無法回避的是當前軟件過程普遍存在的測試問題:
1、 手工過多,缺少測試工具,自動化測試方式缺失。
傳統(tǒng)的項目測試還是以手工為主,測試人員根據需求規(guī)格說明書的要求,與測試對象進行“人機對話”。隨著軟件業(yè)的不斷發(fā)展及軟件規(guī)模的擴大,這種測試的弊端日益明顯:
· 大量的手工使項目人力成本、溝通成本居高不下;
· 人工操作的低效率使項目耗時增加,帶來進度風險;
· 人員素質及其他不確定因素會影響手工測試的結果,導致差錯率的增加。
· 在測試過程中,需要對測試案例庫進行統(tǒng)一配置管理,項目規(guī)模的激增使手工管理案例庫的難度日益加大,尤其是在需求變更、回歸測試頻繁發(fā)生的時候。
從古到今,當生產率阻礙了生產力的發(fā)展的時候,必然會引入更高級的生產工具及方式。項目測試也是這個道理,引入工具,引入自動化測試及管理,是項目測試的一大趨勢。
2、 缺乏文檔測試、檢查。
文檔是項目的重要產品之一,產品需求、功能分析、架構設計、詳細設計、用戶手冊、維護手冊等等,對于項目的測試、上線、維護等過程起到至關重要的參考、指導作用,所以它們的質量應該是項目重點關注點之一。令人遺憾的是,許多軟件項目對于文檔的重視只停留在口頭上,“編碼第一”的觀念似乎根深蒂固。
隨著需求不斷變更、補充,業(yè)務、技術人員忙于應付,無法騰出精力來進行文檔內容的修改及完善,往往是將包含需求變更內容的工作聯系單往需求文檔