版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、實(shí)用軟件測(cè)試技術(shù)第1章 軟件測(cè)試概述內(nèi)容簡(jiǎn)介 軟件測(cè)試基礎(chǔ) 軟件測(cè)試發(fā)展史和發(fā)展前景 軟件測(cè)試行業(yè)標(biāo)準(zhǔn) 軟件測(cè)試人員的基本素質(zhì)和需具備的思維方式本章導(dǎo)讀本章導(dǎo)讀什么是軟件測(cè)試?為什么要做軟件測(cè)試?本章試圖從軟件工程和軟件生命周期的角度去解釋軟件測(cè)試的基本概念,軟件測(cè)試的目的和意義以及對(duì)于軟件開發(fā)和質(zhì)量保證的重要性,為學(xué)習(xí)和掌握軟件測(cè)試技術(shù)做好準(zhǔn)備。1.1軟件測(cè)試基礎(chǔ)1.1軟件測(cè)試基礎(chǔ) 在最早的工業(yè)制造和生產(chǎn)中,測(cè)試是被定義為“檢驗(yàn)產(chǎn)品是否滿足預(yù)定需求”的生產(chǎn)過程,而軟件測(cè)試是伴隨著軟件產(chǎn)生而產(chǎn)生的,一為驗(yàn)證軟件的功能,二為發(fā)現(xiàn)軟件存在的缺陷問題,以盡量減少軟件中的錯(cuò)誤和不足。隨著軟件產(chǎn)業(yè)的日益
2、發(fā)展和軟件工程規(guī)范化的要求,測(cè)試是最有效的消除和預(yù)防軟件缺陷和軟件故障的手段。1.1軟件測(cè)試基礎(chǔ)軟件軟件工程軟件生命周期1.1.1軟件、軟件工程、軟件生命周期的基本概念1.1軟件測(cè)試基礎(chǔ)1.軟件 軟件(Software)是一系列按照特定順序組織的計(jì)算機(jī)數(shù)據(jù)和指令的集合。一般分為系統(tǒng)軟件、應(yīng)用軟件和介于這兩者之間的中間件。 (1)系統(tǒng)軟件 (2)應(yīng)用軟件 (3)介于兩者之間的中間件 1.1.1軟件、軟件工程、軟件生命周期的基本概念1.1軟件測(cè)試基礎(chǔ)1.軟件 軟件(Software)是一系列按照特定順序組織的計(jì)算機(jī)數(shù)據(jù)和指令的集合。一般分為系統(tǒng)軟件、應(yīng)用軟件和介于這兩者之間的中間件。 (4)通常情
3、況下,軟件應(yīng)包含如下內(nèi)容: 可以在計(jì)算機(jī)上運(yùn)行的程序集合。 程序能夠妥善處理信息的數(shù)據(jù)結(jié)構(gòu)。 與這些程序相關(guān)的文檔集合。1.1.1軟件、軟件工程、軟件生命周期的基本概念1.1軟件測(cè)試基礎(chǔ)2.軟件工程 從20世界50年代初至今,軟件的發(fā)展大致經(jīng)歷了四個(gè)階段,軟件工程這個(gè)概念是1968年在聯(lián)邦德國(guó)召開北大西洋公約組織的計(jì)算機(jī)科學(xué)家國(guó)際會(huì)議上討論“軟件危機(jī)”問題時(shí)正式被使用的,標(biāo)志著軟件工程的誕生。伴隨著軟件產(chǎn)業(yè)的發(fā)展以及在學(xué)術(shù)界的推動(dòng)下,目前,軟件工程已經(jīng)發(fā)展成為一門專業(yè)的學(xué)科了。 目前比較認(rèn)可的一種定義認(rèn)為:軟件工程是研究和應(yīng)用如何以系統(tǒng)性的、規(guī)范化的、可定量的過程化方法去開發(fā)和維護(hù)軟件,以及如
4、何把經(jīng)過時(shí)間考驗(yàn)而證明正確的管理技術(shù)和當(dāng)前能夠得到的最好的技術(shù)方法結(jié)合起來(lái),得到軟件生命周期的六個(gè)步驟:制訂計(jì)劃、需求分析、設(shè)計(jì)、編碼、測(cè)試和運(yùn)行維護(hù)。 1.1.1軟件、軟件工程、軟件生命周期的基本概念1.1軟件測(cè)試基礎(chǔ)3.軟件生命周期 軟件生命周期(Software Life Cycle,SLC),也叫軟件生存期,是軟件從孕育、誕生、成長(zhǎng)、成熟到衰亡的一個(gè)過程,。 軟件生命周期的六個(gè)步驟:制訂計(jì)劃、需求分析、設(shè)計(jì)、編碼、測(cè)試以及運(yùn)行維護(hù),這個(gè)過程是一個(gè)自頂向下逐步細(xì)化的過程;其中測(cè)試是保證軟件質(zhì)量的重要手段,測(cè)試的過程恰恰是一個(gè)相反的過程,是一個(gè)自底向上逐步集成的過程,低一級(jí)的測(cè)試為上一級(jí)測(cè)
5、試準(zhǔn)備條件。1.1.1軟件、軟件工程、軟件生命周期的基本概念1.1軟件測(cè)試基礎(chǔ)3.軟件生命周期 軟件工程中一般用軟件生命周期模型來(lái)表示和反映軟件生命周期內(nèi)的各個(gè)活動(dòng),根據(jù)不同的開發(fā)模式,模型的表示也不一樣,常見的模型有:邊做邊改模型(BuildandFix Model)瀑布模型(Waterfall Model)快速原型模型(Rapid Prototype Model)增量模型(Incremental Model)螺旋模型(Spiral Model)演化模型(Evolution Model)噴泉模型(Fountain Model)智能模型(四代技術(shù)(4GL)混合模型(Hybrid Model)快
6、速應(yīng)用開發(fā)模型(RAD)1.1.1軟件、軟件工程、軟件生命周期的基本概念1.1軟件測(cè)試基礎(chǔ)1.軟件缺陷 (1)軟件缺陷的定義 在軟件工程或軟件測(cè)試中,對(duì)于軟件存在的問題,都可以稱為軟件缺陷或軟件故障。作為一名測(cè)試人員,可能發(fā)現(xiàn)的缺陷很多情況下都沒有上面所舉的案例那么顯明,但是其任務(wù)就是發(fā)現(xiàn)軟件中所隱藏的錯(cuò)誤,包括常常用到的以下幾種術(shù)語(yǔ): 異常(Anomaly)、事件(Incident)、偏差(Variance)、漏洞(Bug),主要是指未按預(yù)先設(shè)計(jì)的運(yùn)行,并不代表軟件失敗; 而故障(Fault)、失敗(Failure)、缺陷(Defect)則代表比較嚴(yán)重的情況,甚至危險(xiǎn)的情況。1.1.2軟件缺
7、陷與軟件可靠性1.1軟件測(cè)試基礎(chǔ)1.軟件缺陷 對(duì)于軟件缺陷的,至少滿足下列五種情況之一,才稱為發(fā)生了一個(gè)軟件缺陷(Software Bug): 軟件未實(shí)現(xiàn)產(chǎn)品規(guī)格說(shuō)明書要求的功能。 軟件出現(xiàn)了產(chǎn)品規(guī)格說(shuō)明書中明確不會(huì)出現(xiàn)的錯(cuò)誤。 軟件實(shí)現(xiàn)了產(chǎn)品規(guī)格說(shuō)明書中沒有提到的功能。 軟件未實(shí)現(xiàn)產(chǎn)品規(guī)格說(shuō)明書中雖未明確提及但是應(yīng)該實(shí)現(xiàn)的功能。 軟件難以理解、不易使用、運(yùn)行緩慢或者讓最終用戶認(rèn)為不好。1.1.2軟件缺陷與軟件可靠性1.1軟件測(cè)試基礎(chǔ)1.軟件缺陷(2)軟件缺陷產(chǎn)生的原因 軟件自身因素 軟件開發(fā)團(tuán)隊(duì)因素 開發(fā)技術(shù)因素 項(xiàng)目管理因素1.1.2軟件缺陷與軟件可靠性1.1軟件測(cè)試基礎(chǔ)1.軟件缺陷(3)
8、軟件缺陷修復(fù)的費(fèi)用 軟件缺陷所帶來(lái)的修復(fù)費(fèi)用是隨著時(shí)間的推移而呈指數(shù)級(jí)別遞增的,如圖所示,即:隨著時(shí)間的推移,修復(fù)費(fèi)用呈十倍、百倍、千倍甚至萬(wàn)倍的增長(zhǎng)。1.1.2軟件缺陷與軟件可靠性1.1軟件測(cè)試基礎(chǔ)2.軟件可靠性(1)軟件可靠性定義 軟件可靠性(Software Reliability)是軟件產(chǎn)品在規(guī)定的條件下和規(guī)定的時(shí)間區(qū)間完成規(guī)定功能的能力。規(guī)定的條件是指直接與軟件運(yùn)行相關(guān)的使用該軟件的計(jì)算機(jī)系統(tǒng)的狀態(tài)和軟件的輸入條件,或統(tǒng)稱為軟件運(yùn)行時(shí)的外部輸入條件;規(guī)定的時(shí)間區(qū)間是指軟件的實(shí)際運(yùn)行時(shí)間區(qū)間;規(guī)定功能是指為提供給定的服務(wù),軟件產(chǎn)品所必須具備的功能。軟件可靠性不但與軟件存在的缺陷和差錯(cuò)有
9、關(guān),而且與系統(tǒng)輸入和系統(tǒng)使用有關(guān)。軟件可靠性的概率度量稱軟件可靠度。1.1.2軟件缺陷與軟件可靠性1.1軟件測(cè)試基礎(chǔ)2.軟件可靠性(2)影響軟件可靠性的因素 軟件可靠性是關(guān)于軟件能夠滿足需求功能的性質(zhì),軟件不能滿足需求是因?yàn)檐浖械牟铄e(cuò)引起了軟件故障。 軟件差錯(cuò)是軟件開發(fā)各階段潛入的人為錯(cuò)誤,除了軟件可靠性外,影響可靠性的另一個(gè)重要因素是健壯性,對(duì)非法輸入的容錯(cuò)能力。所以提高可靠性從原理上看就是要減少錯(cuò)誤和提高健壯性。 1983年,美國(guó)IEEE計(jì)算機(jī)學(xué)會(huì)對(duì)“軟件可靠性”做出了明確的定義,該定義包含兩個(gè)方面的內(nèi)容:在規(guī)定的條件下和時(shí)間內(nèi),軟件不引起系統(tǒng)失效的概率。在規(guī)定的時(shí)間周期內(nèi),在所述條件下
10、程序執(zhí)行所要求的功能的能力。 其中,概率是系統(tǒng)輸入和系統(tǒng)使用的函數(shù),也是軟件中存在的故障的函數(shù),系統(tǒng)輸入將確定是否會(huì)遇到已存在的故障(如果故障存在的話)。1.1.2軟件缺陷與軟件可靠性1.1軟件測(cè)試基礎(chǔ) 概括地說(shuō),軟件質(zhì)量就是“軟件與明確的和隱含的定義的需求相一致的程度”。 具體地說(shuō),軟件質(zhì)量是軟件符合明確敘述的功能和性能需求、文檔中明確描述的開發(fā)標(biāo)準(zhǔn)以及所有專業(yè)開發(fā)的軟件都應(yīng)具有的和隱含特征相一致的程度。1.1.3軟件質(zhì)量與質(zhì)量保證1.1軟件測(cè)試基礎(chǔ)1.影響軟件質(zhì)量的主要因素 通常情況下,影響軟件質(zhì)量的因素是從管理角度對(duì)軟件質(zhì)量進(jìn)行度量。可劃分為三組,分別反映用戶在使用軟件產(chǎn)品時(shí)的三種觀點(diǎn)。
11、 正確性、健壯性、效率、完整性、可用性、風(fēng)險(xiǎn)(產(chǎn)品運(yùn)行)。 可理解性、可維修性、靈活性、可測(cè)試性(產(chǎn)品修改)。 可移植性、可再用性、互運(yùn)行性(產(chǎn)品轉(zhuǎn)移)。1.1.3軟件質(zhì)量與質(zhì)量保證1.1軟件測(cè)試基礎(chǔ)2.軟件質(zhì)量標(biāo)準(zhǔn) 軟件需求是度量軟件質(zhì)量的基礎(chǔ),與需求不一致就是質(zhì)量不高。 指定的標(biāo)準(zhǔn)定義了一組指導(dǎo)軟件開發(fā)的準(zhǔn)則,如果沒有遵守這些準(zhǔn)則,肯定會(huì)導(dǎo)致質(zhì)量不高。 通常,有一組沒有顯式描述的隱含需求(如期望軟件是容易維護(hù)的)。如果軟件滿足明確描述的需求,但卻不滿足隱含的需求,那么軟件的質(zhì)量仍然是值得懷疑的。1.1.3軟件質(zhì)量與質(zhì)量保證1.1軟件測(cè)試基礎(chǔ)3.軟件質(zhì)量保證 軟件質(zhì)量保證(SQA),是軟件質(zhì)
12、量管理這個(gè)龐大、復(fù)雜系統(tǒng)中的一個(gè)分支,與質(zhì)量計(jì)劃、質(zhì)量控制合稱為質(zhì)量管理的過程域。企業(yè)必須借助專業(yè)、高效的質(zhì)量管理方法和測(cè)試工具,從管理和技術(shù)兩方面雙管齊下,才能實(shí)現(xiàn)軟件質(zhì)量管理這個(gè)目標(biāo)。質(zhì)量保證是貫穿整個(gè)項(xiàng)目生命周期的有計(jì)劃、有步驟地對(duì)整個(gè)項(xiàng)目質(zhì)量計(jì)劃執(zhí)行情況進(jìn)行評(píng)估、檢查與改進(jìn)的工作,目的是向管理者、客戶提供信任,以此確保項(xiàng)目質(zhì)量與技術(shù)一致。1.1.3軟件質(zhì)量與質(zhì)量保證 軟件測(cè)試是伴隨著軟件的產(chǎn)生而產(chǎn)生的,起初軟件開發(fā)時(shí)期20世紀(jì)50年代后期20世紀(jì)70年代末20世紀(jì)90年代 而在軟件測(cè)試工具平臺(tái)方面,目前商業(yè)化的軟件測(cè)試工具也很多。 由此可見,測(cè)試在軟件開發(fā)過程中,已經(jīng)不再是基于代碼而進(jìn)
13、行的活動(dòng),軟件測(cè)試是一個(gè)基于整個(gè)軟件生命周期的質(zhì)量控制活動(dòng),并始終貫穿于軟件開發(fā)的各個(gè)階段。1.2軟件測(cè)試發(fā)展史和發(fā)展前景 1.3.1軟件測(cè)試的目的 軟件測(cè)試是指使用人工或者自動(dòng)化工具來(lái)運(yùn)行或測(cè)試某個(gè)系統(tǒng)的過程,其目的在于檢驗(yàn)被試系統(tǒng)是否滿足產(chǎn)品需求規(guī)格說(shuō)明中所規(guī)定的要求或者弄清預(yù)期結(jié)果與實(shí)際結(jié)果之間的差別,以便及時(shí)修正和改進(jìn)。 軟件測(cè)試是一個(gè)系列過程活動(dòng),是幫助識(shí)別開發(fā)完成計(jì)算機(jī)軟件的正確度、完全度和質(zhì)量的軟件過程,是軟件質(zhì)量保證的重要手段。1.3軟件測(cè)試的目的、原則和相關(guān)標(biāo)準(zhǔn) 1.3.1軟件測(cè)試的目的 軟件測(cè)試的目的應(yīng)包含如下內(nèi)容: 測(cè)試并不僅僅是找出錯(cuò)誤,而是通過分析錯(cuò)誤產(chǎn)生的原因和錯(cuò)誤
14、發(fā)生的趨勢(shì),從而幫助項(xiàng)目管理者發(fā)現(xiàn)軟件當(dāng)前存在的缺陷,以便及時(shí)改進(jìn)。 測(cè)試分析可以有效幫助測(cè)試人員設(shè)計(jì)有效的針對(duì)性測(cè)試方法,提高測(cè)試的有效性。 沒有發(fā)現(xiàn)錯(cuò)誤的測(cè)試也是有價(jià)值的測(cè)試,完整的測(cè)試是評(píng)價(jià)軟件質(zhì)量的方法之一。 1.3軟件測(cè)試的目的、原則和相關(guān)標(biāo)準(zhǔn) 1.3.2軟件測(cè)試的原則 軟件測(cè)試的基本原則有助于測(cè)試人員進(jìn)行高效的測(cè)試,盡早盡多地發(fā)現(xiàn)軟件存在的缺陷和錯(cuò)誤,通過分析軟件存在的問題,從而能夠持續(xù)改進(jìn)測(cè)試過程,保證軟件質(zhì)量。 (1)測(cè)試要盡早介入 (2)測(cè)試要能顯示缺陷的存在 (3)不存在窮盡測(cè)試 (4)測(cè)試的群集性1.3軟件測(cè)試的目的、原則和相關(guān)標(biāo)準(zhǔn) 1.3.2軟件測(cè)試的原則 軟件測(cè)試的基
15、本原則有助于測(cè)試人員進(jìn)行高效的測(cè)試,盡早盡多地發(fā)現(xiàn)軟件存在的缺陷和錯(cuò)誤,通過分析軟件存在的問題,從而能夠持續(xù)改進(jìn)測(cè)試過程,保證軟件質(zhì)量。 (5)測(cè)試用例設(shè)計(jì)避免“殺蟲劑”效應(yīng) (6)測(cè)試要嚴(yán)格按測(cè)試計(jì)劃執(zhí)行 (7)測(cè)試必須貫穿于軟件整個(gè)生命周期 (8)測(cè)試需要獨(dú)立的測(cè)試團(tuán)隊(duì)或使用第三方測(cè)試1.3軟件測(cè)試的目的、原則和相關(guān)標(biāo)準(zhǔn)1.3.3軟件測(cè)試的相關(guān)標(biāo)準(zhǔn)1.3軟件測(cè)試的目的、原則和相關(guān)標(biāo)準(zhǔn)編號(hào)標(biāo)準(zhǔn)代碼標(biāo)準(zhǔn)名稱01GB/T 17544-1998信息技術(shù)軟件包質(zhì)量要求和測(cè)試02GB/T 16260-2006軟件工程產(chǎn)品質(zhì)量03GB/T 18905-2002軟件工程產(chǎn)品評(píng)價(jià)04GB/T 15532-2
16、008計(jì)算機(jī)軟件測(cè)試規(guī)范05GB/T 17544-1998信息技術(shù)軟件包質(zhì)量要求和測(cè)試06GB/T 8567-2006計(jì)算機(jī)軟件文檔編制規(guī)范07GB/T 9386-2008計(jì)算機(jī)軟件測(cè)試文檔編制規(guī)范08GB/T 25000.1-2010軟件工程軟件產(chǎn)品質(zhì)量要求與評(píng)價(jià)(SQuaRE)SQuaRE指南09CSTCJSBZ02應(yīng)用軟件產(chǎn)品測(cè)試規(guī)范10CSTCJSBZ03軟件產(chǎn)品測(cè)試評(píng)分標(biāo)準(zhǔn)1.4.1測(cè)試人員的基本素質(zhì) 1.良好的溝通能力 2.掌握全面的技術(shù) 3.要具備充分的自信心、足夠的耐心和責(zé)任感 4.具有懷疑精神 5.超強(qiáng)的洞察力和記憶力1.4軟件測(cè)試人員1.4軟件測(cè)試人員1.4軟件測(cè)試人員1.
17、4.2軟件測(cè)試人員需具備的思維方式 1.逆向思維方式 2.組合思維方式 3.全局思維方式 4.兩極思維方式 5.簡(jiǎn)單思維方式 6.比較思維方式1.4.3軟件測(cè)試工程師職位簡(jiǎn)介初級(jí)測(cè)試工程師測(cè)試工程師/程序分析師高級(jí)測(cè)試工程師/程序分析師測(cè)試組負(fù)責(zé)人測(cè)試/編程負(fù)責(zé)人測(cè)試/質(zhì)量保證/開發(fā)(項(xiàng)目)經(jīng)理計(jì)劃經(jīng)理1.4軟件測(cè)試人員1.4軟件測(cè)試人員軟件測(cè)試概述1.簡(jiǎn)述軟件測(cè)試的目的。2.軟件缺陷的定義和劃分。3.簡(jiǎn)述軟件測(cè)試的原則和意義。4.簡(jiǎn)述軟件測(cè)試工程師應(yīng)具備的基本素質(zhì)和思維方式。知識(shí)總結(jié)與課后思考THANKS!本章結(jié)束!實(shí)用軟件測(cè)試技術(shù)第2章 軟件測(cè)試技術(shù)內(nèi)容簡(jiǎn)介軟件測(cè)試原理及分類白盒測(cè)試相關(guān)技
18、術(shù)黑盒測(cè)試相關(guān)技術(shù)其他測(cè)試技術(shù)本章導(dǎo)讀本章導(dǎo)讀軟件測(cè)試涉及技術(shù)、管理等多個(gè)層面的內(nèi)容,為了更好地實(shí)施軟件測(cè)試,必須了解測(cè)試的基本原理、分類和相關(guān)測(cè)試技術(shù)。本章從技術(shù)層面系統(tǒng)介紹軟件測(cè)試過程中用到的測(cè)試方法和技術(shù)。2.1軟件測(cè)試技術(shù)概述 軟件測(cè)試是指使用人工方式或者自動(dòng)化工具運(yùn)行測(cè)試被測(cè)對(duì)象(軟件系統(tǒng))的過程,目的在于驗(yàn)證被測(cè)對(duì)象是否滿足需求說(shuō)明書中規(guī)定的內(nèi)容和功能,盡早發(fā)現(xiàn)軟件存在的缺陷。 軟件測(cè)試是軟件質(zhì)量保證的重要手段,其目標(biāo)就是以最少的時(shí)間和人力盡早找出軟件潛在的各種錯(cuò)誤和缺陷,證明軟件的功能和性能與需求說(shuō)明相符。此外,實(shí)施測(cè)試收集到的測(cè)試結(jié)果數(shù)據(jù)也可為可靠性分析提供依據(jù)。2.1軟件測(cè)試
19、技術(shù)概述2.1.1軟件測(cè)試分類 1.按照軟件開發(fā)階段分 2.按執(zhí)行狀態(tài)分 3.按執(zhí)行主體分 4.按測(cè)試技術(shù)分 5.按執(zhí)行是否需要人工干預(yù)分 6.其他測(cè)試類型2.1軟件測(cè)試技術(shù)概述2.1.1軟件測(cè)試分類 1.按照軟件開發(fā)階段分 軟件測(cè)試貫穿于軟件開發(fā)的整個(gè)生命周期,按照軟件開發(fā)的階段,軟件測(cè)試分為單元測(cè)試、集成測(cè)試、確認(rèn)測(cè)試、系統(tǒng)測(cè)試、驗(yàn)收測(cè)試等。 (1)單元測(cè)試 (2)集成測(cè)試 (3)確認(rèn)測(cè)試 (4)系統(tǒng)測(cè)試 (5)驗(yàn)收測(cè)試 2.1軟件測(cè)試技術(shù)概述2.1.1軟件測(cè)試分類 1.按照軟件開發(fā)階段分 (1)單元測(cè)試 單元測(cè)試(Unit Testing)又稱為模塊測(cè)試(Module Testing),
20、是軟件測(cè)試對(duì)象中的最小可測(cè)單元,目的是檢查每個(gè)單元是否正確實(shí)現(xiàn)了詳細(xì)設(shè)計(jì)文檔中定義的功能、性能、接口等要求,以便發(fā)現(xiàn)各個(gè)模塊內(nèi)部可能出現(xiàn)的各種錯(cuò)誤和缺陷,保證了最小單元的代碼準(zhǔn)確,會(huì)令設(shè)計(jì)更好,大大減少花在調(diào)試上的時(shí)間。 單元測(cè)試通常是在軟件開發(fā)人員編碼后進(jìn)行的,一般是開發(fā)人員互換模塊進(jìn)行交叉測(cè)試,但是實(shí)際上在不正規(guī)的軟件開發(fā)團(tuán)隊(duì)中,單元測(cè)試都由開發(fā)人員自己來(lái)完成。大部分軟件測(cè)試方法都適用于單元測(cè)試。 2.1軟件測(cè)試技術(shù)概述2.1.1軟件測(cè)試分類 1.按照軟件開發(fā)階段分 (2)集成測(cè)試 集成測(cè)試(Integration Testing)又稱為組裝測(cè)試?;趩卧獪y(cè)試后的單元模塊,依據(jù)概要設(shè)計(jì)文檔
21、,對(duì)通過單元測(cè)試的模塊組裝為系統(tǒng)或子系統(tǒng)進(jìn)行測(cè)試,其目的是檢驗(yàn)不同模塊單元之間的接口是否符合概要設(shè)計(jì)的要求,能否正常運(yùn)行。與單元測(cè)試相比,集成測(cè)試則關(guān)注的是單元模塊的外部接口。2.1軟件測(cè)試技術(shù)概述2.1.1軟件測(cè)試分類 1.按照軟件開發(fā)階段分 (3)確認(rèn)測(cè)試 確認(rèn)測(cè)試(Conformation Testing)是通過檢驗(yàn)和提供客觀證據(jù),證實(shí)軟件是否滿足特定預(yù)期用途的需求。確認(rèn)測(cè)試檢測(cè)以證實(shí)軟件是否滿足軟件需求說(shuō)明書中規(guī)定的要求。 (4)系統(tǒng)測(cè)試 系統(tǒng)測(cè)試(System Testing)是為了驗(yàn)證和確認(rèn)系統(tǒng)是否達(dá)到了預(yù)期的功能和目標(biāo),主要由測(cè)試工程師進(jìn)行測(cè)試,分為功能測(cè)試和性能測(cè)試。2.1軟件
22、測(cè)試技術(shù)概述2.1.1軟件測(cè)試分類 1.按照軟件開發(fā)階段分 (5)驗(yàn)收測(cè)試 驗(yàn)收測(cè)試(Acceptance Testing)又稱為接受測(cè)試,是在系統(tǒng)測(cè)試后期,以用戶為主,測(cè)試人員和質(zhì)量保證人員共同輔助進(jìn)行測(cè)試,驗(yàn)證測(cè)試是軟件正式交付上線前的最后一個(gè)測(cè)試環(huán)節(jié)。 驗(yàn)收測(cè)試依據(jù)軟件需求規(guī)格說(shuō)明文檔和軟件驗(yàn)收標(biāo)準(zhǔn)。驗(yàn)收測(cè)試又分為測(cè)試和測(cè)試。2.1軟件測(cè)試技術(shù)概述2.1.1軟件測(cè)試分類 1.按照軟件開發(fā)階段分 2.按執(zhí)行狀態(tài)分 按照被測(cè)軟件是否需要執(zhí)行,可將軟件測(cè)試分為靜態(tài)測(cè)試和動(dòng)態(tài)測(cè)試。 (1)靜態(tài)測(cè)試 又稱為靜態(tài)分析(Static Analysis),指不運(yùn)行被測(cè)程序,而是分析和檢查程序的形式與結(jié)構(gòu)
23、,查找缺陷,進(jìn)行需求確認(rèn)。主要包括對(duì)源代碼、程序界面、各類文檔等進(jìn)行測(cè)試,相當(dāng)于是對(duì)被測(cè)程序進(jìn)行特性分析。 (2)動(dòng)態(tài)測(cè)試 又稱為動(dòng)態(tài)分析(Dynamic Analysis),是需要實(shí)際運(yùn)行被測(cè)軟件程序的,通過運(yùn)行時(shí)表現(xiàn)出的狀態(tài)、行為發(fā)現(xiàn)程序的錯(cuò)誤與缺陷。運(yùn)行時(shí)依據(jù)測(cè)試用例,對(duì)實(shí)際測(cè)試結(jié)果與預(yù)期結(jié)果進(jìn)行對(duì)比分析,發(fā)現(xiàn)程序與客戶需求不一致的問題。2.1軟件測(cè)試技術(shù)概述2.1.1軟件測(cè)試分類 1.按照軟件開發(fā)階段分 2.按執(zhí)行狀態(tài) 動(dòng)態(tài)測(cè)試貫穿在測(cè)試的各個(gè)階段中,是一種非常有效的測(cè)試方法, 比較 內(nèi)容測(cè)試方法是否運(yùn)行軟件是否需要測(cè)試用例是否可以直接定位缺陷測(cè)試實(shí)現(xiàn)難易度精準(zhǔn)性獨(dú)立性靜態(tài)測(cè)試否否是容
24、易否否動(dòng)態(tài)測(cè)試是是否困難是是表2-1 靜態(tài)測(cè)試與動(dòng)態(tài)測(cè)試比較2.1軟件測(cè)試技術(shù)概述2.1.1軟件測(cè)試分類 3.按執(zhí)行主體分 按照測(cè)試組織方劃分,軟件測(cè)試分為開發(fā)方測(cè)試、用戶測(cè)試和第三方測(cè)試。 開發(fā)方測(cè)試又稱為驗(yàn)收測(cè)試或測(cè)試,在軟件開發(fā)環(huán)境下,測(cè)試軟件是否實(shí)現(xiàn)了需求規(guī)格說(shuō)明中的功能,是否達(dá)到了要求的性能。用戶測(cè)試又稱為測(cè)試,在用戶的實(shí)際環(huán)境下,讓用戶使用、評(píng)價(jià)和檢查軟件,發(fā)現(xiàn)軟件存在的問題和缺陷,并做出相應(yīng)的評(píng)價(jià)。第三方測(cè)試指由第三方測(cè)試機(jī)構(gòu)執(zhí)行測(cè)試,也稱為獨(dú)立測(cè)試。在測(cè)試組織、技術(shù)、管理上與開發(fā)方和用戶方都是獨(dú)立的,通常都是在模擬用戶實(shí)際使用環(huán)境下對(duì)軟件進(jìn)行確認(rèn)測(cè)試。2.1軟件測(cè)試技術(shù)概述2.
25、1.1軟件測(cè)試分類4.按測(cè)試技術(shù)分 按照對(duì)被測(cè)對(duì)象的了解程度和是否查看代碼,測(cè)試又分為:黑盒測(cè)試白盒測(cè)試灰盒測(cè)試2.1軟件測(cè)試技術(shù)概述2.1.1軟件測(cè)試分類4.按測(cè)試技術(shù)分 (1)黑盒測(cè)試 黑盒測(cè)試是將被測(cè)對(duì)象看作一個(gè)黑盒子,不考慮程序內(nèi)部的結(jié)構(gòu)和邏輯結(jié)構(gòu),提供輸入,檢查輸出,主要檢查軟件的每個(gè)功能是否正常使用,屬于功能性測(cè)試。優(yōu)點(diǎn):能從產(chǎn)品功能角度進(jìn)行測(cè)試,確保從用戶角度出發(fā),測(cè)試用例不因程序內(nèi)部邏輯變化而變化,測(cè)試人員容易上手。缺點(diǎn):無(wú)法測(cè)試程序內(nèi)部,若規(guī)格說(shuō)明有誤,錯(cuò)誤無(wú)法發(fā)現(xiàn),產(chǎn)品得不到充分性測(cè)試。應(yīng)用范圍:等價(jià)類劃分法、邊界值分析法以及決策表測(cè)試。2.1軟件測(cè)試技術(shù)概述2.1.1軟件
26、測(cè)試分類4.按測(cè)試技術(shù)分 (2)白盒測(cè)試 與黑盒測(cè)試相反,白盒測(cè)試則要了解程序內(nèi)部和邏輯結(jié)構(gòu),檢測(cè)內(nèi)部是否按照規(guī)格說(shuō)明書的規(guī)定正常進(jìn)行?;诖a測(cè)試的白盒測(cè)試,需要了解程序內(nèi)部的架構(gòu)、具體需求以及程序的編寫技巧,屬于驗(yàn)證性結(jié)構(gòu)測(cè)試。優(yōu)點(diǎn):可以針對(duì)程序內(nèi)部進(jìn)行覆蓋測(cè)試,程序內(nèi)部可以得到充分性測(cè)試,有很多工具可以支持完成。缺點(diǎn):不易生成測(cè)試數(shù)據(jù),無(wú)法測(cè)試程序外部特性,工作量大,一般用于單元測(cè)試。應(yīng)用范圍:語(yǔ)句覆蓋、條件覆蓋、判定覆蓋、路徑覆蓋等。2.1軟件測(cè)試技術(shù)概述2.1.1軟件測(cè)試分類4.按測(cè)試技術(shù)分 (3)灰盒測(cè)試 灰盒測(cè)試是介于白盒測(cè)試和黑盒測(cè)試之間的測(cè)試,相對(duì)于白盒測(cè)試,不需要關(guān)注詳細(xì)、
27、完整的內(nèi)部結(jié)構(gòu),只需要測(cè)試各個(gè)組件間的邏輯關(guān)系是否正確?;液袦y(cè)試的重點(diǎn)在于測(cè)試程序的處理能力和健壯性,與白盒測(cè)試和黑盒測(cè)試相比,投入的時(shí)間和維護(hù)工作量較小。2.1軟件測(cè)試技術(shù)概述2.1.1軟件測(cè)試分類 5.按執(zhí)行是否需要人工干預(yù)分劃分 按照?qǐng)?zhí)行測(cè)試時(shí)是否需要人工參與,可以將測(cè)試分為手工測(cè)試和自動(dòng)化測(cè)試。 (1)手工測(cè)試 手工測(cè)試是指測(cè)試完全由人工完成,包括測(cè)試計(jì)劃制訂、測(cè)試用例編寫、執(zhí)行、測(cè)試結(jié)果分析等,傳統(tǒng)的測(cè)試工作都由人工來(lái)完成。 (2)自動(dòng)化測(cè)試 與手工測(cè)試相比,自動(dòng)化測(cè)試則是指測(cè)試所涉及的任何活動(dòng)都由測(cè)試工具完成,包括測(cè)試腳本編寫、開發(fā)、執(zhí)行和管理,不需要人工干預(yù),目前主要用于功能測(cè)試
28、、性能測(cè)試和回歸測(cè)試活動(dòng)中。 2.1軟件測(cè)試技術(shù)概述2.1.1軟件測(cè)試分類 6.其他測(cè)試類型 除上面介紹的測(cè)試分類外,還有一些重要的測(cè)試,比如冒煙測(cè)試、回歸測(cè)試和隨機(jī)測(cè)試等。 (1)冒煙測(cè)試 冒煙測(cè)試(Smoking Testing)源自硬件行業(yè),因?yàn)楫?dāng)電路板做好以后,加電測(cè)試,如果板子沒有冒煙再進(jìn)行其他測(cè)試,否則就必須重新來(lái)過。如果類似的冒煙測(cè)試沒有通過,那么仍舊會(huì)返回給開發(fā)人員進(jìn)行修正,測(cè)試人員測(cè)試的版本必須首先通過冒煙測(cè)試的考驗(yàn)。多用于回歸測(cè)試中,優(yōu)點(diǎn)是節(jié)省測(cè)試時(shí)間,防止創(chuàng)建失敗,缺點(diǎn)則是覆蓋率偏低。2.1軟件測(cè)試技術(shù)概述2.1.1軟件測(cè)試分類 6.其他測(cè)試類型 (1)冒煙測(cè)試 (2)回
29、歸測(cè)試 回歸測(cè)試(Regression Testing)是指對(duì)軟件的新的版本測(cè)試時(shí),重復(fù)執(zhí)行上一個(gè)版本測(cè)試時(shí)的用例。 (3)隨機(jī)測(cè)試 軟件測(cè)試中除了根據(jù)測(cè)試用例和測(cè)試說(shuō)明書進(jìn)行測(cè)試外,還需要進(jìn)行隨機(jī)測(cè)試(Adhoctesting),主要是根據(jù)測(cè)試者的經(jīng)驗(yàn)對(duì)軟件進(jìn)行功能和性能抽查。重點(diǎn)對(duì)一些特殊情況點(diǎn)、特殊環(huán)境并發(fā)性進(jìn)行檢查。2.1軟件測(cè)試技術(shù)概述2.1.2軟件測(cè)試模型 軟件測(cè)試和軟件開發(fā)一樣,都遵循軟件工程原理,遵循管理學(xué)原理。 1.V模型 2.W模型 3.X模型 4.H模型 5.前置模型2.1軟件測(cè)試技術(shù)概述2.1.2軟件測(cè)試模型 軟件測(cè)試和軟件開發(fā)一樣,都遵循軟件工程原理,遵循管理學(xué)原理。
30、 1.V模型V模型示意圖2.1軟件測(cè)試技術(shù)概述2.1.2軟件測(cè)試模型 軟件測(cè)試和軟件開發(fā)一樣,都遵循軟件工程原理,遵循管理學(xué)原理。 2.W模型W模型示意圖2.1軟件測(cè)試技術(shù)概述2.1.2軟件測(cè)試模型 軟件測(cè)試和軟件開發(fā)一樣,都遵循軟件工程原理,遵循管理學(xué)原理。 3.X模型X模型示意圖2.1軟件測(cè)試技術(shù)概述2.1.2軟件測(cè)試模型 軟件測(cè)試和軟件開發(fā)一樣,都遵循軟件工程原理,遵循管理學(xué)原理。 4.H模型 H模型示意圖2.1軟件測(cè)試技術(shù)概述2.1.2軟件測(cè)試模型 軟件測(cè)試和軟件開發(fā)一樣,都遵循軟件工程原理,遵循管理學(xué)原理。 5.前置模型 前置測(cè)試模型是由Robin F Goldsmith等人提出的,
31、是一個(gè)將測(cè)試和開發(fā)緊密結(jié)合的模型,該模型提供了輕松的方式,可以使項(xiàng)目加快速度。有以下特點(diǎn): (1)開發(fā)和測(cè)試相結(jié)合 (2)對(duì)每一個(gè)交付內(nèi)容進(jìn)行測(cè)試 (3)在設(shè)計(jì)階段進(jìn)行計(jì)劃和測(cè)試設(shè)計(jì) (4)測(cè)試和開發(fā)結(jié)合在一起 (5)讓驗(yàn)收測(cè)試和技術(shù)測(cè)試保持相互獨(dú)立 (6)反復(fù)交替的開發(fā)和測(cè)試 (7)發(fā)現(xiàn)內(nèi)在的價(jià)值 2.2 測(cè)試環(huán)境2.2.1測(cè)試環(huán)境定義 簡(jiǎn)單地說(shuō),測(cè)試環(huán)境就是軟件運(yùn)行的平臺(tái),即進(jìn)行軟件測(cè)試所必需的平臺(tái)和前提條件,可用如下公式來(lái)表示:測(cè)試環(huán)境=硬件+軟件+網(wǎng)絡(luò)+歷史數(shù)據(jù)2.2 測(cè)試環(huán)境2.2.2測(cè)試環(huán)境的重要性 測(cè)試環(huán)境的重要性主要體現(xiàn)在以下幾個(gè)方面: 1.加快測(cè)試速度 穩(wěn)定、可控的測(cè)試環(huán)境,
32、可以使測(cè)試人員花費(fèi)較少的時(shí)間就能完成測(cè)試用例的執(zhí)行,也無(wú)須花費(fèi)額外的時(shí)間在維護(hù)測(cè)試用例和測(cè)試過程上。 2.準(zhǔn)確重現(xiàn)缺陷 穩(wěn)定、可控的測(cè)試環(huán)境可以讓被提交的缺陷在任何時(shí)刻都能準(zhǔn)確地重現(xiàn)。 3.提高測(cè)試效率和保證軟件質(zhì)量 經(jīng)過良好規(guī)劃和管理的測(cè)試環(huán)境,可以盡可能地減少環(huán)境變動(dòng)對(duì)測(cè)試工作的不利影響,并積極推動(dòng)測(cè)試工作效率和質(zhì)量的提高。2.2 測(cè)試環(huán)境2.2.3良好測(cè)試環(huán)境的要素 具備良好的測(cè)試環(huán)境三要素: 1.良好的測(cè)試模型 2.多樣化的系統(tǒng)配置 3.熟練使用各種工具的測(cè)試人員2.2 測(cè)試環(huán)境2.2.3良好測(cè)試環(huán)境的要素 具備良好的測(cè)試環(huán)境三要素: 1.良好的測(cè)試模型 2.多樣化的系統(tǒng)配置 3.熟練
33、使用各種工具的測(cè)試人員2.2 測(cè)試環(huán)境2.2.5測(cè)試環(huán)境的維護(hù)和管理 測(cè)試環(huán)境搭建好后,為減少被測(cè)應(yīng)用的每次版本發(fā)布對(duì)測(cè)試環(huán)境產(chǎn)生的影響。為此,需考慮如下問題: 1.設(shè)置專門的測(cè)試環(huán)境管理員角色 2.明確測(cè)試環(huán)境管理所需的各種文檔 3.測(cè)試環(huán)境訪問權(quán)限的管理 4.測(cè)試環(huán)境的變更管理 5.測(cè)試環(huán)境的備份和恢復(fù)2.3 白盒測(cè)試 白盒測(cè)試(WhiteBox Testing),又稱為結(jié)構(gòu)測(cè)試、邏輯測(cè)試或基于程序的測(cè)試,是軟件測(cè)試技術(shù)中最為有效和實(shí)用的測(cè)試方法之一。 白盒測(cè)試的目的:通過檢查軟件內(nèi)部的邏輯結(jié)構(gòu),對(duì)軟件中的邏輯路徑進(jìn)行覆蓋測(cè)試;在程序不同地方設(shè)立檢查點(diǎn),檢查程序的狀態(tài),以確定實(shí)際運(yùn)行狀態(tài)與
34、預(yù)期狀態(tài)是否一致。 白盒測(cè)試的測(cè)試方法總體上分為:靜態(tài)方法動(dòng)態(tài)方法2.3 白盒測(cè)試 采用白盒測(cè)試方法必須遵循以下幾條原則,才能達(dá)到測(cè)試目的。 保證一個(gè)模塊中的所有獨(dú)立路徑至少被測(cè)一次。 所有邏輯值均需測(cè)試真(True)和假(False)兩個(gè)分支。 檢查程序的內(nèi)部數(shù)據(jù)結(jié)構(gòu),保證其結(jié)構(gòu)的有效性。 在上下邊界及可操作范圍內(nèi)運(yùn)行所有循環(huán)。 在白盒測(cè)試中,一般會(huì)用覆蓋率來(lái)度量測(cè)試的完整性。測(cè)試覆蓋率是程序被一組測(cè)試用例執(zhí)行的百分比。覆蓋率=(至少被執(zhí)行一次的被測(cè)項(xiàng))/被測(cè)項(xiàng)總數(shù)2.3 白盒測(cè)試 2.3.1邏輯覆蓋測(cè)試 邏輯覆蓋測(cè)試法是白盒測(cè)試中以程序內(nèi)部的邏輯結(jié)構(gòu)為基礎(chǔ)的設(shè)計(jì)測(cè)試用例的技術(shù)方法,目的是測(cè)
35、試程序中的判定和條件。測(cè)試程序邏輯結(jié)果通常需要通過使用控制流覆蓋準(zhǔn)則來(lái)度量測(cè)試的進(jìn)行程度。 根據(jù)覆蓋目標(biāo)的不同和覆蓋源程序語(yǔ)句的詳盡程度,邏輯覆蓋又可以分為: 語(yǔ)句覆蓋 判定覆蓋 條件覆蓋 條件/判定覆蓋 條件組合覆蓋 修正條件/判定覆蓋2.3 白盒測(cè)試 2.3.1邏輯覆蓋測(cè)試 1.語(yǔ)句覆蓋(Statement Coverage,SC) 語(yǔ)句覆蓋就是設(shè)計(jì)若干測(cè)試用例運(yùn)行被測(cè)程序,使得程序中每一可執(zhí)行語(yǔ)句至少被執(zhí)行一次。其中“若干”的意思,就是說(shuō)使用的測(cè)試用例越少越好。語(yǔ)句覆蓋在測(cè)試中主要發(fā)現(xiàn)缺陷或錯(cuò)誤語(yǔ)句。 語(yǔ)句覆蓋率的公式:語(yǔ)句覆蓋率(SCP)=被評(píng)價(jià)到的語(yǔ)句數(shù)量/可執(zhí)行的語(yǔ)句總數(shù)100%缺
36、點(diǎn):對(duì)程序執(zhí)行邏輯的覆蓋很低。2.3 白盒測(cè)試 2.3.1邏輯覆蓋測(cè)試 2.判定覆蓋(Decision Coverage,DC) 判定覆蓋也稱為分支覆蓋,設(shè)計(jì)若干測(cè)試用例,運(yùn)行被測(cè)程序,使得每個(gè)判定分支的取真(True)和取假(False)至少被執(zhí)行一次。 判定路徑覆蓋率的公式:判定路徑覆蓋率(DCP)=被判定到的路徑數(shù)/判定路徑總數(shù)100%優(yōu)點(diǎn):判定覆蓋比語(yǔ)句覆蓋至少多出一倍的測(cè)試路徑,自然比語(yǔ)句覆蓋的測(cè)試能力強(qiáng)大一些。缺點(diǎn):判定覆蓋雖然把程序所有分支都覆蓋了,但主要對(duì)整個(gè)表達(dá)式進(jìn)行取值,忽略了表達(dá)式內(nèi)部取值。2.3 白盒測(cè)試 2.3.1邏輯覆蓋測(cè)試 3.條件覆蓋(Condition Cov
37、erage,CC) 條件覆蓋要求能夠保證程序中每個(gè)復(fù)合判定表達(dá)式的每個(gè)簡(jiǎn)單判定條件的取真(True)和取假(False)至少被執(zhí)行一次。與判定覆蓋相比較,條件覆蓋增加了對(duì)符合判定情況的測(cè)試,增加了測(cè)試路徑。要達(dá)到條件覆蓋就得有足夠多的測(cè)試用例,滿足了條件覆蓋不一定能保證滿足判定覆蓋和語(yǔ)句覆蓋。2.3 白盒測(cè)試 2.3.1邏輯覆蓋測(cè)試 4.條件/判定覆蓋(Condition/Decision Coverage,C/DC) 條件/判定覆蓋是指設(shè)計(jì)足夠的測(cè)試用例,使得判定中的每個(gè)條件的所有可能(真/假)至少出現(xiàn)一次,并且每個(gè)判定本身的判定結(jié)果也至少出現(xiàn)一次。 條件/判定覆蓋公式: 條件/判定覆蓋率(
38、C/DCP)=被判定到的條件取值和判定分支的數(shù)量/(條件取值總數(shù)+判定分支總數(shù))100%缺點(diǎn):沒有考慮到單個(gè)判定對(duì)整體結(jié)果的影響,無(wú)法發(fā)現(xiàn)邏輯錯(cuò)誤。2.3 白盒測(cè)試 2.3.1邏輯覆蓋測(cè)試 5.條件組合覆蓋(Condition Combination Coverage,CCC) 條件組合覆蓋也稱為多條件覆蓋,是指設(shè)計(jì)足夠多的測(cè)試用例,使得每個(gè)判定中條件的各自可能組合至少出現(xiàn)一次。滿足條件組合覆蓋一定滿足判定覆蓋、條件覆蓋和條件/判定覆蓋。 條件組合覆蓋公式:條件組合覆蓋率(CCCP)=被判定到的條件取值組合的數(shù)量/條件取值組合的總數(shù)100%缺點(diǎn):當(dāng)判定語(yǔ)句較多時(shí),條件組合值比較多。2.3 白盒
39、測(cè)試 2.3.1邏輯覆蓋測(cè)試 6.修正條件/判定覆蓋(Modified Condition/Decision Coverage,MD/CC) 修正條件/判定覆蓋要求判定(由條件和零個(gè)或多個(gè)布爾操作符組成的布爾表達(dá)式)中的每一個(gè)條件(不含布爾操作符的布爾表達(dá)式)的所有可能結(jié)果至少出現(xiàn)一次。每個(gè)判斷的所有結(jié)果至少出現(xiàn)一次,每個(gè)程序模塊的入口點(diǎn)和出口點(diǎn)都至少被調(diào)用一次,且每個(gè)條件都能單獨(dú)影響判定的結(jié)果。2.3 白盒測(cè)試 2.3.2基本路徑測(cè)試 基本路徑測(cè)試法就是在程序控制流圖的基礎(chǔ)上,通過分析控制構(gòu)造的環(huán)路復(fù)雜度,導(dǎo)出基本可以執(zhí)行路徑集合,從而設(shè)計(jì)測(cè)試用例的方法。設(shè)計(jì)的測(cè)試用例要保證在測(cè)試程序中的每
40、個(gè)可執(zhí)行語(yǔ)句至少被執(zhí)行一次。 基本路徑測(cè)試方法包括以下四個(gè)步驟:根據(jù)程序設(shè)計(jì)畫出程序的控制流圖(控制流圖是描述程序控制流的一種圖示方法)。計(jì)算程序的環(huán)路復(fù)雜度。通過環(huán)路復(fù)雜度可以導(dǎo)出程序基本路徑集合中的獨(dú)立路徑條數(shù),由此可以確定每個(gè)可執(zhí)行語(yǔ)句至少執(zhí)行一次所必需的測(cè)試用例數(shù)目的上限。導(dǎo)出基本路徑集,確定程序的獨(dú)立路徑。設(shè)計(jì)測(cè)試用例,確保基本路徑集中每一條路徑的執(zhí)行。2.3 白盒測(cè)試 2.3.2基本路徑測(cè)試 控制流圖是描述程序控制流的一種圖示方法。只用兩種符號(hào)即可描述。圓圈用來(lái)描述節(jié)點(diǎn),代表一條或者多條無(wú)分支的語(yǔ)句;箭頭代表控制流,稱為邊或連接。2.3 白盒測(cè)試 2.3.2基本路徑測(cè)試 在將程序流
41、程圖簡(jiǎn)化為控制流圖時(shí),應(yīng)重點(diǎn)注意以下問題: 在選擇或多分支結(jié)構(gòu)中,分支的匯聚處應(yīng)有一個(gè)匯聚點(diǎn)。 邊和節(jié)點(diǎn)圍成的圈稱為區(qū)域,當(dāng)對(duì)區(qū)域計(jì)數(shù)時(shí),圖形外的區(qū)域也應(yīng)記為一個(gè)區(qū)域。 如果判斷中的條件表達(dá)式是由一個(gè)或多個(gè)邏輯運(yùn)算符(OR、AND、NAND、NOR)連接的復(fù)合條件表達(dá)式時(shí),則需要改為一系列只有單條件的嵌套的判斷。2.3 白盒測(cè)試2.3.3白盒測(cè)試策略 在軟件開發(fā)過程的不同階段,研發(fā)組可能都需要進(jìn)行白盒測(cè)試。使用白盒測(cè)試技術(shù)進(jìn)行測(cè)試的策略如下:在測(cè)試中,應(yīng)盡量先用測(cè)試工具進(jìn)行靜態(tài)結(jié)構(gòu)分析。在測(cè)試中,可以采用先靜態(tài)后動(dòng)態(tài)的組合方式,先進(jìn)行靜態(tài)結(jié)構(gòu)分析、代碼檢查和靜態(tài)質(zhì)量度量,再進(jìn)行覆蓋率測(cè)試。利用
42、靜態(tài)分析的結(jié)果作為引導(dǎo),通過代碼檢查和動(dòng)態(tài)測(cè)試的方式對(duì)靜態(tài)分析結(jié)果進(jìn)一步確認(rèn),使測(cè)試工作更為有效。覆蓋率測(cè)試是白盒測(cè)試的重點(diǎn),一般可以使用獨(dú)立路徑測(cè)試法達(dá)到語(yǔ)句覆蓋標(biāo)準(zhǔn);對(duì)于軟件重點(diǎn)模塊,應(yīng)使用多種覆蓋率標(biāo)準(zhǔn)衡量代碼的覆蓋率。在不同的測(cè)試階段,測(cè)試的側(cè)重點(diǎn)會(huì)有所不同。在單元測(cè)試階段,以代碼檢查、邏輯覆蓋為主;在集成測(cè)試階段,需要增加靜態(tài)結(jié)構(gòu)分析、靜態(tài)質(zhì)量度量;在系統(tǒng)測(cè)試階段,應(yīng)根據(jù)黑盒測(cè)試的結(jié)果,采取相應(yīng)的白盒測(cè)試。2.3 白盒測(cè)試2.3.3白盒測(cè)試策略 在軟件開發(fā)過程的不同階段,研發(fā)組可能都需要進(jìn)行白盒測(cè)試。使用白盒測(cè)試技術(shù)進(jìn)行測(cè)試的策略如下:在測(cè)試中,應(yīng)盡量先用測(cè)試工具進(jìn)行靜態(tài)結(jié)構(gòu)分析。在
43、測(cè)試中,可以采用先靜態(tài)后動(dòng)態(tài)的組合方式,先進(jìn)行靜態(tài)結(jié)構(gòu)分析、代碼檢查和靜態(tài)質(zhì)量度量,再進(jìn)行覆蓋率測(cè)試。利用靜態(tài)分析的結(jié)果作為引導(dǎo),通過代碼檢查和動(dòng)態(tài)測(cè)試的方式對(duì)靜態(tài)分析結(jié)果進(jìn)一步確認(rèn),使測(cè)試工作更為有效。覆蓋率測(cè)試是白盒測(cè)試的重點(diǎn),一般可以使用獨(dú)立路徑測(cè)試法達(dá)到語(yǔ)句覆蓋標(biāo)準(zhǔn);對(duì)于軟件重點(diǎn)模塊,應(yīng)使用多種覆蓋率標(biāo)準(zhǔn)衡量代碼的覆蓋率。在不同的測(cè)試階段,測(cè)試的側(cè)重點(diǎn)會(huì)有所不同。在單元測(cè)試階段,以代碼檢查、邏輯覆蓋為主;在集成測(cè)試階段,需要增加靜態(tài)結(jié)構(gòu)分析、靜態(tài)質(zhì)量度量;在系統(tǒng)測(cè)試階段,應(yīng)根據(jù)黑盒測(cè)試的結(jié)果,采取相應(yīng)的白盒測(cè)試。2.3 白盒測(cè)試2.3.3白盒測(cè)試策略 下面是策略的一種:(1)自我檢查簡(jiǎn)
44、述:程序員實(shí)現(xiàn)制定功能后,在進(jìn)行單元測(cè)試之前,對(duì)源代碼進(jìn)行初步檢查。重點(diǎn):語(yǔ)句的使用等是否符合編碼規(guī)范,并根據(jù)編碼規(guī)范調(diào)整自己的代碼以符合編碼規(guī)范的要求。參與人員:開發(fā)人員。2.3 白盒測(cè)試2.3.3白盒測(cè)試策略 下面是策略的一種: (2)單元測(cè)試簡(jiǎn)述:又稱模塊測(cè)試。在傳統(tǒng)結(jié)構(gòu)化編程中,以一個(gè)函數(shù)、過程為一個(gè)單元;在面向?qū)ο蟮木幊讨校话惆杨愖鳛閱卧M(jìn)行測(cè)試。重點(diǎn):采用白盒測(cè)試和黑盒測(cè)試相結(jié)合的方法。參與人員:專門的白盒測(cè)試人員。方法:大家共同閱讀代碼或由程序編寫者講解代碼,同其他同行邊聽邊分析問題。參與人員:全體開發(fā)小組。2.3 白盒測(cè)試2.3.3白盒測(cè)試策略 下面是策略的一種: (3)代碼
45、評(píng)審簡(jiǎn)述:在編碼初期或編寫過程中采用一種有同行參與的評(píng)審活動(dòng)。重點(diǎn):通過組織或同其他程序員共同查看程序,可以找出問題,使大家的代碼風(fēng)格一致或遵守編碼規(guī)范。方法:大家共同閱讀代碼或由程序編寫者講解代碼,同其他同行邊聽邊分析問題。參與人員:全體開發(fā)小組。2.3 白盒測(cè)試2.3.3白盒測(cè)試策略 下面是策略的一種: (4)同行評(píng)審簡(jiǎn)述:引用CMM(能力成熟度模型)中的術(shù)語(yǔ),如用在評(píng)審源代碼上,就是代碼評(píng)審;在同行評(píng)審中,由軟件工作產(chǎn)品創(chuàng)建者的同行們檢查該工作的產(chǎn)品,識(shí)別產(chǎn)品的缺陷,改進(jìn)產(chǎn)品的不足。目的:檢驗(yàn)工作產(chǎn)品是否滿足了以往的工作產(chǎn)品中建立的規(guī)范,如需求或設(shè)計(jì)文檔;識(shí)別工作產(chǎn)品相對(duì)于標(biāo)準(zhǔn)的偏差,包
46、括可能影響軟件可維護(hù)性的問題;向創(chuàng)建者提出改進(jìn)建議;促進(jìn)參與者之間的技術(shù)交流和學(xué)習(xí)。參與人員:程序員、設(shè)計(jì)師、單元測(cè)試工程師、維護(hù)者、需求分析師、編碼標(biāo)準(zhǔn)專家(此為CMM標(biāo)準(zhǔn)中提出的參與角色,可根據(jù)實(shí)際情況調(diào)整,至少需要開發(fā)人員、測(cè)試人員、設(shè)計(jì)師參與)。2.3 白盒測(cè)試2.3.3白盒測(cè)試策略 下面是策略的一種: (5)代碼走查簡(jiǎn)述:由測(cè)試小組組織或者專門的代碼走查小組進(jìn)行代碼走查,這時(shí)需要開發(fā)人員提交有關(guān)的資料文檔和源代碼給走查人員,并進(jìn)行必要的講解。代碼走查往往根據(jù)代碼檢查單來(lái)進(jìn)行,代碼檢查單常常是根據(jù)編碼規(guī)范總結(jié)出來(lái)的一些條目。目的:檢查代碼是否是按照編碼規(guī)范來(lái)編寫的。當(dāng)然,代碼走查的最終
47、目的還是為了發(fā)現(xiàn)代碼中潛在的錯(cuò)誤和缺陷。重點(diǎn):把材料(需求描述文檔、程序設(shè)計(jì)文檔、程序的源代碼清單、代碼編碼標(biāo)準(zhǔn)、代碼缺陷檢查表等)發(fā)給走查小組每個(gè)成員,讓他們認(rèn)真研究程序。參與人員:測(cè)試人員(一般不讓代碼的創(chuàng)建者參與)。代碼檢查速度建議:C代碼 150行/小時(shí),C+/Java 200300行/小時(shí)。2.4黑盒測(cè)試2.4黑盒測(cè)試 黑盒測(cè)試(BlackBox Testing),也稱為功能測(cè)試、行為測(cè)試或數(shù)據(jù)驅(qū)動(dòng)測(cè)試,是軟件測(cè)試中最為重要的基本測(cè)試方法之一。在軟件測(cè)試的過程中占有非常重要的地位。黑盒測(cè)試的基本方法有等價(jià)類劃分法、邊界值分析法、決策表法和因果圖法等。 黑盒測(cè)試屬于功能測(cè)試,是從用戶角
48、度出發(fā),依據(jù)規(guī)格說(shuō)明書,重點(diǎn)測(cè)試軟件的功能需求,對(duì)程序功能和接口進(jìn)行測(cè)試,發(fā)現(xiàn)以下錯(cuò)誤:功能不正確或有遺漏。界面不符合規(guī)格說(shuō)明書要求。數(shù)據(jù)結(jié)構(gòu)錯(cuò)誤或訪問數(shù)據(jù)庫(kù)錯(cuò)誤。性能是否滿足需求。初始化和終止錯(cuò)誤。2.3黑盒測(cè)試2.4黑盒測(cè)試 黑盒測(cè)試以規(guī)格說(shuō)明書為依據(jù),關(guān)注的是程序的功能是否都已經(jīng)實(shí)現(xiàn),每個(gè)功能是否都能正常使用,滿足用戶的需求。 黑盒測(cè)試的步驟如下: 1.測(cè)試計(jì)劃 根據(jù)需求說(shuō)明書中描述的功能和性能指標(biāo)的規(guī)格說(shuō)明書定義測(cè)試計(jì)劃,后續(xù)的測(cè)試工作都依據(jù)該計(jì)劃執(zhí)行,計(jì)劃包括測(cè)試內(nèi)容、選擇的方法、人員安排、測(cè)試時(shí)間以及相關(guān)資源配置等。 2.測(cè)試設(shè)計(jì) 依據(jù)測(cè)試計(jì)劃,分解、細(xì)化測(cè)試執(zhí)行過程,結(jié)合測(cè)試方法
49、為每個(gè)測(cè)試任務(wù)編寫測(cè)試用例。2.4黑盒測(cè)試2.4黑盒測(cè)試 黑盒測(cè)試以規(guī)格說(shuō)明書為依據(jù),關(guān)注的是程序的功能是否都已經(jīng)實(shí)現(xiàn),每個(gè)功能是否都能正常使用,滿足用戶的需求。 黑盒測(cè)試的步驟如下: 3.測(cè)試開發(fā) 建立可重復(fù)使用的測(cè)試用例或者開發(fā)用于自動(dòng)化測(cè)試的測(cè)試腳本。 4.測(cè)試執(zhí)行 依照設(shè)計(jì)的測(cè)試用例執(zhí)行測(cè)試,并對(duì)發(fā)現(xiàn)的缺陷進(jìn)行跟蹤和管理。 5.測(cè)試評(píng)估 結(jié)合量化的測(cè)試覆蓋率及測(cè)試缺陷跟蹤,對(duì)測(cè)試團(tuán)隊(duì)的工作及軟件質(zhì)量做出綜合評(píng)價(jià),并完成測(cè)試報(bào)告。2.4黑盒測(cè)試2.4 黑盒測(cè)試 黑盒測(cè)試的優(yōu)點(diǎn)與缺點(diǎn) (1)優(yōu)點(diǎn) 針對(duì)性強(qiáng),定位問題準(zhǔn)確。 可以明確被測(cè)對(duì)象(軟件系統(tǒng)或產(chǎn)品)是否達(dá)到用戶要求的功能。 可以將測(cè)
50、試中性能測(cè)試的部分交由自動(dòng)化工具完成。 (2)缺點(diǎn) 對(duì)測(cè)試人員要求較高,需要測(cè)試人員經(jīng)驗(yàn)豐富、技術(shù)嫻熟。 大部分需要手工測(cè)試。 涉及大量文檔資料,需要測(cè)試人員去編制和管理。2.4黑盒測(cè)試2.4 黑盒測(cè)試 2.4.1等價(jià)類劃分法 等價(jià)類劃分法是黑盒測(cè)試中最典型的測(cè)試方法。等價(jià)類是指把程序的輸入集合劃分為若干個(gè)互不相交的子集。所謂等價(jià)類,是指輸入域的某個(gè)子集合,體現(xiàn)了完備性和冗余性的特點(diǎn)。從每一個(gè)等價(jià)類中取一個(gè)數(shù)據(jù)作為測(cè)試的輸入條件,就可以用少量有代表性的測(cè)試數(shù)據(jù)取得較好的測(cè)試效果。2.4 黑盒測(cè)試2.4 黑盒測(cè)試 2.4.1等價(jià)類劃分法 1.等價(jià)類的兩種情況 等價(jià)類劃分有兩種情況,有效等價(jià)類和無(wú)
51、效等價(jià)類。 (1)有效等價(jià)類 有效等價(jià)類是指對(duì)軟件規(guī)格說(shuō)明而言,是由合法且有意義的輸入數(shù)據(jù)組成的集合。利用有效等價(jià)類,可以檢驗(yàn)程序是否實(shí)現(xiàn)了規(guī)格說(shuō)明預(yù)先定義的功能和性能。 (2)無(wú)效等價(jià)類 無(wú)效等價(jià)類是指對(duì)軟件規(guī)格說(shuō)明而言,是由不合理或無(wú)意義的輸入數(shù)據(jù)組成的集合。利用無(wú)效等價(jià)類,可以檢驗(yàn)程序的實(shí)現(xiàn)是否有不符合規(guī)格說(shuō)明預(yù)先定義的功能的地方。2.4 黑盒測(cè)試2.4 黑盒測(cè)試 2.4.1等價(jià)類劃分法 2.等價(jià)類劃分原則 (1)在輸入條件規(guī)定的取值范圍或值的個(gè)數(shù)確定的情況下,可以確定一個(gè)有效等價(jià)類和兩個(gè)無(wú)效等價(jià)類。 (2)在規(guī)定了輸入數(shù)據(jù)的一組值中(假定有n個(gè)值),并且在程序要對(duì)每個(gè)輸入值分別處理的情
52、況下,可以確定n個(gè)有效等價(jià)類和一個(gè)無(wú)效等價(jià)類。 (3)在規(guī)定輸入數(shù)據(jù)必須遵守的規(guī)則的情況下,可以確定一個(gè)有效等價(jià)類和若干個(gè)無(wú)效等價(jià)類。 (4)在輸入條件規(guī)定了輸入值的集合或規(guī)定了“必須如何”的條件下,可以確定一個(gè)有效等價(jià)類和一個(gè)無(wú)效等價(jià)類。 (5)在確定已劃分的等價(jià)類中各元素在程序處理中的方式不同的情況下,則應(yīng)將該等價(jià)類進(jìn)一步劃分為更小的等價(jià)類。2.4 黑盒測(cè)試2.4 黑盒測(cè)試 2.4.1等價(jià)類劃分法 3.等價(jià)類測(cè)試用例設(shè)計(jì) (1)采用等價(jià)類劃分法設(shè)計(jì)測(cè)試用例的步驟: 按照輸入條件有效等價(jià)類無(wú)效等價(jià)類 建立等價(jià)類表,列出所有劃分出的等價(jià)類。 為每一個(gè)等價(jià)類規(guī)定唯一的編號(hào)。 設(shè)計(jì)一個(gè)新的測(cè)試用例
53、,使其盡可能多地覆蓋尚未被覆蓋的有效等價(jià)類,重復(fù)這一步,直到所有的有效等價(jià)類都被覆蓋為止。 設(shè)計(jì)一個(gè)新的測(cè)試用例,使其僅覆蓋一個(gè)尚未被覆蓋的無(wú)效等價(jià)類,重復(fù)這一步,直到所有的無(wú)效等價(jià)類都被覆蓋為止。2.4 黑盒測(cè)試2.4 黑盒測(cè)試 2.4.1等價(jià)類劃分法 3.等價(jià)類測(cè)試用例設(shè)計(jì) (1)采用等價(jià)類劃分法設(shè)計(jì)測(cè)試用例的步驟: (2)實(shí)例分析 用等價(jià)類劃分法為下面程序進(jìn)行測(cè)試用例設(shè)計(jì)。(略。)2.4 黑盒測(cè)試2.4.2邊界值分析法 1.邊界值分析法概述 邊界值分析法(Boundary Value Analysis,BVA),是一種對(duì)等價(jià)類劃分法的補(bǔ)充技術(shù),它的測(cè)試用例來(lái)源于等價(jià)類的邊界。根據(jù)實(shí)際經(jīng)驗(yàn)
54、,大量的錯(cuò)誤往往發(fā)生在輸入或輸出范圍的邊界上,而不是輸入、輸出的內(nèi)部。因此,針對(duì)邊界進(jìn)行測(cè)試,有可能會(huì)發(fā)現(xiàn)更多的錯(cuò)誤和缺陷。 在使用邊界值分析法設(shè)計(jì)測(cè)試用例時(shí),首先要確定邊界,一般情況下,輸入和輸出的等價(jià)類邊界都是應(yīng)該著重測(cè)試的邊界。選取剛好等于、大于或小于邊界的值作為測(cè)試數(shù)據(jù),而不是選取等價(jià)類中典型值或任意值作為測(cè)試數(shù)據(jù)。2.4 黑盒測(cè)試2.4.2邊界值分析法 2.設(shè)計(jì)原則 在使用邊界值分析法設(shè)計(jì)測(cè)試用例時(shí),應(yīng)該遵循以下原則: 如果輸入條件規(guī)定了值的范圍,則應(yīng)取剛達(dá)到這個(gè)范圍的邊界值,以及剛剛超越這個(gè)范圍邊界值作為測(cè)試輸入數(shù)據(jù)。 如果輸入條件規(guī)定了值的個(gè)數(shù),則用最大個(gè)數(shù)、最小個(gè)數(shù)、比最小個(gè)數(shù)
55、少1、比最大個(gè)數(shù)多1的數(shù)作為測(cè)試數(shù)據(jù)。 將規(guī)則和應(yīng)用于輸出條件,即設(shè)計(jì)測(cè)試用例使輸出值達(dá)到邊界值及其左右的值。 如果程序的規(guī)格說(shuō)明給出的輸入域或輸出域是有序集合,則應(yīng)選取集合的第一個(gè)元素和最后一個(gè)元素作為測(cè)試用例。 如果程序中使用了一個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu),則應(yīng)當(dāng)選擇這個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu)的邊界上的值作為測(cè)試用例。 分析規(guī)格說(shuō)明,找出其他可能的邊界條件。2.4 黑盒測(cè)試2.4.3決策表法 1.決策表概述 決策表又稱判斷表,是一種呈表格狀的圖形工具,適用于描述處理判斷條件較多,各條件又相互組合、有多種決策方案的情況。精確而簡(jiǎn)潔描述復(fù)雜邏輯的方式,將多個(gè)條件與這些條件滿足后要執(zhí)行的動(dòng)作相對(duì)應(yīng)。但不同于傳統(tǒng)程序語(yǔ)
56、言中的控制語(yǔ)句,決策表能將多個(gè)獨(dú)立的條件和多個(gè)動(dòng)作之間的聯(lián)系清晰地表示出來(lái)。 決策表是軟件黑盒測(cè)試方法中邏輯性最強(qiáng)、最嚴(yán)格的測(cè)試方法,是分析多種邏輯條件下執(zhí)行不同操作的技術(shù)。在程序開發(fā)初期,決策表作為程序編寫的輔助工具來(lái)使用。使用決策表可以把復(fù)雜的邏輯關(guān)系和多種條件組合情況全部列舉并表達(dá)明確。因此,使用決策表法設(shè)計(jì)測(cè)試用例可以設(shè)計(jì)出完整的測(cè)試用例集合。2.4 黑盒測(cè)試2.4.3決策表法 1.決策表概述 決策表適合以下特征的應(yīng)用程序: ifthenelse分支邏輯突出。 輸入變量之間存在邏輯關(guān)系。 涉及輸入變量子集的計(jì)算。 輸入與輸出之間存在因果關(guān)系。 很高的圈復(fù)雜度。2.4 黑盒測(cè)試2.4.3
57、決策表法2.決策表構(gòu)成決策表由四個(gè)部分組成,如圖所示。(1)條件樁 列出了問題的所有條件。(2)動(dòng)作樁 列出了問題規(guī)定可能采取的操作。(3)條件項(xiàng) 列出針對(duì)它所列條件的取值,在所有可能情況下的真假值。(4)動(dòng)作項(xiàng) 列出在條件項(xiàng)的各種取值情況下應(yīng)該采取的動(dòng)作。 規(guī)則:任何一個(gè)條件組合的特定取值及其相應(yīng)要執(zhí)行的操作稱為規(guī)則。在決策表中,條件項(xiàng)和動(dòng)作項(xiàng)的交叉列就是規(guī)則。顯然,決策表中列出多少組條件取值,就有多少規(guī)則。決策表中具有n個(gè)條件的有限條目決策表有2n個(gè)規(guī)則。2.4 黑盒測(cè)試2.4.3決策表法 3.決策表設(shè)計(jì)測(cè)試用例 使用決策表法設(shè)計(jì)測(cè)試用例的步驟:確定規(guī)則個(gè)數(shù)。列出所有的條件樁和動(dòng)作樁。填入
58、條件項(xiàng)。填入動(dòng)作樁和動(dòng)作項(xiàng),得到初始判定表?;?jiǎn),合并相似規(guī)則。依據(jù)判定表,選擇測(cè)試數(shù)據(jù),設(shè)計(jì)測(cè)試用例。2.4 黑盒測(cè)試2.4.4因果圖法 因果圖法是一種利用圖解法分析輸入的各種組合情況,從而設(shè)計(jì)測(cè)試用例的方法,它適合于檢查程序輸入條件的各種組合情況。 因果圖法是從需求中找出因(輸入條件)和果(輸出或程序狀態(tài)的改變),通過分析輸入條件之間的關(guān)系(組合關(guān)系、約束關(guān)系等)及輸入和輸出之間的關(guān)系繪制出因果圖,再轉(zhuǎn)化成判定表,從而設(shè)計(jì)出測(cè)試用例的方法,該方法主要適用于各種輸入條件之間存在某種相互制約關(guān)系或輸出結(jié)果依賴于各種輸入條件的組合時(shí)的情況。2.4 黑盒測(cè)試2.4.4因果圖法 1.4種符號(hào)在因果圖
59、中,使用4種符號(hào)表示4種因果關(guān)系,如圖所示。用直線連接左右節(jié)點(diǎn)。c1:原因(輸入狀態(tài))。e1:結(jié)果(輸出狀態(tài))。恒等:原因、結(jié)果同時(shí)出現(xiàn)。非:原因出現(xiàn),結(jié)果不出現(xiàn);原因不出現(xiàn),結(jié)果出現(xiàn)?;颍涸虺霈F(xiàn)1個(gè),結(jié)果就出現(xiàn);原因都不出現(xiàn),結(jié)果就不出現(xiàn)。且:原因都出現(xiàn),結(jié)果才出現(xiàn)。2.4 黑盒測(cè)試2.4.4因果圖法2.4種約束 在實(shí)際問題中,為了表示原因與原因之間、結(jié)果與結(jié)果之間可能存在的約束條件,因果圖中還附加一些表示約束條件的符號(hào),如圖所示。2.4 黑盒測(cè)試2.4.4因果圖法2.4種約束 約束符號(hào)亦包含多種類型,根據(jù)“從輸入考慮”和“從輸出考慮”兩方面進(jìn)行歸類如下:(1)從輸入考慮E(互斥/異或):
60、表示a、b兩原因不會(huì)同時(shí)成立,最多一個(gè)能成立。I(包含):a、b、c三個(gè)原因中至少有一個(gè)必須成立。O(唯一):a、b當(dāng)中必須有一個(gè),且僅有一個(gè)成立。R(要求):當(dāng)a出現(xiàn)時(shí),b必須也出現(xiàn);不可能a出現(xiàn),b不出現(xiàn)。(2)從輸出考慮M(強(qiáng)制或屏蔽):a是1時(shí),b必須是0;a是0時(shí),b的值不定。2.4 黑盒測(cè)試2.4.4因果圖法 3.因果圖設(shè)計(jì)測(cè)試用例 使用因果圖設(shè)計(jì)測(cè)試用例的步驟 分析軟件規(guī)格說(shuō)明描述中哪些是原因(即輸入條件或輸入條件的等價(jià)類),哪些是結(jié)果(即輸出條件),并給每個(gè)原因和結(jié)果賦予一個(gè)標(biāo)識(shí)符。 分析軟件規(guī)格說(shuō)明描述中的語(yǔ)義,找出原因與結(jié)果之間,原因與原因之間對(duì)應(yīng)的關(guān)系,根據(jù)這些關(guān)系,畫出
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度高端茶葉批發(fā)采購(gòu)合同范本3篇
- 2025年新能源汽車充電樁建設(shè)委托合同3篇
- 2025年地質(zhì)勘探項(xiàng)目合作合同范本
- 2025年度訴前保全擔(dān)保操作細(xì)則合同范本
- 2025年度陶瓷廠廠長(zhǎng)任用合同書3篇
- 2025年度平板車租賃與跨境電商物流合同8篇
- 2025年度農(nóng)副產(chǎn)品電商推廣與營(yíng)銷合同
- 2025年企業(yè)合同管理咨詢與培訓(xùn)協(xié)議
- 2025年上海建筑勞務(wù)分包合同標(biāo)準(zhǔn)版本(2篇)
- 2025年不帶家電房屋租賃合同范文(2篇)
- 工程款支付報(bào)審表
- 《項(xiàng)目施工組織設(shè)計(jì)開題報(bào)告(含提綱)3000字》
- ICU常見藥物課件
- CNAS實(shí)驗(yàn)室評(píng)審不符合項(xiàng)整改報(bào)告
- 農(nóng)民工考勤表(模板)
- 承臺(tái)混凝土施工技術(shù)交底
- 臥床患者更換床單-軸線翻身
- 計(jì)量基礎(chǔ)知識(shí)培訓(xùn)教材201309
- 中考英語(yǔ) 短文填詞、選詞填空練習(xí)
- 阿特拉斯基本擰緊技術(shù)ppt課件
- 新課程理念下的班主任工作藝術(shù)
評(píng)論
0/150
提交評(píng)論