《軟件測試技術(shù)基礎》培訓課件_第1頁
《軟件測試技術(shù)基礎》培訓課件_第2頁
《軟件測試技術(shù)基礎》培訓課件_第3頁
《軟件測試技術(shù)基礎》培訓課件_第4頁
《軟件測試技術(shù)基礎》培訓課件_第5頁
已閱讀5頁,還剩59頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

內(nèi)部資料,嚴禁外協(xié)人員接觸測試部一、二級工程師任職資格培訓課程軟件測試技術(shù)基礎測試研究管理部《軟件測試技術(shù)基礎》課程開發(fā)小組鄭育紅、向昌達、李旭成、穆西宏、陳果林、任偉良、戎兵2003年9月2日《軟件測試技術(shù)基礎》培訓課程目標掌握軟件測試的基礎知識掌握白盒測試概念和方法掌握黑盒測試概念和方法《軟件測試技術(shù)基礎》培訓目錄第一章軟件測試基礎

第二章白盒測試第三章黑盒測試《軟件測試技術(shù)基礎》培訓第一章軟件測試基礎1.1軟件測試的定義1.2軟件測試的目的1.3軟件測試的一般原則1.4軟件測試的方式1.5IPD流程的主要測試活動《軟件測試技術(shù)基礎》培訓1.1軟件測試的定義1、軟件測試是在軟件投入運行前對需求、設計和編碼的結(jié)果進行復查;2、軟件測試是根據(jù)開發(fā)各階段的需求、設計文檔和代碼而精心設計的一批用例,利用這些測試用例去運行程序,以及發(fā)現(xiàn)程序錯誤的過程?!盾浖y試技術(shù)基礎》培訓1.2軟件測試的目的發(fā)現(xiàn)錯誤!例如:發(fā)現(xiàn)需求、設計和實現(xiàn)的錯誤《軟件測試技術(shù)基礎》培訓1.3軟件測試的一般原則

1、盡早地、不斷地進行軟件測試;2、明確測試輸入預置條件和與之對應的預期輸出結(jié)果;3、避免測試自己編寫的程序;4、在測試設計時應充分考慮異常的輸入情況;5、充分考慮程序測試中的群集現(xiàn)象,80%的錯誤集中在20%的程序模塊;6、排除測試的隨意性;7、對測試結(jié)果做全面檢查;8、妥善保存測試計劃,測試用例,出錯統(tǒng)計和最終分析結(jié)果;9、所有的測試應該追溯到用戶需求;10、測試應該從"小規(guī)模"開始,逐步轉(zhuǎn)向"大規(guī)模"即漸增式build測試?!盾浖y試技術(shù)基礎》培訓1.4軟件測試的方式

如:針對需求分析、概要設計、詳細設計以及編碼各階段所得到的文檔的評審,以及對代碼的走讀和檢視等;2、動態(tài)測試;執(zhí)行程序而開展的一項列活動1、靜態(tài)測試:無需執(zhí)行程序而開展的一項活動如:針對源代碼進行的單元測試、集成測試和系統(tǒng)測試等;《軟件測試技術(shù)基礎》培訓1.5IPD流程的主要測試活動TR1TR2TR3TR4TR4aTR5TR6測試需求分析階段測試方案設計階段測試用例設計階段SDV執(zhí)行階段SIT執(zhí)行階段SVT執(zhí)行階段產(chǎn)品分析產(chǎn)品測試需求分析分解分配制定產(chǎn)品總體測試策略(含自動化)特性測試規(guī)格分析重分配特性測試設計SDV方案設計SIT方案設計測試策略監(jiān)控測試用例設計腳本/代碼/數(shù)據(jù)準備環(huán)境準備SDV測試執(zhí)行……SDV測試執(zhí)行SDV測試報告SVT測試方案寫作SIT測試執(zhí)行SIT測試報告SVT測試用例SVT測試執(zhí)行Beta測試執(zhí)行Beta測試方案設計Beta技術(shù)方案設計Beta測試管理協(xié)調(diào)Beta測試用例準備《軟件測試技術(shù)基礎》培訓目錄第一章軟件測試基礎第二章白盒測試第三章黑盒測試《軟件測試技術(shù)基礎》培訓第二章白盒測試2.1白盒測試的定義2.2程序結(jié)構(gòu)分析2.3邏輯覆蓋2.4其他白盒測試方法簡單介紹2.5白盒測試的實際應用《軟件測試技術(shù)基礎》培訓2.1白盒測試的定義

