摘要:軟件測試是保證軟件質量的重要手段。如何組織軟件測試,耗費最少時間與最小工作量完成軟件測試,使軟件質量滿足用戶要求,是軟件研發單位需要解決的問題。本文結合工程實踐,從軟件的可測試性及測試組織等方面探討提高軟件測試效率的方法。 關鍵詞:可測試性;軟件測試;測試人員; 引言 自從上世紀七八十年代全面爆發軟件危機起,軟件產業的發展過程中始終伴隨著巨大的管理難題。整個軟件產業存在著軟件代價高、難于控制開發進度、軟件工作量估計困難、質量低,以及軟件修改、維護困難等問題。而要解決這些問題,在很大程度上取決于提高軟件的設計、開發和測試質量。 隨著軟件開發規模的增大,軟件的質量問題越來越突出。軟件測試是提高軟件質量的有效途徑,在軟件測試工作中投入的人力、物力、財力逐漸加大,國外有些軟件公司的測試人員和開發人員的比例甚至達到1:1或2:1的程度,因此如何提高軟件測試效率是每個軟件研發單位和研發項目面臨的嚴峻問題。 本文結合工程實踐,從軟件的可測試性和軟件測試組織兩個方面進行分析,探討提高軟件測試效率的方法。 1、影響軟件測試效率的因素 影響軟件測試效率的因素很多,本文只論述被測軟件質量和軟件測試組織對軟件測試效率的影響。通過軟件測試可以發現軟件中的某些問題,軟件中存在的某些潛在問題由于受測試工具、測試方法和測試時間的限制而無法發現,測試中發現的問題最終需要通過軟件開發人員進行糾正,從某種角度來看,軟件測試并不能從根本上提高軟件質量,軟件質量的高低直接取決于軟件開發人員的設計與編程水平,好的軟件開發人員編寫完成的軟件具有問題少、易維護等特點,但有時會出現修改完成了一個軟件缺陷,同時又引人多個軟件缺陷的情況,需經過多輪回歸測試才能夠完成問題歸零。所以,雖然軟件測試是提高軟件質量的有效途徑,但提高軟件開發人員的水平,提高反映軟件設計質量和開發質量的軟件的可測試性是提高軟件質量的根本途徑。 軟件測試人員對項目需求的理解程度,對測試理論、測試工具和測試方法的掌握程度,以及對被測軟件模塊在項目中的重要程度和成熟程度的認識,對軟件測試效率同樣有很大的影響,所以在工程中需合理組織軟件測試,提高軟件測試效率。 2、軟件的可測試性 2.1 可測試性軟件的特征 可測試軟件具有以下特征: (1)可操作性??刹僮餍允侵福罕粶y軟件的錯誤很少,可以避免重復測試的開銷;沒有阻礙測試連續執行的錯誤;在軟件設計時應允許在開發階段進行部分測試活動。 (2)可觀察性??捎^察性包括:每個輸入有唯一的輸出;系統狀態和變量可見,或在運行中可查詢;過去的系統狀態和變量可見,或在運行中可查詢;所有影響輸出的因素都可見;容易識別錯誤輸出;自動報告內部錯誤;可獲取源代碼。 (3)可控制性??煽刂菩允侵福核锌赡艿妮敵龆籍a生于某種輸入組合;通過某種輸入組合,所有代碼都可能被執行;軟件測試人員可直接控制軟件和硬件的狀態及變量;輸入和輸出格式保持一致且有規范的結構;能夠便利地對測試進行說明,以及方便地執行和重構測試。 (4)可分解性。軟件系統由眾多獨立模塊構成,每個軟件模塊均可獨立進行測試。 (5)簡單性。簡單性包括功能簡單性、結構簡單性、代碼簡單性。 (6)穩定性。軟件的變化是不經常的,變化是可控制的,軟件的變化不影響已有的測試,失效后能夠得到良好恢復。 (7)易理解性。易理解性包括:設計能夠被很好地理解;內部、外部和共享構件之間的依賴性能夠被很好地理解;測試人員可方便獲取技術文檔,并及時掌握設計更改情況;技術文檔組織合理、明確詳細。 2.2 提高軟件可測試性的途徑 在實際工作中,可通過以下幾個途徑提高軟件的可測試性:減少并控制需求的變更;加強軟件可測試性的設計;重視并規范技術文檔的編寫。 2.2.1 減少并控制需求的變更 用戶需求可分為如下三個層次:基本需求、預期需求和擴展需求三類。其中預期需求是明示的,而基本需求和擴展需求是非明示的。所謂擴展需求是指這些特征在用戶的期望范圍之外,并且當其存在時將是非常令人滿意的。由于種種原因,軟件的需求不確定性是客觀存在的,是不可避免的,軟件規模越大,研制周期越長,需求的不確定性就越大。軟件需求不確定性原因主要包括:用戶在表述需求時常常帶有不確定性與模糊性;隨著開發進程的推進,用戶對所建應用系統理解的不斷深入,對原來模糊的或非明示的需求有了新的認識,隨時會提出需求的變更;由于開發人員的領域知識的局限性,導致引發對需求的誤解;用戶需求的獲取過程與描述形式往往采用非形式化的自然語言,以及自然概念中存在的本質矛盾,使需求的規范描述發生困難。 (1)識別項目需求 識別項目需求是項目成功的關鍵,為了減少需求的不確定性,首先應充分認識確定需求的重要性,通過與用戶的溝通,使用戶能充分認識到軟件需求的變更對軟件質量、進度和成本的影響,積極參與到確定軟件需求的活動中,達到在進行軟件設計前盡量確定軟件需求的目的。同時在識別項目需求時,除了用戶明示的需求外,還需關注用戶基本需求,用戶基本需求常常體現在項目的領域知識、項目所在行業的相關標準等方面。實踐證明,開發人員對領域知識掌握的程度直接影響到項目需求的確定,開發人員通過對領域知識的積累有助于項目需求的確定。 (2)需求文檔化及需求評審 按照軟件工程化要求,用戶應該向研制方正式提交需求文檔,研制方根據用戶需求進行需求分析形成產品需求,用戶需求及產品需求均需文檔化并經過評審,以盡早發現不合理的需求。 (3)需求管理、需求變更的控制 在系統研制過程中應對需求進行管理,首先建立需求庫及需求跟蹤矩陣,在需求跟蹤矩陣中反映研制各階段工作產品與需求的對應關系,并對需求進行需求的雙向跟蹤。 (4)采用軟件需求管理工具 采用需求管理工具,可以提高需求管理工作流程的自動化程度,使需求管理可以在項目實施過程中得到有效地推行。需求管理工具可以在整個項目生命周期內,幫助團隊有效地協作,將需求的變更信息及時傳送到團隊的每個成員,可以使跨項目團隊的所有成員都能掌握必要的需求詳細信息,并對軟件項目規劃、項目跟蹤與監督實施管理。 2.2.2 加強軟件可測試性設計 在項目設計階段應注重對軟件可測試性的設計。項目負責人可根據項目具體情況對軟件可測試性提出具體要求,對軟件注釋率、軟件模塊規模、模塊圈復雜度、基本圈復雜度、操作數的個數以及過程出口個數等進行規定,在軟件設計及編程階段嚴格按照規范執行,可有效地提高軟件測試效率。實踐證明,如果在項目設計階段不進行軟件可測試性的設計,待軟件完成后再根據可測試性要求對軟件進行修改完善常常需要花費巨大的人力和物力,同時大量修改對軟件質量也會帶來不利影響。 2.2.3 重視并規范技術文檔的編寫
技術文檔不僅是開發人員進行信息交流的手段,也是測試人員進行測試的依據。所以軟件相關文檔應描述明確詳細,組織合理,并根據需求和設計的變更及時更新。同時為了給獨立測試人員提供更多的信息,在技術文檔中可增加各軟件模塊的重要程度、重用性及測試歷史等信息,使得獨立測試人員可以合理分配精力,對重要軟件進行重點測試,減少不必要的重復勞動,提高測試效率。
軟件模塊級測試分為白盒測試和黑盒測試。黑盒測試注重于測試軟件的功能性需求,試圖發現功能缺陷或遺漏、界面錯誤、數據結構或外部數據庫訪問錯誤、性能錯誤及初始化和中止等類型的錯誤。白盒測試依賴對程序細節的嚴密檢驗,對軟件的邏輯路徑進行測試,在不同的程序點檢驗“程序的狀態”以判定預期狀態或待驗證狀態與真實狀態是否相符。在軟件測試中,常常結合黑盒和白盒兩種測試方法,相互補充。 軟件測試可由軟件開發人員、獨立測試人員或用戶進行。在組織軟件測試時,可根據不同人員的特點進行組織,使得各類測試相互補充。 軟件開發人員熟悉軟件需求及被測軟件,清楚各軟件模塊的重要程度和相互關系,了解各軟件模塊以前的測試及修改等歷史情況,可以有針對性地進行測試;軟件開發人員和用戶交流較為方便,在測試中能夠發現與需求不一致的軟件錯誤。但是開發人員急于證明他們的程序是毫無錯誤的,是按照用戶的需求開發的,而且完全能夠按照預定的進度和預算完成,這將影響開發人員完成相關測試任務。 獨立測試人員應具備較強的測試理論水平和測試經驗,熟練掌握軟件測試工具,并知悉被測軟件的功能需求才能夠對軟件進行系統全面的測試。但獨立測試人員有時會缺乏相應領域的專業知識,主要測試依據是用戶的技術要求及開發人員在軟件研制過程中形成的文檔,一方面這些文檔中缺乏對用戶基本需求的描述;另一方面,獨立測試人員常常需通過開發人員來進行需求的理解,因此在軟件測試中有時無法發現軟件不滿足需求方面的錯誤。但這種錯誤往往從用戶角度來看是最嚴重的。同時,獨立測試人員由于對各軟件模塊的重要性及相互關系了解不深。有時會影響測試效率。 在條件允許的情況下,軟件完成后可提交用戶試用。用戶在試用中根據實際使用需求進行操作,其中包括各種正常操作流程和非正常操作流程。用戶試用可有效檢驗軟件是否滿足用戶需求,同時在用戶試用中對軟件的可靠性等方面也同步進行了測試。因為用戶試用方式同實際使用方式非常接近,所以通過用戶試用獲得好評的軟件基本可以滿足今后的實際使用要求。 3.3 提高軟件測試效率的方法 為了提高軟件測試效率,測試人員需要熟悉掌握軟件涉及的領域知識,了解軟件各項功能的重要程度和成熟程度,掌握測試理論和工具;用戶是驗證需求正確性的主導力量,應充分發揮用戶的積極作用。 在組織軟件測試時,可通過以下幾個方面提高軟件測試效率:
4、結束語 實踐證明,通過提高被測軟件的可測試性,以及合理組織軟件測試工作,可以有效地提高軟件測試效率。隨著軟件測試的重要性得以承認,軟件測試階段在整個軟件開發周期中所占的比重也日益增大。為了將缺陷和錯誤消滅在萌芽之中,軟件測試將逐步發展成為軟件開發每一階段都要進行而且需要反復進行的活動。軟件測試中大量的工作是機械的、重復的、枯燥的和非智力的,但逐步加強軟件自動化測試的研究和推廣將是今后軟件產業的發展趨勢。 |
原文轉自:http://www.uml.org.cn/Test/201303044.asp
美腿女神? 妹妹愛上我 撒旦總裁的妹妹情人 美女機器人 mm520.ga
情趣寫真 傳比基尼的外星人 蒙古國美女 言承旭寫真 mm520.gq