软件质量保证与测试期末复习整理
概要(包含但不限于)
1.1基本概念:
1.2目的:
*最終目的是建立一個高可靠性的軟件系統的一部分。
測試是程序的執行過程,目的在于發現錯誤;
測試是為了證明程序有錯,而不是證明程序無錯誤。
一個好的測試用例在于能發現至今未發現的錯誤;
一個成功的測試是發現了至今未發現的錯誤的測試。
從用戶角度出發,希望通過軟件測試暴露軟件隱藏的錯誤和缺陷,從而考慮是否可接受該產品。
從軟件開發者角度出發,希望表明軟件產品不存在錯誤,驗證該軟件能正確地實現用戶需求,確立人們對軟件質量的信心。
從軟件管理者角度出發,希望花費有限的資源達到該軟件用戶的質量要求
?
1.3意義:
???????? 測試是程序的執行過程,目的在于發現錯誤(猜的)
1.4方式方法:
1. 靜態方法和動態方法
2. 黑盒測試、白盒測試和灰盒測試
3. 基于軟件開發階段的測試方法:需求測試、單元測試、集成測試、性能測試、壓力測試、容量測試、配置測試、回歸測試、安裝測試、安全性測試
4. 自動化:白盒測試工具、功能測試工具、負載壓力測試工具、測試管理工具
?
1.5軟件測試有哪些:
按測試技術
軟件測試可分為白盒測試和黑盒測試兩種。
按測試方式
軟件測試可分為靜態測試與動態測試兩種。
按測試階段
軟件測試可以分為單元測試、集成測試、確認測試、系統測試和驗收測試。
按測試內容
按照測試內容可以分為功能測試、壓力測試、性能測試、可靠性測試、安全性測試、兼容性測試、安裝測試、災難性恢復測試、回歸測試等。
2.1定義
定義1(ISO):
反映實體(可單獨描述和研究的事物,如活動、過程、產品、組織、體系或人,以及它們各項的任何組合)滿足明確和隱含需要能力的特性組合。
定義2(IEEE):
a)???? 系統、部件或者過程滿足規定需求的程度。
b)???? 系統、部件或者過程滿足顧客或者用戶需要或期望的程度。
c)????? 該定義相對客觀,強調了產品(或服務)和客戶/社會需求的一致性。
2.2從不同的層面或角度對質量就有著不同的理解。
從用戶出發的質量觀:質量是產品滿足使用目的的程度。
以產品為中心的質量觀:質量是軟件的內在特征。
生產者的質量觀:質量是產品性能符合規格要求的程度。
以價值為基準的質量觀:質量依賴于顧客愿意付給產品報酬的數量
質量核心是:滿足用戶需求
2.3影響軟件質量的因素:人、過程和技術
2.4軟件質量因素
功能性:軟件實現的功能達到要求的和隱含的用戶需求以及設計規范的程度,
可靠性:軟件在指定條件和特定時間段內維持性能的能力程度,
易使用性:用戶使用該軟件所付出的學習精力,
效率:在指定條件下,軟件功能與所占用資源之間的比值,
可維護性:當發現錯誤、運行環境改變或客戶需求改變時,程序能修改的容易程度,
可移植性:將軟件從一種環境移入另一種環境的容易程度。
2.5補充:
???????? 外部用戶是實際使用者,內部用戶是下一道工序的接收者
3.1相關內容:
(2)具體的質量保證和質量控制任務(包括技術評審和多層次測試策略);
(3)有效的軟件工程實踐(方法和工具);
(4)對所有軟件工作產品及其變更的控制;
(5)保證符合軟件開發標準的規程(當適用時);
(6)測量和報告機制。
在恰當的時間以正確的方式做正確的事情
3.2定義:
一種有計劃的,系統化的行動模式,它是為項目或者產品符合己有技術需求提供充分信任所必需的。也可以說軟件質量保證是設計用來評價開發或者制造產品過程的一組活動,這組活動貫穿于軟件生產的各個階段即整個生存周期。
設計用來評價開發或者制造產品的過程的一組活動,與質量控制有區別。
3.3目的:
目的是使軟件過程對于管理人員來說是可見的。
3.4CMM(能力成熟度模型):
3.4.1定義
是對于軟件組織在定義、實施、度量、控制和改善其軟件過程的實踐中各個發展階段的描述
3.4.2CMM的核心
是把軟件開發視為一個過程,并根據這一原則對軟件開發和維護進行過程監控和研究,以使其更加科學化、標準化、使企業能夠更好地實現商業目標。
4.1軟件度量相關概念:
4.1.1.定義
測量使得管理者和開發者能夠改善軟件過程;輔助軟件項目的計劃、跟蹤及控制;評估產生的產品(軟件)的質量。
4.1.2軟件過程度量概念:
軟件過程度量是對軟件過程進行度量的定義、方法、活動和結果的集合。
軟件過程度量不是單一的活動而是一組活動的集合,它本身也是一個系統的過程。
4.1.3軟件度量作用:
通過軟件度量增加理解;
通過軟件度量管理軟件項目,主要是計劃和估算、跟蹤和確認;
通過軟件度量指導軟件過程改善,主要是理解、評估和包裝。軟件度量對于不同的實施對象,具有不同的效用。
4.1.4軟件過程度量活動:
選擇和定義度量、制定度量計劃、收集數據、執行度量分析、評估過程性能、根據評估結果采取相應措施
4.5可靠性相關概念:
4.5.1定義:
在規定的條件下,在規定的時間內,軟件不引起系統失效的概率。該概率是系統輸入和系統使用的函數,也是軟件中存在的錯誤的函數;系統輸入將確定是否會遇到已存在的錯誤(如果錯誤存在的話);
???????? 注:
軟件可靠性是指在規定的條件下和規定的時間內,軟件不引起系統故障的能力。
軟件可靠性不但與軟件中存在的缺陷有關,而且與系統輸入和系統使用有關。
軟件可靠性是軟件質量特性中重要的固有特性和關鍵因素。
軟件可靠性反映了用戶的質量觀點。
4.6軟件重用概念:
軟件重用不僅僅是指軟件本身,也可以是軟件的開發思想方法、文檔,甚至環境、數據等,包括三個方面內容的重用:
開發過程重用,指開發規范、各種開發方法、工具和標準等。
軟件構件重用,指文檔、程序和數據等。
知識重用,如相關領域專業知識的重用。
?
?
5.1黑盒測試
5.1.1定義:
5.1.2方法:
等價類的劃分、邊界值分析、因果圖(魚骨圖)、決策表
5.2白盒測試
5.2.1定義:
5.1.2方法:
各種邏輯覆蓋、過程測試
6.1基本概念
軟件測試可以分為單元測試、集成測試、確認測試、系統測試和驗收測試。
單元測試:單元測試就是驗證軟件單元的實現是否和該單元的說明完全一致的相關聯的測試活動組成的。
集成測試:集成測試是在單元測試的基礎上,將多個模塊組合在一起進行測試的過程,主要檢查各個軟件單元之間的相互接口是否正確。
確認測試:又稱為合格性測試,用來檢驗軟件是否符合用戶的需求。
系統測試:系統測試是指將通過集成測試的軟件系統,作為計算機系統的一個重要組成部分,與計算機硬件、外設、某些支撐軟件的系統等其他系統元素組合在一起所進行的測試,目的在于通過與系統的需求定義作比較,發現軟件與系統定義不符合或矛盾的地方。
驗收測試:驗收測試主要根據用戶的需求而建立,是整個測試過程中的最后一個階段。
6.2原則:
?
7.1相關概念:
全面質量管理(Total Quality Management,TQM)是一個組織以質量為中心,以全員參與為基礎,目的在于通過讓顧客滿意和本組織所有成員及社會受益而達到長期成功的一種質量管理模式。
核心思想(全員性、全過程性、全面性)
7.2方法:
???????? 全面質量管理最重要的方法是PDCA循環,最早由美國質量管理專家戴明提出來的,所以又稱為“戴明環”。P(Plan)計劃;D(Do)執行;C(Check)檢查;A(Action)處理,它反映了質量工作過程的4個階段,通過4個階段循環不斷地改善質量。
七種工具是指在質量管理中廣泛應用的統計分析表、分層法、散布圖、因果圖、控制圖、直方圖、帕累托圖。大多使用數理統計方法,以從生產中收集到的數據為依據,適于過程的分析和控制。
?
7.3相關技術:
軟件質量控制技術是為解決軟件的實際問題而產生的。列出一系列由買主或客戶及開發者在軟件質量控制過程中經常遇到的一些問題及解決問題涉及的質量控制技術。
?
1.全面軟件質量控制技術
2.在此基礎上,介紹了6σ管理和零缺陷,并介紹了6σ設計流程和主要設計工具。6σ管理法是一種統計評估法,核心是追求零缺陷生產,防范產品責任風險,降低成本,提高生產率和市場占有率,提高顧客滿意度和忠誠度。
?
8.1定義:
軟件缺陷是指從產品內部看,軟件缺陷是軟件產品開發或維護過程中所存在的錯誤、毛病等各種問題;從外部看,軟件缺陷是系統所需要實現的某種功能的失效或違背(IEEE729)。
8.2類型:
8.3管理方法:
一個完備軟件缺陷管理過程通常會包括如下幾個方面:提交缺陷、分析和定位缺陷;提請修改相應的軟件;修改相應的軟件;驗證修改。
項目組會完整地記錄開發過程中的缺陷,監控缺陷的修改過程,并驗證修改缺陷的結果。
更重要的是,隨著組織的不斷發展完善,組織的過程會得到持續性的改進,所有項目的過程也都會相應的改進。
一個完整的軟件缺陷信息除了包含軟件缺陷類型、等級和優先級外還需要其它一些屬性,如缺陷標識、缺陷產生可能性、缺陷來源等。
9.1定義:
軟件配置管理是貫穿于整個軟件過程中的保護性活動,它被設計來:
標識變化;
控制變化;
保證變化被適當地實現;
向其他可能有興趣的人員報告變化。
軟件配置管理是在貫穿整個軟件生命周期中建立和維護項目產品的完整性。
9.2基本目標
軟件配置管理的各項工作是有計劃進行的。
被選擇的項目產品得到識別,控制并且可以被相關人員獲取。
已識別出的項目產品的更改得到控制。
使相關組別和個人及時了解軟件基準的狀態和內容。
10.1定義:
評審(Review)是指對產品或產品狀態進行評估,以確定與計劃的結果所存在的誤差,并提供改進建議。
10.2軟件評審的主要好處:
盡早發現和修改軟件缺陷、改善開發能力、縮短開發時間、縮減測試成本和時間、減少產品生命周期成本、減少軟件缺陷以及改善和開發人員之間的溝通等。評審可以在工作產品中發現一些遺漏的、冗長的內容,這在動態測試中是很難發現的。
10.3評審的幾種形式:
按照評審過程的正式程度、嚴格程度可以將評審分為非正式評審和正式評審。
非正式評審包括桌面審查、走廊聊天、伙伴測試或者結對編程等;
正式評審又可以分為管理評審、技術評審、審查、走查和審計等
?
?
?
?
11.1等價類
11.2邊界值
?
11.3決策表
決策表又稱為判定表,用于分析多種邏輯條件下執行不同操作的技術。
?
11.4因果圖
因果圖,也稱作依賴關系模型,主要用于描述軟件輸入條件(即“原因”)與軟件輸出結果(即“結果”)之間的依賴關系。因果圖可以直觀地表示各種依賴關系。
12.1邏輯覆蓋
語句覆蓋:在測試時首先設計若干個測試用例,然后運行被測程序,使程序中的每個可執行語句至少執行一次。這里所謂“若干個”,自然是越少越好。
?
判定覆蓋:設計若干測試用例,運行被測程序,使得程序中每個判斷的取真分支和取假分支至少經歷一次,即判斷的真假值均曾被滿足
?
條件覆蓋:設計若干測試用例,執行被測程序后,使每個判定中每個條件的可能取值至少滿足一次。
?
判定-條件覆蓋:要求設計足夠的測試用例,使得判定中的每個條件的所有可能的結果至少出現一次,并且每個判定的所有可能的結果至少執行一次
條件組合覆蓋(多重條件覆蓋):設計足夠多的測試用例,使得判定中每個條件的所有可能組合至少出現一次。要求這些結果的所有可能組合都至少出現一次。
路徑覆蓋:設計足夠多的測試用例要求覆蓋程序中所有可能的路徑。
從底向上由弱到強:
12.2路徑測試
12.2.1 DD路徑(Decision to Decision Paths)是決策到決策的路徑。所謂決策,是指一個序列語句,其開始位置是一個判定(決策)語句的開始,結束位置是下一個判定(決策)語句的開始,并且序列語句沒有分支。
12.2.2基路徑測試
基路徑是指將所有程序的路徑作為一個集合。在這些路徑當中必然存在一個最小路徑的集合
詳細步驟
步驟1:以詳細設計或源代碼作為基礎,畫出標準的流程圖,然后導出程序的控制流圖。
步驟2:計算控制流圖G的圈復雜度V(G)。
步驟3:確定基(獨立)路徑的集合,即確定線性無關的路徑的基本集。
步驟4:生成測試用例,確保基本路徑集中每條路徑的執行。
?
控制流圖G的圈復雜度V( G)定義為:
方法1:V(G) =E -N+2,其中,E是控制流圖G中邊的數量,N是控制流圖G中節點的數量。
方法2:將圈復雜度定義為控制流圖G中的區域數。
方法3:V(G)=P+1,P是流圖G中判定(謂詞)節點的數量。
總結
以上是生活随笔為你收集整理的软件质量保证与测试期末复习整理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 32位应用程序单个进程最大占用内存是4G
- 下一篇: 在Word XP中也能插入国际音标、拼音