




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第一階段知識匯總
版本號:VL1
作者姓名:_
學(xué)科專業(yè):—軟件測試
文檔類型:第一階段匯總
控數(shù)信邏程白黑邊輸輸因判止.流狀異錯
制據(jù)息輯序盒盒界入出果定交程去常誤
流流流覆插值域域圖法試分遷分猜
分分分蓋裝覆覆驗析移析測
析析析蓋蓋法
-
廠r
-
輸
靜動內(nèi)整入條處其
態(tài)態(tài)部體件理他
輸
分分實特組過
析析現(xiàn)性出合程
ST
編碼
設(shè)計
分析
技術(shù)
測試
技術(shù)
開發(fā)
流程
體系
質(zhì)量
V
一R螺瀑
P
U
K旋布
D
P
V模模模
模模
型型型型
01
型IS090
管理
需求
管理
配置
審
同行評
管理
缺陷
軟件測試全景圖
「本”化屬或
7灰畬方法,■符號執(zhí)行
一麗匕血
r演孽泉一形貳化方法
效據(jù)驅(qū)動-功施血
-?憐炎劃H
關(guān)■詞吧動
-必料?。析
正式實驗方法一出8建建
住的帆
測試?本-[3WB&
T試套件-?I4U
-偏遂修黑法
測i班填判定值?-情復(fù)血
測試工具功能圖
?上句也■—WWW
測試數(shù)爆_Whoc法
自動化響匚代碼電魚一■S住加
演試執(zhí)行
手工測試方法■畬于1白盒方值
動力鬲試?F
■方麗出,一
一般陪報告
哂生?置好
*KS?
一匕勢力折
一外指分析-1HW1
-WPIW
-WfirtWe*-設(shè)計?魚
-RBffli
-filittt鮑元富試
計剌-?WWW
3品用6腐成靂成
?買依豆-M3UMI
格統(tǒng)用成
-WiABRV工.仁
TffliWAMASS
6VT/SVT-a**
-0?tt
-??
系統(tǒng)測試的計劃
需求分析
設(shè)計和實現(xiàn)
SRS評審ST計劃
SRS基線化ST方案
ST用例ST執(zhí)行
ib
集成測試的計劃
概要設(shè)計
設(shè)計和實現(xiàn)
HLD評審IT計劃
HLD基線化IT方案
IT用例IT執(zhí)行
ib
單元測試的計劃
詳細設(shè)計
設(shè)計和實現(xiàn)
LLD評審UT計劃
LLD基線化UT方案
UT用例UT執(zhí)行
編碼代碼走查
測試基礎(chǔ)5
軟件質(zhì)量8
測試方法15
V&V模型(測試過程)18
單元測試20
集成測試24
系統(tǒng)測試32
測試覆蓋率43
測試用例舉例45
同行評審47
配置&希求管理50
缺陷管理52
SQLSERVER55
測試工具總結(jié)60
第一階段英語單詞總結(jié)77
復(fù)習(xí)問題總結(jié)81
測試基礎(chǔ)
1、軟件測試的目的:證明(表明軟件能夠工作)f檢測(發(fā)現(xiàn)錯誤)一預(yù)防(管
理質(zhì)量)
2、測試執(zhí)行:單元測試(UT執(zhí)行):一個測試用例的測試執(zhí)行;
集成測試(IT執(zhí)行):一個測試用例集的測試執(zhí)行;
系統(tǒng)測試(ST執(zhí)行):不同測試階段的測試執(zhí)行。
3、回歸測試的目的:a.驗證缺陷是否修復(fù);
b.檢測修改是否引入了新的錯誤。
5、軟件測試的主要工作:a.檢視代碼,評審開發(fā)文檔;
b.進行測試設(shè)計,寫作測試文檔(測試計劃、測試方案、測
試用例等);
c.執(zhí)行測試,發(fā)現(xiàn)軟件缺陷,提交缺陷報告,并確認缺陷最
終得到了修正;
d.通過測試度量軟件質(zhì)量。
6、軟件危機的出現(xiàn)主要表現(xiàn)在:a.由于缺乏大型軟件開發(fā)經(jīng)驗和軟件開發(fā)數(shù)據(jù)積累,
開發(fā)工作計劃很難制定;
b.開發(fā)早期需求分析不夠明確,造成開發(fā)后期矛盾集
中暴露;
c.不遵循開發(fā)規(guī)范,開發(fā)文檔不完整,軟件荒以維護:
d.缺乏嚴密有效的軟件質(zhì)量檢測手段,交付給用戶的
軟件質(zhì)量差。
7、軟件危機的后果:a.軟件質(zhì)量不高,很難穩(wěn)定;
b.軟件項目延期,進度無法控制;
c.成本增加,無法控制預(yù)算。
8、軟件危機的根源:a.根據(jù)摩爾定律,硬件發(fā)展很快,相應(yīng)對軟件系統(tǒng)的期望
越來越高:
b.軟件系統(tǒng)復(fù)雜性提高,需多人合作;
c.軟件開發(fā)是人的智力活動,無法用已有的產(chǎn)業(yè)工程方法來組織
管理。
9、軟件生命周期的各個階段:計劃一需求分析一設(shè)計一編碼一測試一運行一評
價
10、設(shè)計:概要設(shè)計(HLD):在設(shè)計階段把各項需求轉(zhuǎn)換成相應(yīng)的體系結(jié)構(gòu),每一部分
是功能明確的模塊;
詳細設(shè)計(LLD):對每個模塊要完成的工作進行具體的描述。
11、軟件研發(fā)相關(guān)要素:人員、過程、工具。
12、軟件項目組人員組成:分析人員、設(shè)計人員、開發(fā)人員、測試人員、配置管理人員、
SQA(質(zhì)量保證人員);
13、軟件研發(fā)流程類型:瀑布模型、螺旋模型、RUP流程、IPD流程。
14.軟件研發(fā)中幾個重要的過程,需求管理;配置管理;缺陷管理;同行評審v
15、常見的引入缺陷的原因:a.開發(fā)過程缺乏有效的溝通,或者沒有進行溝通;
b.軟件復(fù)雜度越來越高;
c.編程中產(chǎn)生錯誤;
d.需求不斷變更;
e.項目進度的壓力;
f.不重視開發(fā)文檔;
g.軟件開發(fā)工具本身隱藏的問題。等等……
軟件質(zhì)量
軟件質(zhì)量管理體系:
國
IS09000:2000版標準
IS09000:制定管理理念和原則
IS09001:標準對組織質(zhì)量管理體系必須履行的要求做了明確的規(guī)定,是對產(chǎn)品要求的
進一進補充。(核心)
IS09004:是組織進行持續(xù)改進的指南標準。
八項質(zhì)量管理原則:
一.以顧客為中心:組織依存于其顧客,因此,組織應(yīng)理解顧客當(dāng)前的和未來的需
求,
滿足顧客要求并爭取趕超顧客期望。
二.領(lǐng)導(dǎo)作用:領(lǐng)導(dǎo)者將本組織的宗旨.方向和內(nèi)部環(huán)境編統(tǒng)一起來,并創(chuàng)造使員
工能
夠充參與實現(xiàn)組織目標的環(huán)境。
三.全員參與:各級人員是組織之本,只有他們的充分參與,才能使他們的才干
為組
織帶來最大的收益。
四.過程方法:將相關(guān)的資源和活動作為過程進行管理,可以更高效地得到期望的
結(jié)
果。
五.管理的系統(tǒng)方法:針對設(shè)定的目標,識別.理解并管理一個由相互關(guān)聯(lián)的過程的
過程
所組成的體系,有助于提高組織的有效性和效率。
六.持續(xù)改進:持續(xù)改進是組織的一個永恒的目標。
七.基于事實的決策方法:對數(shù)據(jù)和信息的邏輯分析或直覺判斷是有效決策的基礎(chǔ)。
八.互利的供方關(guān)系:通過互利的關(guān)系,增強組織及其供方創(chuàng)造價值的能力。
其中與軟件產(chǎn)品產(chǎn)品相關(guān)有:(一.三.六.七項)
1、軟件質(zhì)量的定義:一個實體的所有特性,基于這些特性可以滿足明顯的或隱含的需
求。而質(zhì)量就是實體基于這些特性滿足需求的程度。
2、軟件質(zhì)量的三個層次:a.符合需求規(guī)格;b.符合用戶顯示需求;
c.符合用戶實際需求。
3、影響軟件質(zhì)量的因素:流程、技術(shù)、組織。
流程:一組活動(活動是否都是必須的;活動角色之間的關(guān)系)
過程:一組將輸入轉(zhuǎn)化為輸出的相關(guān)聯(lián)或相互作用的活動。
4、八項質(zhì)量管理原則的意義:a.是質(zhì)量管理的理論基礎(chǔ);
b.用高度概括易于理解的語言所表述的質(zhì)量管理的最基
本,最通用的一般性規(guī)律;
c.為組織建立質(zhì)量管理體系提供了理論依據(jù);
d.是組織的領(lǐng)導(dǎo)者有效的實施質(zhì)量管理工作必須遵循
的原則。
5、CMM軟件質(zhì)量成熟度模型
CMM(CapabilltyMaturityModel)
由于美國軟件工程研究所(SEI)受美國國防部委托立項。
開發(fā)人:WattsHumphrey.
1991年推出CMM1.0版,1993年提出CMM1.1版
現(xiàn)在開發(fā)CMMI(CMMIntegration)
軟件能力成熟度模型CMM(提倡過程決定質(zhì)量)
3己定義級Defined
標準、一致的過勿/過程被描述,并得到良好理解產(chǎn)品過程質(zhì)量
2可重復(fù)級Repeatable
紀律的過程/可重復(fù)以前的主要經(jīng)驗集成工程過程
1初始級initial
不可預(yù)測并且缺乏控制項目管理
CMM1級
特點:(個人英雄主義)
A項日的成功依賴于一個非常優(yōu)秀的項目經(jīng)理的團隊。
B無法重復(fù)以往成功的實踐。
C缺乏基本配置管理
可視度:
整個過程不可預(yù)測,不可見,不可控。(過程管理非?;靵y)
CMM2級
特點:(有紀律)
能夠重復(fù)以前成功的經(jīng)驗和實踐。
引入合理需求變更(需求管理)
測試與開發(fā)分離,整個過程能力可概括為有紀律的。
可視度
原始需求一一需求分析一一設(shè)計一一編碼一一測試一一產(chǎn)品
CMM3級
特點:(有過程,經(jīng)過同行評審)
組織中有一個專門負責(zé)組織的標準軟件過程。(SEPG)
可視度
同CMM2但整個過程是標準和?致的。
CMM4級特點
特點:(量化管理)
過程能力是可預(yù)防的,因為過程是已測量的并在可測的范圍內(nèi)運行。組織能定量地預(yù)測
過程和產(chǎn)品質(zhì)量方面趨勢。軟件產(chǎn)品具有可預(yù)測的高質(zhì)量。
可視度
同CMM3但整個過程是可預(yù)測的。
CMM5級特點
特點:(改進過程本身)
通過缺陷來發(fā)現(xiàn)過程的不足。
新的開發(fā)技術(shù)促使改進過程。
可視度
同CMM4級整個是以改進的。
CMM1:初始級,Initial,不可預(yù)測并且缺乏控制;
CMM2:可重復(fù)級:Repeatable,可重復(fù)以前的主要經(jīng)驗;
(關(guān)鍵過程區(qū)域:需求管理;軟件項目計劃:軟件項目跟蹤和監(jiān)督:軟件子
合同管理;軟件質(zhì)量保證;軟件配置管理。)
CMM3:己定義級:Defined,過程被描述,并得到良好理解;
(關(guān)鍵過程區(qū)域:組織過程定義;組織過程焦點;培訓(xùn)大綱;集成軟件管理;
軟件產(chǎn)品工程;組際協(xié)調(diào);同行評審。)
CMM4:己管理級:Managed,過程被測量并受控;
(關(guān)鍵過程區(qū)域:定量的過程管理;軟件質(zhì)量管理。)
CMM5:優(yōu)化級,Optimizing,關(guān)注過程改進。
(關(guān)鍵過程區(qū)域:缺陷預(yù)防;技術(shù)變更管理;過程變更管理。)
7、CMM的用途:a.評估組用來識別組織中的強處和弱處;
b.評價組用來識別選擇不同的業(yè)務(wù)承包商的風(fēng)險和監(jiān)督合同;
c.管理者用來了解其組織的能力,并了解為了提高其能力成熟度而進
行軟件過程改進所需進行的活動:
d.技術(shù)人員和過程改進組用來作為指南,指導(dǎo)他們在組織中定義和改
進軟件過程。
8、IS09001和CMM的關(guān)系:
相似點:強調(diào)管理、過程、規(guī)范化和文檔化;
不同點:CMM把焦點對準軟件;IS09001的范圍包括:硬件、軟件、流程性材料和服
務(wù);
兩者關(guān)系:CMM2級與IS09001強相關(guān);CMM的每個關(guān)鍵過程域至少按某種解釋與
IS09001弱相關(guān)。
六西格瑪管理法(強調(diào)組織能力)
本質(zhì):全面質(zhì)量管理,而不僅僅是質(zhì)量提高手段
六西格瑪實施方式:
DMAIC過程
5控制control推行控制系統(tǒng)
4改進Improve優(yōu)化解決方案
3分析Analyse研究資料,確定原因
收集資料,尋找原因
2測量Measure
1定義Define/提出問題,確定目標
9、軟件質(zhì)量模型:
功能性:當(dāng)軟件在指定條件下使用時,軟件產(chǎn)品提供滿足明確和隱含需求的功能的
能力。包括:適合性:準確性;互操作性;保密安全性;功能性的依從性。
可靠性:在指定條件下使用時,軟件產(chǎn)品維持規(guī)定的性能級別的能力。包括:成熟
性;容錯性:易恢復(fù)性;可靠性的依從性。
易用性:在指定條件下使用時,軟件產(chǎn)品被理解、學(xué)習(xí)、使用和吸引用戶的能力。
包括:易理解性;易學(xué)性:易操作性;吸引性;易用性的依從性,
效率:在規(guī)定條件下,相對于所用資源的數(shù)量,軟件產(chǎn)品可提供適當(dāng)性能的能力。
包括:時間特性;資源利用性;效率依從性。
維護性:軟件產(chǎn)品可被修改的能力。修改可能包括修正、改進或軟件對環(huán)境、需求
和功能規(guī)格說明變化的適應(yīng)。包括:易分析性;易改變性:穩(wěn)定性;易測
試性;維護性的依從性.
可移植性:軟件產(chǎn)品從一種環(huán)境遷移到另外一種環(huán)境的能力。包括:適應(yīng)性;易安
裝性;共存性;易替換性;可移植性的依從性。
10、軟件質(zhì)量活動:軟件質(zhì)量保證(SQA)和測試;SQA從流程方面保證軟件的質(zhì)量、測
試從技術(shù)方面保證軟件的質(zhì)量、只進行SQA或者只進行測試活動不
一定能產(chǎn)生好的軟件質(zhì)量。
11、SQA的主要工作范圍:-指導(dǎo)并監(jiān)督項目按照過程實施;
?對項目進行度量、分析,增加項目的可視性:
?審核工作產(chǎn)品,評價工作產(chǎn)品和過程質(zhì)量目標的復(fù)合度;
?進行缺陷分析,缺陷預(yù)防活動,發(fā)現(xiàn)過程的缺陷.提供決
策參考,促進過程改進。
12、度量:對事物屬性的量化表示;
軟件度量:是指計算機軟件中范圍廣泛的測度,包括對軟件系統(tǒng)、構(gòu)建或生命周
期過程具有的某個給定屬性的度的一個定量測量。
目的:-提高軟件生產(chǎn)率,縮短產(chǎn)品研發(fā)周期,降低研發(fā)成本、維護成本;
?提高軟件產(chǎn)品質(zhì)量,提高用戶滿意度:
?為組織持續(xù)改進提供量化的指標和反饋。
13、軟件度量的作用:理解;預(yù)測;評估:改進。
分類:規(guī)模;工作量;進度;質(zhì)量
如何將度量的知識應(yīng)用于實際工作中:建立測試工作的度量數(shù)據(jù),目的是作為預(yù)測
和改進的基礎(chǔ)(a.熟悉需求:進度、工作量、規(guī)模;b.設(shè)計用例:工作效率、
覆蓋率;c.執(zhí)行用例:工作效率、缺陷密度;)
測試方法
1、什么是白盒測試:
?白盒測試是依據(jù)被測軟件分析程序內(nèi)部構(gòu)造,并根據(jù)內(nèi)部構(gòu)造設(shè)計用例,來對內(nèi)
部控制流程進行測試,可完全不顧程序的整體功能實現(xiàn)情況;
?白盒測試是基于程序結(jié)構(gòu)的邏輯驅(qū)動測試;
?白盒測試又可以被稱為玻璃盒測試、透明盒測試、開放盒測試、結(jié)構(gòu)化測試、邏
輯驅(qū)動測試。
2、為什么進行白盒測試:
?一般在測試前期進行,通過達到一定的邏輯覆蓋率指標,使得軟件內(nèi)部邏輯控制
結(jié)構(gòu)上的問難題能基本得到消除:
?能保證內(nèi)部邏輯結(jié)構(gòu)達到一定的覆蓋程度,能夠給予軟件代碼質(zhì)量更大的保證;
?發(fā)現(xiàn)問題后解決問題的成本較低。
3、白盒測試的常用技術(shù):
?靜態(tài)分析:控制流分析、數(shù)據(jù)流分析、信息流分析等;
?動態(tài)分析:邏輯覆蓋測試(分支測試、路徑測試等)、程序插裝等。
4、控制流相關(guān)概念:程序元素、控制流關(guān)系、控制流圖、控制流矩陣。(步驟:5)
5、控制流分析能發(fā)現(xiàn)的問題:轉(zhuǎn)向并不存在的標號;沒有用的語句標號;從程序
入口進入后無法達到的語句;不能達到停機語句的
語句。
6、數(shù)據(jù)流相關(guān)概念:數(shù)據(jù)的定義;數(shù)據(jù)的引用。(步驟:3)
7、數(shù)據(jù)流分析的作用:分析代碼中關(guān)于數(shù)據(jù)定義和引用方面的錯誤;進行代碼優(yōu)
化。(賦值語句運算效率高)
8、信息流分析:輸入變量和語句關(guān)系:語句和輸出變量關(guān)系;輸入和輸出變量管
理。(步驟:4)
9、覆蓋率工具的作用:
?分析被測試代碼控制結(jié)構(gòu),決定插裝位置;-實施插裝;-將插裝代
碼重新編譯;-執(zhí)行被測對象,根據(jù)插裝的監(jiān)控哨信息統(tǒng)計覆蓋率。
10、白盒測試的特點:
?測試人員需要了解軟件的實現(xiàn);-可以檢測代碼中的每條分支和路
徑:-解釋隱藏在代碼中的錯誤:?對代碼的測試比較徹底:-實現(xiàn)代
碼結(jié)構(gòu)上的優(yōu)化;?白盒測試投入較大,成本高;-白盒測試不驗證規(guī)
格的正確性。
11、什么是黑盒測試:
?黑盒測試把被測對象看成一個黑盒,只考慮其整體特性,不考慮其內(nèi)部具體
實現(xiàn);
?黑盒測試針對的被測對象可以是一個系統(tǒng)、一個子系統(tǒng)、一個模塊、一個子
模塊、一個函數(shù)等。
?黑盒測試又可以被稱為基于規(guī)格的測試。
12、常見的黑盒測試類型:功能性測試;容量測試;負載測試;恢復(fù)性測試。
13、系統(tǒng)測試的時候,如果沒有SRS時,有兩類BUG無法發(fā)現(xiàn),需求遺漏:
需求偏差。
14、黑盒測試的優(yōu)點:?對于更大的代碼單元來說(子系統(tǒng)甚至系統(tǒng)級)比白
盒測試效率要高;-測試人員不需要了解實現(xiàn)的細節(jié),
包括特定的編程語言;-從用戶的視角進行測試,很容
易被大家理解和接受;-有助于暴露任何與規(guī)格不一致或
有歧義的問題。
15、黑盒測試的匏直:?沒有清晰和簡明的規(guī)格,測試用例是很難設(shè)計
的:-不能控制內(nèi)部執(zhí)行路徑,會有很多內(nèi)部程序路徑
沒有被測試到;不能直接針對特定的程序段,這些程序
可能非常復(fù)雜(因此可能隱藏更多的問題)。
16、動態(tài)和靜態(tài)測試的分類依據(jù)在于:被測對象是否運行起來。
17、手工靜態(tài)分析一同行評審:正規(guī)檢視:技術(shù)評審;走行。評審對象:計
劃、需求文檔、設(shè)計圖、代碼等。
18、自動化靜態(tài)分析:靜態(tài)驗證:語法分析器:符號執(zhí)行器。
>自動化測試的限制(板書):
?自動化測試不具備想象力,不能夠檢查腳本中給定的觀察點之外的錯誤;
?自動化測試只能提高測試效率,不能提高測試效果,不能發(fā)現(xiàn)比人工測試更多的問題:
如被測對象不穩(wěn)定,存在變動性的話不適合開展自動化測試,否則腳本的編寫和維護所
耗費的時間可能遠大于人工測試;
?只有手工測試積累到一定程度(提供更多的觀察點),才能做好自動化測
試。
V&V模型(測試過程)
1、驗證與確認V&V:驗證(VERIFICATION)強調(diào)過程;確認(VALIDATION)近調(diào)
結(jié)果。
2、V&V告訴我們:-盡早測試(盡早準備、盡早執(zhí)行);
?全面測試(文檔、代碼)
?全過程測試(測試參與到開發(fā)過程中、對測試過程全程跟蹤)
?測試是獨立的、迭代的。
3、單元、集成、系統(tǒng)測試的比較:測試方法不同;考察范圍不同;評估基準不同。
4、回歸測試策略:完全重復(fù)測試;選擇性重復(fù)測試(覆蓋修改法;周邊影響法;指
標達成方法;選擇重要級別高的測試用例)
5、其他測試階段:驗收測試;a(ALPHA)測試;B(BETA)測試。
6、主要的測試文檔:測試計劃;測試方案;測試用例:測試規(guī)程;測試報告:測試日
報。
單元測試
1、單元測試的目的:
在于發(fā)現(xiàn)各模塊內(nèi)部可能存在的各種錯誤主要是基于白盒測試。
?驗證代碼是與設(shè)計相符合的;-發(fā)現(xiàn)設(shè)計和需求中存在的錯誤;
?發(fā)現(xiàn)在編碼過程中引入的錯誤。(和設(shè)計不相符/和設(shè)計相符,但是由于
編碼疏漏引起)
2、孤立的測試策略:
?方法:不考慮每個模塊與其他模塊之間的關(guān)系,為每個模塊設(shè)計樁模塊和
驅(qū)動模塊。每個模塊進行獨立的單元測試。
?優(yōu)點:該方法是最簡單,最容易操作的??梢赃_到高的結(jié)構(gòu)覆蓋率。該方法是純
粹的單元測試。
?缺點:樁函數(shù)和驅(qū)動函數(shù)工作量很大,效率低。
3、自頂向下的單元測試策略:
?方法:先對最頂層的單元進行測試,把頂層所調(diào)用的單元做成樁模塊。其
次對第二層進行測試,使用上面已測試的單元做驅(qū)動模塊。如此類
推直到測試完所有模塊。
?優(yōu)點:可以節(jié)省驅(qū)動函數(shù)的開發(fā)工作量,測試效率較高。
?缺點:隨著被測單元一個一個被加入,測試過程將變得越來越復(fù)雜,并且
開發(fā)和維護的成本將增加。
4、自底向上的單元測試策略:
?方法:先對模塊調(diào)用層次圖上最低層的模塊進行單元測試,模擬調(diào)用該模
塊的模塊做驅(qū)動模塊。然后再對上面一層做單元測試,用下面已被
測試過的模塊做樁模塊。以此類推,直到測試完所有模塊。
?優(yōu)點:可以節(jié)省樁函數(shù)的開發(fā)工作量,測試效率較高。
?缺點:不是純粹的單元測試,底層函數(shù)的測試質(zhì)量對上層函數(shù)的測試將產(chǎn)
生很大的影響。
5、單元測試的四個階段:?測試計劃:完成單元測試計劃:
?測試設(shè)計:完成單元測試方案;
?測試實現(xiàn):完成單元測試用例、單元測試規(guī)程、單元測
試腳本及數(shù)據(jù)文件;
?測試執(zhí)行:執(zhí)行單元測試用例,修改發(fā)現(xiàn)的問題并進行
回歸測試,提交單元測試報告。
?單元測試:樁&驅(qū)動舉例:
無論是單元測試還是集成測試都涉及到以下三個函數(shù):
主控函數(shù):intctrl(intx,inty)
加法函數(shù):intadd(intx,inty)
減法函數(shù):inlsub(intx,inty)
注意:進行單元測試時,設(shè)計用例時依據(jù)的是LLD;進行集成測試時,設(shè)計測試用例依
據(jù)的是HLD。下面給出來的是需要測試的實際的代碼。
intctrl(intx,inty)intadd(intx,inty)intsub(intx,inty)
{{{
inttemp=O;retum(x+y);retum(x-y);
if(x>=y)}}
temp=add(x,y);
else
temp=sub(x,y);
returntemp;
I
<自頂向下單元測試策略
不同測試步驟中的驅(qū)動可以寫到一起,也可以分開寫,這里是寫到一起了。
/測試Ctrl函數(shù)
需要寫一個驅(qū)動和兩個樁。
>驅(qū)動函數(shù)
voiddriver()
(
intret=O;
rel=ctrl(2,l);//x>y
if(ret=3)
printf(4ttestcaseJISUAN_UT_CTRL_001pass**);
else
printf(utestcaseJISUAN_UT_CTRL_001fair*);
ret=ctrl(l,l);〃x=y
if(ret==2)
printfCUestcaseJISUAN_UT_CTRL_002pass'');
else
printfTtestcaseJISUAN_UT_CTRL_002fail");
ret=ctrl(l,2);//x<y
if(ret==-l)
printf(4ttestcaseJISUAN_UT_CTRL_003pass");
else
printf(44testcaseJISUAN_UT_CTRL_003fail");
>樁函數(shù)
intstub_add(intx,inty)
(intstub_sub(intx,inty)
if(x==2&&y==l)(
return3;if(x==l&&y==2)
if(x==l&&y==l)return-1;
return2;return999999;
return999999;
>修改代碼
為了讓樁能體現(xiàn)在測試過程中,需要修改Ctrl函數(shù):
intctrl(intx,inty)
(
inttemp=O;
if(x>=y)
temp=stub_add(x,y);
else
temp=stub_sub(x,y);
returntemp;
I
/測試add函數(shù)
>驅(qū)動函數(shù)>樁函數(shù)
同測試Ctrl函數(shù)時的驅(qū)動同測試Ctrl函數(shù)時sub函數(shù)對應(yīng)的樁
>修改代碼
iniclil(iiilx,iniy)
{inttemp=O;
if(x>=y)
(
temp=add(x,y);
if(x==2&&y==l&&temp==3)
printf(MtestcaseJISUAN_UT_ADD_001pass”);
else
printf(MtestcaseJISUAN_UT_ADD_001fail”);
if(x==l&&y==l&&tenip==2)
printf(MtestcaseJISUAN_UT_ADD_002pass”);
else
printf(wtestcaseJISUAN_UT_ADI)_002fail”);
)
else
temp=stub_sub(x,y);
returntemp;
)
/測試sub函數(shù)
>驅(qū)動函數(shù)
同測試Ctrl函數(shù)時的驅(qū)動
>樁函數(shù)
無
第一階段總結(jié)
>修改代碼
intctrl(intx,inty)
(
inttemp=O;
if(x>=y)
temp=add(x,y);
else
{temp=sub(x,y);
if(x==l&&y==2&&tcmp==-l)
printf(wtestcaseJISUAN_UT_SUB_001pass");
else
printf(wtestcaseJISUAN_UT_SUB_001faiF,);
}
returntemp;}
集成測試
24
第一階段總結(jié)
一.What:什么是集成測試
?集成測試(IntegrationTesting)集成測試也叫組裝測試、聯(lián)合測試、部件測試、
子系統(tǒng)測試
?集成測試測什么
1.外部接口:各件吶在一起后表現(xiàn)的功能
2.內(nèi)部接口:各件間的接口是否正確A
?集成蘇的目的
驗證軟件的組建對概要設(shè)計說明書的符合度
?集成測試的評估基準:
接口覆蓋率
A.接口被測試到的百分比
B.接口的等價類、邊界值的覆蓋率
二.Why:為什么要做集成測試
?一些模塊雖然能夠單獨地工作,但并不能保證連接起來也能正常的工作。
?程序在某些局部反映不出來的問題,在全局上很可能暴露出來,影響功能的實現(xiàn)。
?雖然已經(jīng)有了IT和ST,但IT和UT、ST關(guān)注點不一樣,它們互為補充
?反分解性公理:為一個被測模塊獲得的覆蓋并不能覆蓋他所調(diào)用的模塊。
?反組合性公理:對于一個模塊中的對各子模塊分別合適的測試包并不一定對作為一
個整體的模塊合適
三.Who:誰做集成測試
?開發(fā)人員做
A優(yōu)勢:一般來說,編程能力稍強
B劣勢:Protect(就像變形金剛的汽車人),心理上不愿意否定自己的勞動成果,職
責(zé)是保護程序
25
第一階段總結(jié)
?測試人員做
A優(yōu)勢:Destroy(就像變形金剛的霸天虎),心理上追求完美,職責(zé)是挑刺、破壞程
序
B劣勢:目前的現(xiàn)狀,大部分tester編程能力不夠
四.When:什么時候做集成測試
4.1集成測試所處的測試過程
?集成測試所處的測試過程
A.測試準備活動在開發(fā)活動時可以并行開展,如開始做HLD設(shè)計時就可以開始做ITP
B.測試執(zhí)行活動在單元測試的基礎(chǔ)上進行
五.Where:對什么部分做集成測試
?子系統(tǒng)間集成(系統(tǒng)內(nèi)集成)
?模塊間集成(子系統(tǒng)內(nèi)集成)
-函數(shù)間集成(模塊內(nèi)集成)
六.How:怎么做集成測試
6.1測試過程的制定
6.1.1計劃
根據(jù)SVVP制定ITP
6.1.2設(shè)計
根據(jù)ITP制定IT方案
6.1.3實現(xiàn)
根據(jù)IT方案制定IT用例
6.1.4執(zhí)行
根據(jù)IT用例進行集成測試,提交BugReport,……,回歸測試
26
第一階段總結(jié)
6.2采用的測試方法
6.2.1灰盒測試
隨集成層次不同,灰度隨之相應(yīng)變化
6.3制定集成測試策略TestStrategy
6.3.1根據(jù)被測對象(層次)選擇合適的策略
1>大爆炸集成BigBang
優(yōu)點
方法簡單、效率高
缺點
?"急于求成”,成功率不高
?"大海撈針",導(dǎo)致即使發(fā)現(xiàn)問題也難以定位(無法故障隔離)
?"阿冏吞棗",許多內(nèi)部接口的錯誤被漏測
適用范圍
?小項目、維護型項目
?軟件結(jié)構(gòu)不清晰的系統(tǒng)
2》自頂向下集成Top-Down
子策略
?深度優(yōu)先(Deplh-First)
?廣度優(yōu)先(Broadth-First)
優(yōu)點
A.主控模塊(高層組件)得到較早驗證
B.深度優(yōu)先策略能夠較早驗證一個完整的功能,增強了開發(fā)信心
C.基本不需要開發(fā)驅(qū)動,減少了這部分的工作量
27
第一階段總結(jié)
D.和高層設(shè)計順序一致,方便并行開展
E.定位問題容易,支持故障隔離
缺點
A.需要開發(fā)大量的樁,工作量、成本太大
B.底層變更可能導(dǎo)致測試推倒重來
C.底層組件的驗證較晚,測試不充分
適用范圍
A.軟件結(jié)構(gòu)清晰的系統(tǒng)
B.高層接口變化小,底層接口變化大
C.主控模塊風(fēng)險大,需盡早驗證
D.希望盡早看到系統(tǒng)一部分功能
3》自底向上集成Bottom-Up
優(yōu)點
A.底層組件得到較早驗證
B.測試初期可以并行集成,效率高
C.由于驅(qū)動模塊是額外編寫的,對被測模塊的可測試性要求較低
D.減少了開發(fā)樁的工作量
E.定位問題容易,支持故障隔離
缺點
A.需要開發(fā)大量的驅(qū)動,工作量、成本同樣很高
B.對高層的驗證太晚了,設(shè)計上的缺陷不能被及早發(fā)現(xiàn)
C.集成到頂層后,對于底層異常將難以覆蓋。而使用樁將簡單得多
適用范圍
A.軟件結(jié)構(gòu)清晰的系統(tǒng)
28
第一階段總結(jié)
B.底層接口穩(wěn)定、或先被開發(fā)出來
C.高層接口變化較頻繁
4>三明治集成(分而治之策略)又分為傳統(tǒng)型和改進型Sandwich
優(yōu)點
融合了自頂向下和自底向上兩種策略的優(yōu)點
缺點
中間層測試要么不充分,要么測的充分但開發(fā)驅(qū)動和樁的工作量大
適用范圍
軟件結(jié)構(gòu)清晰的系統(tǒng)基本都適合采用
5》基干集成(內(nèi)核耦合度高)Backbone
結(jié)構(gòu)與策略:內(nèi)核(大爆炸)-應(yīng)用子系統(tǒng)(自底向上)-控制子系統(tǒng)(自頂向下)
優(yōu)點
具有三明治集成的優(yōu)點
缺點
A.對系統(tǒng)結(jié)構(gòu)的分析存在一定難度
B.由于被測系統(tǒng)復(fù)雜,驅(qū)動和樁的開發(fā)工作量較大
C.局部采用了大爆炸策略,存在大爆炸所有的缺點
適用范圍
嵌入式系統(tǒng)
6》分層集成(線性關(guān)系)Layers
集成方式
A.層內(nèi)集成
策略非常靈活,可以是各種其他策略
優(yōu)缺點根據(jù)策略而變
29
第一階段總結(jié)
B.層間集成
策略和優(yōu)缺點同"層內(nèi)集成”
使用范圍
有明顯線性層次關(guān)系的系統(tǒng)
7》基于功能集成Function-Based
優(yōu)點
A.可以盡早驗證關(guān)鍵組件的功能
B.可能同時加入多個模塊,與大爆炸類似,效率較高
C.和自頂向下一樣,驅(qū)動模塊的開發(fā)工作量不多
缺點
A.兼具大爆炸和自頂向下的缺點,比如對有些接口測試不充分,可能導(dǎo)致漏測
B.可能會有較多的冗余測試
適用范圍
對功能的實現(xiàn)沒把握的產(chǎn)品
8》持續(xù)集成(高頻集成、每日集成)Continuous/High-frequency
優(yōu)點
A.錯誤能被較早發(fā)現(xiàn),且容易定位
B.開發(fā)和集成可以并行,效率高
缺點
測試針對性不強,不容易發(fā)現(xiàn)有價值的問題
適用范圍
迭代開發(fā)、增量開發(fā)的產(chǎn)品
9》基于進度集成Schedule-Based
優(yōu)點
30
第一階段總結(jié)
并行度高,能縮短項目進度
缺點
組件間缺乏整體性,無法有效集成
開發(fā)驅(qū)動和樁的工作量難以估計
由于進度原因,集成效果不好
適用范圍
進度很緊的項目
10>基于風(fēng)險集成Risk-Based
優(yōu)點
風(fēng)險大的模塊得到較早驗證,有助于系統(tǒng)的快速穩(wěn)定
缺點
風(fēng)險分析偏差導(dǎo)致集成重點的偏離
適用范圍
有些組件有較大的風(fēng)險,需及早驗證以增強信心
11>基于消息(事件)集成Message-Based/Event-Based
優(yōu)缺點與”基于功能集成”類似,適用面向?qū)ο笙到y(tǒng)
12>基于使用集成Use-Based
優(yōu)缺點與〃自底向上〃類似,適用而向?qū)ο笙到y(tǒng)
13〉基于C/S、B/S的集成
適用C/S、B/S結(jié)構(gòu)的系統(tǒng)
14》分布式集成DistributedServices
適用分布式系統(tǒng)
31
第一階段總結(jié)
系統(tǒng)測試
一功能測試5能二國1
號源方面(資源占用情況)受
性能測試(效率)H
■Q寸間方面(CPU呼應(yīng)時間)國
壓力測試/極限測試(可
容或測試s
熱坦,完整性.
類據(jù)一保密性可
安全性測試(功能)2J權(quán)限型
協(xié)議圜
其他面
簡單界面兀素品
GUI測試(易用)J]4合類界面元素1
完懾界面(窗口)圖
常用測試處可用性測試(易用)圉
安裝測試前要檢杳的1.作加
,尸砧涮.才1安裝測試過程中的【作國
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025天津市建筑安全員A證考試題庫附答案
- 生物-四川省金太陽2025屆高三2月開學(xué)考試試題和答案
- 2025年度房產(chǎn)出售代理售后服務(wù)協(xié)議
- 2025年度化工原料運輸事故應(yīng)急預(yù)案合同
- 2025年度文化藝術(shù)公司公司掛靠文化藝術(shù)交流活動合同
- 2025年度農(nóng)村魚塘養(yǎng)殖權(quán)轉(zhuǎn)讓與漁業(yè)資源可持續(xù)利用合同
- 2025年度圖書出版著作權(quán)許可及翻譯權(quán)合同
- 2025年度電商運營顧問勞動合同
- 2025年度商業(yè)地產(chǎn)開發(fā)車位贈送及使用維護合同
- 2025年度個人自愿捐贈殘疾人福利基金協(xié)議書
- 冀教版五年級數(shù)學(xué)下冊全冊課件【完整版】
- 2024年連云港專業(yè)技術(shù)人員繼續(xù)教育《飲食、運動和健康的關(guān)系》92分(試卷)
- 《短視頻拍攝與制作》課件-2短視頻前期創(chuàng)意
- 八年級上冊物理期末考試試題附答案(人教版)
- 關(guān)注聽力健康知識講座
- 家校合作共育課件
- 2023年全國報關(guān)員考試真題試卷及答案
- 中藥藥茶計劃書
- 《電子技術(shù)基礎(chǔ)(第2版)》 課件全套 第1-12章 緒論、常用半導(dǎo)體器件-數(shù)模和模數(shù)轉(zhuǎn)換電路
- 兒童康復(fù)作業(yè)治療
- 春節(jié)后復(fù)產(chǎn)復(fù)工培訓(xùn)
評論
0/150
提交評論