天天看點

軟體工程之軟體品質

上一篇我們講了軟體工程的介紹,這一篇介紹軟體品質,大家都知道在軟體過程的不同階段修複軟體缺陷的代價是不同的,總的來說越早修複代價越低,是以我們應該早早的開始關注軟體的品質問題。

1.軟體品質的IEEE定義:

系統、部件或者過程滿足規定需求的程度。

系統、部件或者過程滿足顧客或者使用者需要或期望的程度

ANSI定義:

軟體産品中能滿足使用者給定需求的全部特性的集合

軟體具有所期望的各種屬性組合的程度

使用者主觀得出的軟體是否滿足其綜合期望的程度

決定所用軟體在使用中将滿足其綜合期望程度的軟體合成特性

軟體品質的方向:

(1)軟體結構方面

(2)功能與性能方面

(3)開發标準與文檔方面

2.SQA這個概念想必大家都不陌生,很多公司将軟體測試部門或者軟體測試人員稱為SQA,雖然這個稱呼不太專業,但也包含了SQA的大部分内容。

SQA:軟體品質保證,全稱:Software Quality Assurance

IEEE定義:

(1)一種有計劃的,系統化的行動模式,它是為項目或者産品符合已有技術需求提供充分信任所必需的。

(2)設計用來評價開發或者制造産品的過程的一組活動,與品質控制有關。

是一種應用于整個軟體過程的保護性活動,它包含如下方面:

(1)一種品質管理方法

(2)有效的軟體工程技術(方法和工具)

(3)在整個軟體過程中采用的正式技術複審

(4)一種多層次的軟體測試政策

(5)對軟體文檔及其修改的控制

(6)保證軟體遵從軟體開發标準的規程

(7)度量和報告機制

3.千年蟲問題想必大家都聽說過,正是因為程式員的疏忽,沒有人去了解程式的品質,導緻出現這樣的問題。因為技術、文檔,分析和需求導緻程式出問題的情況比比皆是,是以誕生了軟體測試這個專門度量軟體品質的活動。

軟體測試IEEE定義:軟體測試是使用人工或自動手段來運作或測定某個系統的過程,檢驗它是否滿足規定的需求或者弄清楚預期結果與實際結果之間的差别。

軟體測試的藝術中定義:

(1)測試是程式的執行過程,目的在于發現錯誤

(2)一個好的測試用例可以發現至今尚未發現的錯誤

(3)一個成功的測試能發現至今未發現的錯誤

4.軟體測試方法

(1)靜态測試和動态測試

軟體工程之軟體品質
軟體工程之軟體品質

(2)黑盒測試,白盒測試和灰盒測試

繼續閱讀