软件质量保证SQA、软件测试ST
軟件質量保證
- 一、軟件質量保證(SQA)概念
- 1.SQA是什么?
- 2.軟件質量保證4種手段:評審、審查、走查、審計
- 3. 如何保證和提高軟件質量的兩種途徑
- 4.在軟件開發全過程實施SQA:有哪些環節?
- 5.SQA面向軟件開發過程
- SQA其他知識:
- 二、軟件質量保證和軟件測試的聯系和區別
- 1.兩者關系:
- 2.SQA
- 3.軟件測試
- 3.代碼審查屬于靜態測試
- 實驗2:代碼審查工作:代碼走查(集中到小目標里)
- 實驗3:基于某種測試管理工具管理軟件測試過程
- 測試工具
- 三、軟件測試(ST)
- 1.ST的基本思想與思維
- 1.1 ST主要手段
- 1.2 ST模型
- 2.ST過程管理
- 2.1 ST活動
- 2.2 ST理論
- 2.3 ST階段
- 三、單元測試
一、軟件質量保證(SQA)概念
1.SQA是什么?
軟件質量保證(SQA)是建立一套有計劃,有系統的方法,來向管理層保證擬定出的標準、步驟、實踐和方法能夠正確地被所有項目所采用。 它通過對軟件產品和活動進行評審和審計來驗證軟件是合乎標準的。軟件質量保證組在項目開始時就一起參與建立計劃、標準和過程。這些將使軟件項目滿足機構方針的要求。
- SQA目標:為滿足質量需求提供信任,從一開始避免缺陷。
2.軟件質量保證4種手段:評審、審查、走查、審計
評審review、審查inspection、走查walkthrough、審計audit
- 評審:目的:實現我們想要的,有技術人員完成
- 審查:像靜態測試(軟件不運行進行軟件測試),發現缺陷
- 走查:根據已經提出的測試用例,用人工的方法執行用例。人工按照代碼的邏輯走一遍
對象:復雜的、不熟悉的、易疏忽的
方法:形成問題單
3. 如何保證和提高軟件質量的兩種途徑
1.盡量在開發時期減少缺陷
2.通過分析和測試發現和糾正缺陷
好的開發方法和技術–關鍵+測試-不可缺少
4.在軟件開發全過程實施SQA:有哪些環節?
需求評審:
需求規格說明審查:
設計評審:設計評審檢查表進行審查……
設計審查
編程評審:程序可維護性、代碼審查……
5.SQA面向軟件開發過程
- 軟件過程控制被提出:產品質量由其生產過程的質量決定
- iSO9000:SQA體系最低標準
- CMM:通過持續改進的過程說明什么是SQA
SQA其他知識:
-
SQA有更加廣泛定義:
項目評審類型:
管理評審
同行評審:越正規形式化程度越高:審查>小組評審>走查
項目后評審
狀態評審 -
SQA:
工作產品類型與審查人員
評審的度量
評審效率
審查所需的文檔:審查勘誤表、問題記錄單…… -
SQA包括過程質量和產品質量
-
問題驅動的軟件質量過程控制–以缺陷為導向進行軟件過程控制,是一種特殊是過程控制方法
二、軟件質量保證和軟件測試的聯系和區別
1.兩者關系:
軟件質量保證不是靜態測試。SQA與軟件測試兩個屬于兩個范疇,沒有包含關系
SQA是一系列活動,軟件測試是一門技術一套方法,沒有誰包含誰。
SQA一列活動中需要用到各種測試技術,主要方法是開展一系列的評審、審查等活動。代碼走查、評審這些活動是靜態測試的一種方法。
軟件測試是SQA的一個措施。SQA的內容不討論軟件測試 軟件測試這種技術在SQA的過程中一定會用到,但不互相包含。
2.SQA
SQA包括審計、評審,發布報告、問題反映處理。
關注點是全過程盡量預防軟件缺陷發生。
在過程中采用各種措施:使用先進的軟件工程方法技術,軟件測試,進行正式的技術評審,標準的實施,控制變量,程序正確性證明,記錄、保存、報告軟件過程信息。
3.軟件測試
軟件測試:運行和檢驗系統的過程。使用人工或者工具。
軟件測試是軟件開發的一部分。是保證軟件質量和可靠性的關鍵技術手段
目標:缺陷預防、降風險、保證和評估質量。
軟件測試兩種手段/兩種分類:
靜態測試(不需要運行軟件):審查、走查,分析
動態測試(需要運行軟件):功能測試/黑盒測試(不需要了解軟件內部結構,依據需求進行測試)、結構測試/白盒測試(需要了解軟件內部結構,并對結構進行分析,分析后根據分析結構設計測試)
靜態測試和動態測試都有黑盒測試和白盒測試,區別是否需要分析軟件內部的結構。
黑盒測試:提取需求說明產生的結果,設計測試用例,實際得到的結果與希望結果對比。
白盒測試:分析源程序,需要結構分析,設計測試用例。
測試用例 test case:錯誤性大的數據。是一個二元組或者一組二元組。
測試用例的期望和斷言:斷言:計算出的期望結果。
3.代碼審查屬于靜態測試
新建項目:Console application
編譯問題
調試:debug
實驗2:代碼審查工作:代碼走查(集中到小目標里)
開發小組:完成軟件項目。開發計劃–編程–提供源代碼
走查小組:評審開發小組的……+評審計劃
靜態測試工具:cppcheck eg:內存泄漏
代碼格式不規范:source code formatter
實驗3:基于某種測試管理工具管理軟件測試過程
思考:測試用例及其關聯性問題
測試工具
缺陷管理工具–mantis
靜態分析工具–cppcheck
測試管理工具–TestLink(管理測試活動,有效管理測試任務)
單元測試工具–XUnit:JUnit、CPPUnit (找開源工具:SourceForge–https://sourceforge.net/projects/cppunit/)
單元測試工具:
VSTS 測試管理工具、軟件開發全過程管理工具
Parasoft C++ Test(收費)
三、軟件測試(ST)
ST是軟件生命周期SR中的重要組件,是SQA中的要素或重要措施。
成功的測試在于發現缺陷
1.ST的基本思想與思維
1.1 ST主要手段
手段:靜態、動態、白盒、黑盒測試,主要圍繞:如何設計測試用例(核心)
靜態、動態:是否運行軟件
白盒、黑盒:是否需要了解內部結構
代碼審查:靜態白盒
非技術性文檔測試:靜態黑盒
-
白盒測試:靜態和動態測試相結合–控制流技術、數據流技術
測試準則:語句覆蓋、判定/分支覆蓋、條件覆蓋(eg:x!=0&&x>0,不關心判定)、判定條件覆蓋、條件組合覆蓋、路徑覆蓋(z路徑覆蓋) -
黑盒測試,是普適的測試方法。窮舉所有可能的測試輸入才有可能發現錯誤(測試用例設計的局限:當軟件龐大,不可能完成;軟件規格說明書的表達偏差)
基本測試策略:正常情況+非正常情況、邊界情況(常用)、非法情況、強度情況、性能測試、非功能測試
測試準則:何時結束、覆蓋度 -
ST其他手段:手工測試、自動測試
白盒測試:被測對象轉化為圖,如控制流圖、數據流圖。選擇覆蓋技術。
1.2 ST模型
ST分類:
V模型:軟件測試中的瀑布模型
測試階段的任務:V&V(驗證和確認)verification:是否正確的做事請,validation:是否做了正確的事情
回歸測試、確認測試
軟件測試:驗證+確認。
軟件測試是軟件開發的一個子階段
2.ST過程管理
2.1 ST活動
核心:測試用例的選擇。盡可能覆蓋整個測試。
- 測試計劃:做什么,測試策略:怎么做,技術定義范疇
用例管理工具:TestLink
測試報告、
2.2 ST理論
2.3 ST階段
廣義的階段:
單元測試:測試、開發人員是單元測試的主體。主要技術:白盒測試
系統測試:主體:測試、開發。功能測試,黑盒測試。依據需求規格說明。
驗收測試:主體:客戶。功能測試,黑盒測試。依據需求規格說明。
維度1:
三、單元測試
主要技術:白盒測試
單元測試:獨立的程序單元。獨立的測試一段低層次上的獨立代碼
獨立測試:不考慮依賴,僅限特定代碼。
單元測試模式:
測試驅動:用例在代碼產生之前
代碼行測試:代碼形成后測試
單元測試階段:
靜態單元測試
動態單元測試
兩種測試交替進行
內容、任務:
模塊接口測試
單元測試的管理:
白盒測試技術
單元測試工具:
總結
以上是生活随笔為你收集整理的软件质量保证SQA、软件测试ST的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 梅原对justin wang 真人版
- 下一篇: VOIP是什么