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