軟件測試總結(jié)_第1頁
軟件測試總結(jié)_第2頁
軟件測試總結(jié)_第3頁
軟件測試總結(jié)_第4頁
軟件測試總結(jié)_第5頁
已閱讀5頁,還剩88頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論