軟件測試組織與管理及測試系列方法(一) 軟件測試
軟件測試是保證軟件質量的重要手段,本文從軟件質量和軟件測試的基本概念出發,介紹了有關軟件測試組織與管理及軟件測試的一系列方法,并結合我單位《涉外信息綜合管理系統》的軟件測試的組織實施過程,說明軟件質量和軟件測試的重要性和必要性。
軟件質量概述
信息技術的飛速發展,使軟件產品應用到社會的各個領域,軟件產品的質量自然成為人們共同關注的焦點。不論軟件的生產者還是軟件的使用者,均生存在競爭的環境中,軟件開發商為了占有市場,必須把軟件質量作為企業的重要目標之一,以免在激烈的競爭中被淘汰出局。用戶為了保證自己業務的順利完成,當然希望選用優質的軟件。質量不佳的軟件產品不僅會使開發商的維護費用和用戶的使用成本大幅增加,還可能產生其他的責任風險。在一些關鍵應用 (如民航訂票系統、銀行結算系統、證券交易系統等)中使用質量有問題的軟件,還可能造成災難性的后果。
軟件質量是指與軟件產品滿足規定的和隱含的需求的能力有關的特征和特性的全體。通常來說,軟件質量應該包含六方面的特性:
(1)功能性:軟件所實現的功能達到它的設計規范和滿足用戶需求的程度;
(2)可靠性:在規定的時間和條件下,軟件所能維持其性能水平的程度;
(3)易使用性:對于一個軟件,用戶學習、操作、準備輸入和理解輸出所作努力的程度;
(4)效率:在指定條件下,用軟件實現某種功能所需的計算機資源(包括時間)的有效程度;
(5)可維護性:在一個運行軟件中,當環境改變或軟件發生錯誤時,進行相應修改所做努力的程度;
(6)可移植性:軟件從一個計算機系統或環境移植到另一個系統或環境的容易程度。
軟件質量是一個軟件企業成功的必要條件,其重要性無論怎樣強調都不過分。軟件質量與傳統意義上的質量概念并無本質差別,只是針對軟件的某些特性進行了調整。
軟件測試的意義
軟件危機曾經是軟件界甚至整個計算機界最熱門的話題。為了解決這場危機,軟件從業人員、專家和學者做出了大量的努力,F在人們已經逐步認識到所謂的軟件危機實際上僅是一種狀況,那就是軟件中有錯誤,正是這些錯誤導致了軟件開發在成本、進度和質量上的失控。有錯是軟件的屬性,而且是無法改變的,因為軟件是由人來完成的,所有由人做的工作都不會是完美無缺的。問題在于我們如何去避免錯誤的產生和消除已經產生的錯誤,使程序中的錯誤密度達到盡可能低的程度。
1.軟件測試的概念
軟件測試的定義有許多種,其中比較權威的是IEEE在1983年提出的:“使用人工或自動手段來運行或測定某個系統的過程,其目的在于檢驗它是否滿足規定的需求或是弄清預期結果與實際結果之間的差別!
2.軟件測試的重要性
軟件測試在軟件生命周期中占據重要的地位,在傳統的瀑布模型中,軟件測試學僅處于運行維護階段之前,是軟件產品交付用戶使用之前保證軟件質量的重要手段。近來,軟件工程界趨向于一種新的觀點,即認為軟件生命周期每一階段中都應包含測試,從而檢驗本階段的成果是否接近預期的目標,盡可能早的發現錯誤并加以修正,如果不在早期階段進行測試,錯誤的延時擴散常常會導致最后成品測試的巨大困難。
事實上,對于軟件來講,不論采用什么技術和什么方法,軟件中仍然會有錯。采用新的語言、先進的開發方式、完善的開發過程,可以減少錯誤的引入,但是不可能完全杜絕軟件中的錯誤,這些引入的錯誤需要測試來找出,軟件中的錯誤密度也需要測試來進行估計。測試是所有工程學科的基本組成單元,是軟件開發的重要部分。自有程序設計的那天起測試就一直伴隨著。統計表明,在典型的軟件開發項目中,軟件測試工作量往往占軟件開發總工作量的40%以上。而在軟件開發的總成本中,用在測試上的開銷要占30%到50%。如果把維護階段也考慮在內,討論整個軟件生存期時,測試的成本比例也許會有所降低,但實際上維護工作相當于二次開發,乃至多次開發,其中必定還包含有許多測試工作。
文章來源于領測軟件測試網 http://www.kjueaiud.com/