白盒測試是根據(jù)被測程序的內(nèi)部結(jié)構(gòu)設計測試用例的一種測試方法.

輸入輸出if(…)…else…被測對象《軟件測試技術(shù)基礎》培訓2.2程序結(jié)構(gòu)分析

程序的結(jié)構(gòu)形式是白盒測試的主要依據(jù)。程序結(jié)構(gòu)分析包括:

(1)控制流分析(2)數(shù)據(jù)流分析(3)信息流分析《軟件測試技術(shù)基礎》培訓2.2.1控制流分析

通過控制流圖矩陣來表示程序的控制流程圖。分析程序的控制流是為了使編寫出的程序有好的結(jié)構(gòu)。對于程序結(jié)構(gòu)提出以下4點基本要求,這些要求是寫出的程序不應包含:①轉(zhuǎn)向并不存在的標號;②沒有用的語句標號;③從程序入口進入后無法達到的語句;不能達到停機語句的語句。目前主要是通過編譯器和程序分析工具來實現(xiàn)程序控制流分析?!盾浖y試技術(shù)基礎》培訓2.2.2數(shù)據(jù)流分析數(shù)據(jù)流分析是分析程序中未定義變量的使用和未曾使用的變量定義。目前通過編譯器或程序分析工具通過數(shù)據(jù)流分析利用數(shù)據(jù)流分析的結(jié)果可以進行代碼編譯優(yōu)化。《軟件測試技術(shù)基礎》培訓2.2.3信息流分析目前信息流分析主要用在驗證程序變量間信息的傳輸遵循保密要求。信息流分析主要分析輸出值跟輸入值之間的影響關系。程序的信息流關系,為軟件開發(fā)和確認提供了十分有益的工具《軟件測試技術(shù)基礎》培訓2.3邏輯覆蓋2.3.1語句覆蓋2.3.2判定覆蓋2.3.3條件覆蓋2.3.4判定-條件覆蓋2.3.5路徑覆蓋《軟件測試技術(shù)基礎》培訓2.3邏輯覆蓋(續(xù))被測試的程序:IF((A>1)AND(B=0))THENX=X/AIF((A=2)OR(X>1))THENX=X+1

該程序共有4條語句,其中2條條件判斷語句,2條賦值語句?!盾浖y試技術(shù)基礎》培訓2.3.1語句覆蓋

何為語句覆蓋?

——設計若干個測試用例,然后運行被測程序,使程序中的每個可執(zhí)行語句至少執(zhí)行一次。該程序段的語句覆蓋測試用例為那些?測試用例編號ABX1???2???3???《軟件測試技術(shù)基礎》培訓2.3.2判定覆蓋

何為判定覆蓋?

——設計若干測試用例,運行被測程序,使得程序中每個判斷的取真分支和取假分支至少經(jīng)歷一次,即判斷的真假值均曾被滿足。又稱分支覆蓋。該程序段的判定覆蓋測試用例為那些?測試用例編號ABX1???2???3???《軟件測試技術(shù)基礎》培訓2.3.3條件覆蓋

何為條件覆蓋?

——設計若干測試用例,執(zhí)行被測程序以后,要使每個判斷中每個條件的可能取值至少滿足一次。該程序段的條件覆蓋測試用例為那些?測試用例編號ABX1???2???3???《軟件測試技術(shù)基礎》培訓2.3.4判定-條件覆蓋

何為判定-條件覆蓋?

