1. 程式人生 > >軟件工程讀書筆記

軟件工程讀書筆記

階段 軟件質量保證 層次 測試 試用 AD -c 目的 人員

軟件本身無形態,它是復雜的知識高度密集的邏輯產品,其中不可能沒有錯誤。軟件實施工程過程中必須伴隨著軟件質量保證的活動,

而軟件測試是主要活動之一。在開發軟件的過程中,人們使用了許多保證軟件質量的方法分析、設計和實現軟件,但難免還會在工作中犯錯誤。

這樣,在軟件產品中就會隱藏許多錯誤和缺陷。對於規模大、復雜性高的軟件更是如此。在這些錯誤中,有些是致命

的錯誤,如果不排除,就會導致生命與財產的重大損失。

測試的目的是“說明程序能正確地執行應有的功能”,還是“表明程序沒有錯誤”?基於不同的立場,存在著兩種完全不同的測試目的。從用戶的角度出發,

普遍希望通過軟件測試暴露軟件中隱藏的錯誤和缺陷,以考慮是否可以接受該產品。而從軟件開發者的角度出發,則希望測試成為表明軟件產品中不存在錯誤的過程,

驗證該軟件已正確地實現了用戶的要求,確立人們對軟件質量的信心。因此,他們會選擇那些導致程效概率小的測試用例,回避那些易於暴露程序錯誤的

測試用例。同時,也不會刻意去檢測、排除程序中可能包含的副作用。顯然,這樣的測試對完善和提高軟件質量毫無價值。因為在程序中往往存在著許多預料不

到的問題,可能會被疏漏,許多隱藏的錯誤只有在特定的環境下才可能暴露出來。如果不把著眼點放在盡可能查找錯誤這樣一個基礎上,這些隱藏的錯誤和缺陷就

查不出來,會遺留到運行階段中去。如果站在用戶的角度,替他們設想,就應當把測試活動的目標對準揭露程序中存在的錯誤。在選取測試用例時,考慮那些易

於發現程序錯誤的數據。由於原始問題的復雜性、軟件的復雜性和抽象性、軟件開發各個階段工作的多樣性,以及參加開發各種層次人員之間工作的配合關系等因素,

使得開發的每個環節都可能產生錯誤。所以不應把軟件測試僅僅看成是軟件開發的一個獨立階段, 而應當把它貫穿到軟件開發的各個階段中。

軟件工程讀書筆記