- 1. 軟件質量:
軟件質量是軟件的生命,它直接影響着軟件的使用和維護。通常軟件的質量有下面幾個方面來評價質量的優劣:
(1) 軟件需求是衡量軟件質量的基礎,不符合需求的軟件就不具備質量。設計的軟件應在功能、性能等方面都符合要求,並能可靠地運行。
(2) 軟件結構良好,易讀、易於理解,並易於修改、維護。
(3) 軟件系統具有友好的用戶界面,便於用戶使用。
(4) 軟件生存周期中各階段文檔齊全、規范,便於配置、管理。
- 2. 如何評定軟件質量(評價模型):
一個軟件,我們如何評定呢?最通用的一個規范標准就是使用ISO/IEC 9126-1991 標准規定的軟件質量度量模特。這個標准在網上很容易down到,它不僅對軟件質量做了定義,還涉及了整個軟件測試的一些規范流程等等,設計測試計划的撰定,測試用例的設計。
ISO/IEC 9126-1991標准規定的軟件質量度量模型,它由3層組成,其中第1層稱為質量特性,第2層稱為質量子特性,第3層稱為度量。
圖1:ISO軟件質量度量模型
- 3. 軟件評價的過程(流程):
軟件質量評價的目的是為了直接支持開發並獲得能滿足用戶要求的軟件。最終目標是保證產品能提供所要求的質量,即滿足用戶明確的和隱含的要求。軟件產品的一般評價過程是,確定評價需求,然后規定、設計和執行評價,如圖所示。
圖2:軟件評價過程
- 4. 怎么去保證軟件的質量(執行評價):
為了在軟件開發過程中保證軟件的質量,軟件的質量保證活動應貫穿整個軟件生存周期的每一個階段。軟件的質量保證的措施主要有檢查、評審和測試。如圖所示,軟件質量保證的工作從項目一開始就應介入。
圖3:質量保證活動
個人理解:檢查和評審一般是由客戶,有經驗的PM,產品經理,軟件測試人員等等(廣義的QA)參與進來的活動,如項目中demo例會,在demo的同時,大家及時發現問題並討論分析,以這種方式發現軟件的問題。而測試一般是由QA(狹義的QA)參與進來的活動,它是一種普遍的測試行為,QA根據需求分析,設計test plan和test case,然后根據項目的schedule去執行測試流程,當然對於測試,不一定就是專業的測試人員,PM,產品經理,customer也會參與進來。例如在軟件Beta階段,往往有客戶參與進來。
- 5. 軟件測試 (圖3中的第四步)
簡單地說,軟件測試就是為了發現錯誤而執行程序的過程。在IEEE提出的軟件工程標准術語中,軟件測試被定義為:“使用人工和自動手段來運行或測試某個系統的過程,其目的在於檢驗它是否滿足規定的需求或弄清楚預期結果與實際結果之間的差別。” 軟件測試是與軟件質量密切聯系在一起的,歸根結底,軟件測試是為了保證軟件質量。
軟件測試是一個找錯的過程。軟件測試的過程亦是程序運行的過程。程序運行需要數據,為測試設計的數據稱為測試用例。測試用例的設計原則是盡可能暴露程序中的錯誤。
軟件是由人來完成的,所有由人做的工作都不會是完美無缺的。軟件開發是個很復雜的過程,期間很容易產生錯誤。無論是軟件從業人員、專家和學者做了多大的努力,軟件錯誤仍然存在。因而大家也得到了一種共識:軟件中殘存着錯誤,這是軟件的一種屬性,是無法改變的。所以通常說軟件測試的目的就是為了發現盡可能多的缺陷,並期望通過改錯來把缺陷統統消滅,以期提高軟件的質量。一個成功的測試用例在於發現了至今尚未發現的缺陷。
軟件測試的目的是以最少的人力、物力和時間找出軟件中潛在的各種錯誤和缺陷,通過修正各種錯誤和缺陷提高軟件質量,回避軟件發布后由於潛在的軟件缺陷和錯誤造成的隱患所帶來的商業風險。
具體軟件測試的流程,方法,規范等等略。