——設計足夠的測試用例,使得判斷中每個條件的所有可能至少出現(xiàn)一次,并且每個判斷本身的判定結(jié)果也至少出現(xiàn)一次。該程序段的判定-條件覆蓋測試用例為那些?測試用例編號ABX1???2???3???《軟件測試技術(shù)基礎》培訓2.3.5路徑覆蓋

何為路徑覆蓋?

——設計足夠多測試用例,要求覆蓋程序中所有可能的路徑。該程序段的路徑覆蓋測試用例為那些?測試用例編號ABX1???2???3???《軟件測試技術(shù)基礎》培訓2.4其他白盒測試方法簡介

程序插裝(2)域測試(3)符號測試(4)Z路徑覆蓋(5)程序變異《軟件測試技術(shù)基礎》培訓2.4.1程序插裝往被測程序中插入操作來實現(xiàn)測試。程序插裝技術(shù)能夠按用戶的要求,獲取程序的各種執(zhí)行過程中的信息,成為測試工作的有效手段。在程序中的特定部位插入某些用以判斷變量特性的語句,使得程序執(zhí)行中這些語句得以證實,從而使程序的運行特性得到證實。我們把插入的這些語句稱為斷言。使用斷言就是程序插裝的一種有效方法《軟件測試技術(shù)基礎》培訓2.4.2域測試域測試的“域”是指程序的輸入空間。輸入空間又可分為不同的子空間,每一子空間對應一種不同的計算。子空間的劃分是由程序中分支語句中的謂詞決定的。域測試正是在分析輸入域的基礎上,選擇適當?shù)臏y試點以后進行測試的。域測試有兩個致命的弱點,一是為進行域測試對程序提出的限制過多,二是當程序存在很多路徑時,所需的測試點也就很多?!盾浖y試技術(shù)基礎》培訓2.4.3符號測試符號測試的基本思想是允許程序的輸入不僅僅是具體的數(shù)值數(shù)據(jù),而且包括符號值,這一方法也是因此而得名。普通測試執(zhí)行的是算術(shù)運算,符號測試則是執(zhí)行代數(shù)運算。因此符號測試可以認為是普通測試的一個自然的擴充?!盾浖y試技術(shù)基礎》培訓2.4.4

Z路徑覆蓋完成路徑測試的理想情況是做到路徑覆蓋,但路徑太多。因此對循環(huán)機制進行簡化,從而極大地減少路徑的數(shù)量,使得覆蓋這些有限的路徑成為可能。我們稱簡化循環(huán)意義下的路徑覆蓋為Z路徑覆蓋。對于程序中的所有路徑可以用路徑樹來表示設法遍歷了所有的葉結(jié)點,那就得到了所有的路徑,生成每個路徑的測試用例,就可以做到Z路徑覆蓋測試?!盾浖y試技術(shù)基礎》培訓2.4.5程序變異程序變異方法與前面提到的結(jié)構(gòu)測試和功能測試都不一樣,它是一種錯誤驅(qū)動測試。錯誤驅(qū)動測試方法,是指該方法是針對某類特定程序錯誤的。錯誤驅(qū)動測試主要有兩種,即程序強變異和程序弱變異?!盾浖y試技術(shù)基礎》培訓2.5白盒測試的實際應用應用于單元測試要求最少達到語句覆蓋對于比較核心的模塊做到判定-條件覆蓋利用覆蓋準則來設計用例程序插裝使用最多《軟件測試技術(shù)基礎》培訓目錄第一章軟件測試基礎第二章白盒測試第三章黑盒測試

《軟件測試技術(shù)基礎》培訓第三章黑盒測試3.1黑盒測試定義3.2常見的黑盒測試方法3.3等價類方法演練3.4其他黑盒測試方法3.5黑盒測試方法的實際應用《軟件測試技術(shù)基礎》培訓3.1黑盒測試定義黑盒測試又稱為功能測試、數(shù)據(jù)驅(qū)動測試或基于規(guī)格說明的測試黑盒測試相對于白盒測試而言,并不關心被測對象的內(nèi)部實現(xiàn),而是針對被測對象提供的外部功能與規(guī)格出發(fā)來設計測試用例進行測試被測對象輸入輸出《軟件測試技術(shù)基礎》培訓3.2常見的黑盒測試方法3.2.1等價類劃分3.2.2邊界值分析3.2.3錯誤推測3.2.4因果圖3.2.5判定表3.2.6正交分析3.2.7功能圖《軟件測試技術(shù)基礎》培訓3.2.1等價類劃分定義:

特點:

將全部輸入數(shù)據(jù)合理劃分為若干等價類,在每一個等價類中選取一個數(shù)據(jù)作為測試的輸入條件,這樣所取得的測試效果與選擇等價類內(nèi)所有數(shù)據(jù)作為測試的輸入所取的測試效果是一樣的典型、常用測試效率得到提高《軟件測試技術(shù)基礎》培訓3.2.1等價類劃分(續(xù))等價類劃分方法應用介紹第一步:劃分等價類第二步:邊界值分析(可選步驟)第三步:多個輸入間關系分析(可選步驟)第四步:生成測試用例《軟件測試技術(shù)基礎》培訓3.2.1等價類劃分(續(xù))-應用介紹劃分等價類有效等價類與無效等價類等價類劃分原則等價類劃分表確定測試用例《軟件測試技術(shù)基礎》培訓3.2.1等價類劃分(續(xù))-實例(三角形判斷)《軟件測試技術(shù)基礎》培訓3.2.1等價類劃分(續(xù))-實例(用戶ID與密碼)

某網(wǎng)管用戶登錄界面要求輸入用戶ID和密碼才能登錄,對該用戶登錄功能進行測試。用戶ID、密碼要求不能為空。用戶ID為4位數(shù)字,不能以“0”開頭;用戶密碼為6位數(shù)字,不能以“0”開頭。演練要求:劃分等價類生成測試用例《軟件測試技術(shù)基礎》培訓3.2.2邊界值分析定義:

特點:

經(jīng)驗告訴我們,大量的錯誤是發(fā)生在輸入或輸出范圍的邊界上,邊界值分析就是在劃分的等價類區(qū)域的邊界及其附近進行測試數(shù)據(jù)的選取典型、常用測試方法經(jīng)常會和等價類劃分方法配合使用《軟件測試技術(shù)基礎》培訓3.2.2邊界值分析(續(xù))邊界值分析方法應用介紹第一步:確定輸入的范圍第二步:確定范圍的邊界值第三步:多個輸入關系分析(可選步驟)第四步:生成測試用例《軟件測試技術(shù)基礎》培訓3.2.2邊界值分析(續(xù))輸入滿足以下條件時可以運用邊界值分析方法進行分析:輸入條件規(guī)定了一個值的范圍輸入條件規(guī)定了值的個數(shù)輸入條件規(guī)定了值的先后順序邊界的定義:上點:域邊界上的點離點:離上點最近的點內(nèi)點:域內(nèi)的任意點《軟件測試技術(shù)基礎》培訓3.2.2邊界值分析(續(xù))-應用實例《軟件測試技術(shù)基礎》培訓3.2.3錯誤推測法定義:

錯誤推測法是基于經(jīng)驗和直覺推測程序中所有可能存在的各種錯誤,從而有針對性的進行測試的方法。特點:分析過程簡單、可操作性強測試用例的設計更加具有針對性、有效性《軟件測試技術(shù)基礎》培訓3.2.3錯誤推測法(續(xù))錯誤推測法應用介紹第一步:確定被測對象范圍第二步:在測試經(jīng)驗庫中查找相關內(nèi)容第三步:根據(jù)測試經(jīng)驗庫中查找出的相關內(nèi)容設計測試用例《軟件測試技術(shù)基礎》培訓3.2.3錯誤推測法(續(xù))-應用實例例如在進行某產(chǎn)品某版本測試用例設計時首先對該產(chǎn)品或其他同類型產(chǎn)品的網(wǎng)上問題情況進行分析,得到一個網(wǎng)上問題分析報告。分析報告中有對于網(wǎng)上問題出現(xiàn)的位置、幾率、嚴重程度、原因進行的分析,那么在進行該版本測試用例設計時就可根據(jù)該報告中分析的結(jié)論有針對性的設計相應的測試用例?!盾浖y試技術(shù)基礎》培訓3.2.4因果圖分析方法定義:

特點:

考慮了多個輸入之間的組合情況等價類劃分和邊界值分析著重考慮了對于一個輸入條件的分析,但是他們都沒有考慮到如果存在多個輸入條件時的他們之間的組合與聯(lián)系。因果圖方法運用圖的方法對多個輸入之間的組合以及輸入、輸出之間的因果關系進行了分析?!盾浖y試技術(shù)基礎》培訓3.2.4因果圖分析方法(續(xù))因果圖方法應用介紹第一步:確定被測對象的輸入與輸出第二步:通過語義分析給出輸入與輸出之間的因果關系第三步:根據(jù)因果關系分析畫出因果圖第四步:將因果圖轉(zhuǎn)換為判定表第五步:根據(jù)判定表設計測試用例《軟件測試技術(shù)基礎》培訓3.2.4因果圖分析方法(續(xù))因果圖分析相關邏輯符號:《軟件測試技術(shù)基礎》培訓3.2.4因果圖分析方法(續(xù))因果圖分析相關約束符號:《軟件測試技術(shù)基礎》培訓3.2.4因果圖分析方法(續(xù))-應用實例《軟件測試技術(shù)基礎》培訓3.2.5判定表方法定義:

采用表格的形式,列出所有條件和所有結(jié)果的組合,做到無遺漏的覆蓋。特點:1、判定表適合于條件項各自獨立,互不影響的情況。

2、判定表使用的技巧在于,把條件項劃分清晰,對條件進行合理得組合,使得到得規(guī)則數(shù)最小?!盾浖y試技術(shù)基礎》培訓3.2.5判定表方法(續(xù))判定表分析步驟。第一步:確定規(guī)則個數(shù)。假如有n個條件,每個條件有兩個取值,就有2的n次方個規(guī)則第二步:列出所有的條件樁和動作樁第三步:填入條件項第四步:填入動作項。得到初始判定表第五步:簡化。合并相似規(guī)則和動作《軟件測試技術(shù)基礎》培訓3.2.5判定表方法(續(xù))條件樁(ConditionStub):列出了問題得所有條件,通常認為列出得條件的次序無關緊要。動作樁(ActionStub):列出了問題規(guī)定可能采取的操作,這些操作的排列順序沒有約束。條件項(ConditionEntry):列出針對它左列條件的取值,在所有可能情況下的真假值。動作項(ActionEntry):列出在條件項的各種取值情況下應該采取的動作。規(guī)則:任何一個條件組合的特定取值及其相應要執(zhí)行的操作。在判定表中貫穿條件項和動作項的一列就是一條規(guī)則。顯然,判定表中列出多少組條件取值,也就有多少條規(guī)則,即條件項和動作項有多少列。

《軟件測試技術(shù)基礎》培訓3.2.6正交試驗設計方法定義:

正交試驗設計法,是從大量的試驗點中選取適量的有代表性的點,應用依據(jù)伽羅華理論推導出的正交表,合理地安排實驗的一種科學的實驗設計方法。利用這種方法,可使所有的因子和水平在試驗中均勻地分配與搭配,均勻地有規(guī)律地變化。特點:采用正交實驗設計方法進行測試用例的設計能夠有效地、合理地減少測試的工時與費用。兼顧測試成本與測試充分性的均衡,提高測試效率。《軟件測試技術(shù)基礎》培訓3.2.6正交試驗設計方法(續(xù))正

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論