




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、軟件測試技術測試用例設計(一)本章目標本章目標了解測試用例概述了解測試用例的優(yōu)點了解測試用例的作用了解白盒測試用例常用設計方法測試用例設計(一)測試用例設計(一)掌握測試用例的作用掌握白盒測試用例的設計方法測試用例概述測試用例概述 如何以最少的人力、資源投入,在最短的時間內完成測試,發(fā)現軟件系統的缺陷,保證軟件的優(yōu)良品質,則是軟件公司探索和追求的目標。測試用例是測試工作的指導,是軟件測試的必須遵守的準則,更是軟件測試質量穩(wěn)定的根本保障。對一個測試工程師來說,測試用例的設計編寫是一項必須掌握的能力,但有效的設計和熟練的編寫測試用例卻是一個十分復雜的技術,測試用例編寫者不僅要掌握軟件測試技術和流程
2、,而且要對整個軟件不管從業(yè)務,還是對軟件的設計、程序模塊的結構、功能規(guī)格說明等都要有透徹的理解。測試的設計方法不是單獨存在的,具體到每個測試項目里都有很多種方法,每種類型都有各自的特點。什么是測試用例什么是測試用例測試用例,英文為TestCase,縮寫為TC,指的是在測試執(zhí)行之前設計的一套詳細的測試方案,包括測試環(huán)境、測試步驟、測試數據和預期結果。 測試用例設計的好壞直接決定了測試的效果和結果。所以說在軟件測試活動中最關鍵的步驟就是設計有效的測試用例。 測試用例可以針對黑盒測試設計用例,也可以針對白盒測試設計用例.根據什么編寫測試用例根據什么編寫測試用例根據什么寫測試用例呢?我們編寫測試用例的
3、唯一標準就是用戶需求用戶需求, ,具體的參考資料是需求規(guī)格說明書,但需要說明的是,用戶需求不是一成不變的,而是在一直變化的,這就需要我們根據不斷調整變化的需求,來修改和維護我們已寫好的測試用例,這個工作量也很大。為什么需要測試用例為什么需要測試用例在開始實施測試之前設計好測試用例,避免盲目測試并提高測試效率,減少測試的不完全性;測試用例的使用令軟件測試的實施重點突出、目的明確;根據測試用例的多少和執(zhí)行難度,估算測試工作量,便于測試項目的時間和資源管理與跟蹤;減少回歸測試的復雜程度,在軟件版本更新后只需修正少量的測試用例便可展開測試工作,降低工作強度、縮短項目周期;功能模塊的測試用例的通用化和復
4、用化則會使軟件測試易于開展,并隨著測試用例的不斷細化其效率也不斷攀升;根據測試用例的操作步驟和執(zhí)行結果,為分析軟件缺陷和程序模塊質量提供依據;可以方便地書寫軟件測試缺陷報告;可以根據測試用例的執(zhí)行等級,實施不同級別的測試;總結:軟件測試是有組織性、步驟性和計劃性的,為了能將軟件測試的行為轉換為可管理的、具體量化的模式,需要創(chuàng)建和維護測試用例。好的測試用例的特征好的測試用例的特征可以最大程度地找出軟件隱藏的缺陷可以最高效率的找出軟件缺陷可以最大程度地滿足測試覆蓋要求既不過分復雜、也不能過分簡單使軟件缺陷的表現可以清楚的判定測試用例包含期望的正確的結果待查的輸出結果或文件必須盡量簡單明了不包含重復
5、的測試用例測試用例內容清晰、格式一致、分類組織測試用例的影響因素測試用例的影響因素測試用例設計的主要影響因素:需求目標,是功能性的需求目標也是非功能性的需求目標。功能性測試比較清楚,正確與否一目了然,而非功能性測試,其相對性比較強,需要從不同角度比照。用戶實際使用場景。從用戶的角度來模擬程序的輸入,包括用戶的操作習慣, 使產品更能貼近用戶的需求。軟件功能需求規(guī)格說明書、產品設計文檔。測試方法對測試用例的設計影響非常大。測試對象。客戶端軟件和服務器端系統、分布式系統和集中式系統等。軟件實現所采用的技術。設計測試用例基本原則設計測試用例基本原則設計測試用例的基本原則如下: 利用成熟的測試用例設計方
6、法來指導設計 測試用例的針對性 測試用例的代表性 測試用例的可判定性 測試用例的可重現性 足夠詳細、準確和清晰的步驟 測試用例必須符合內部的規(guī)范的要求測試用例的測試用例的4 4性性測試用例的4性是指代表性、針對性、可判定性、可重現性:代表性代表性:能夠代表并覆蓋各種合理的和不合理、合法的和不合法的、邊界的和越界的以及極限的輸入數據、操作等。針對性針對性:對程序中的可能存在的錯誤有針對性地測試可判定性可判定性:測試執(zhí)行結果的正確性是可判定的,每一個測試用例都應有相應的期望結果可重現性可重現性:對同樣的測試用例,系統的執(zhí)行結果應當是相同的。測試用例設計的指導思想測試用例設計的指導思想軟件測試需求和
7、測試計劃是測試用例的設計基礎按照測試用例框架設計和詳細設計進行分布式的測試根據測試質量目標,測試周期,測試成本,測試者技能,確定合適的測試用例數量和測試內容的詳細程度分析用戶實際使用的場景,被測試軟件的類型特征和測試方法尋求系統設計、功能設計的弱點,設計測試用例以尋求軟件存在的缺陷,而不是簡單的復制軟件設計規(guī)格說明文檔既要設計正面的測試用例,也要設計負面的測試用例測試用例的元素測試用例的元素測試用例是對測試場景和操作的描述,所以必須給出測試目標、測試對象、測試環(huán)境要求、軟件數據和操作步驟,預期結果,概括為5W1H1E。測試目標:Why為什么而測?功能、性能、易用性、可靠性、兼容性、安全性等。測
8、試對象:What測什么?被測試的項目、如對象、菜單、按鈕等。測試環(huán)境:Where在哪里測?測試用例運行時環(huán)境,包括系統配置和設定等要求,也包括操作系統、瀏覽器、網絡環(huán)境等。測試前提:When什么時候開始測?測試用例運行的前提或條件限制。輸入數據:Which哪些數據?在操作時系統所接受的數據。操作步驟:How如何測?執(zhí)行軟件的先后次序步驟。預期結果:判定依據?執(zhí)行用例后的判定依據。測試用例的元素測試用例的元素測試用例通常包括以下幾個組成元素:測試用例編號測試用例名稱測試用例設計者軟件版本號測試目的參考信息測試條件測試環(huán)境輸入數據 操作步驟 預期結果 測試用例的范例測試用例的范例IDID類型類型測
9、試步驟測試步驟輸入數據輸入數據期望的結果期望的結果001登錄輸入用戶、密碼,點擊“登錄”用戶名:user密 碼:987654提示登錄成功002登錄輸入用戶、密碼,點擊“登錄”用戶名:test密 碼:987654提示用戶名錯誤,請重新輸入003登錄輸入用戶、密碼,點擊“登錄”用戶名:user密 碼:123456提示密碼錯誤,請重新輸入004登錄輸入用戶、密碼,點擊“登錄”用戶名:密 碼:123456提示用戶名不能為空,請輸入用戶名005登錄輸入用戶、密碼,點擊“登錄”用戶名:user密 碼:提示密碼不能為空,請輸入密碼006登錄輸入用戶、密碼,點擊“登錄”用戶名:#密 碼:123456提示用戶名
10、錯誤,請重新輸入登錄功能測試用例:用戶名為user,密碼為987654測試用例的分類測試用例的分類測試用例的分類如下: 接口測試用例 路徑測試用例 功能測試用例 容錯能力測試用例 性能測試用例 界面測試用列 安全性測試用例 壓力測試用例 可靠性測試用例 安裝/反安裝測試用例功能測試用例設計步驟功能測試用例設計步驟確定測試可用資源確定測試條件/環(huán)境確定測試條件優(yōu)先級確定測試功能點確定功能點的期望結果設計測試用例的文字執(zhí)行以驗證測試用例修改并完成測試用例閱讀測試參考文檔測試用例入庫功能測試用例設計方法功能測試用例設計方法設計用例模板確定測試輸入數據測試設計規(guī)格說明軟件測試需求軟件需求文檔軟件設計規(guī)
11、格說明測試用例框架設計測試用例詳細設計組織測試用例軟件測試計劃測試用例評審用例白盒測試用例設計方法白盒測試用例設計方法白盒測試用例的設計方法白盒測試用例的設計方法邏輯覆蓋:以程序的內部邏輯結構為基礎,分為語句覆蓋、判定覆蓋、判定-條件覆蓋、條件組合覆蓋等基本路徑測試:在程序控制流程的基礎上,分析控制構造的環(huán)路復雜性,導出基本可執(zhí)行路徑集合,從而設計測試用例。白盒測試用例注意事項白盒測試用例注意事項由于測試路徑可能非常多,由于時間和資源問題,選出足夠多的路徑測試由于深入到程序編碼,通常開發(fā)人員協助測試人員書寫白盒測試用例下面以例子進行分析講解下面以例子進行分析講解 示例代碼如下:void DoW
12、ork(int x,int y,int z) int k=0,j=0; if(x3)&(z5) j=x*y+10; /語句塊2 j=j%3; /語句塊3畫出上面函數的流程圖畫出上面函數的流程圖Yes入口Noabc執(zhí)行語句塊2執(zhí)行語句塊1YesdNoe出口執(zhí)行語句塊3(x3)&(z5)語句覆蓋語句覆蓋為了說明簡略,分別對各個判斷的取真、取假分支編號為b、c、d、e。為了測試語句覆蓋率只要設計一個測試用例就可以把三個執(zhí)行語句塊中的語句覆蓋了。測試用例輸入為: x=4、y=5、z=5程序執(zhí)行的路徑是:abd該測試用例雖然覆蓋了可執(zhí)行語句,但并不能檢查判斷邏輯是否有問題,例如在第一個判
13、斷中把&錯誤的寫成了|,則上面的測試用例仍可以覆蓋所有的執(zhí)行語句??梢哉f語句覆蓋率是最弱的邏輯覆蓋準則。 分支覆蓋分支覆蓋 對于上面的程序,如果設計兩個測試用例則可以滿足條件覆蓋的要求。 測試用例的輸入為: x=4、y=5、z=5 x=2、y=5、z=5 上面的兩個測試用例雖然能夠滿足條件覆蓋的要求,但是也不能對判斷條件進行檢查,例如把第二個條件y5錯誤的寫成y3 取真值為T1,取假值為-T1條件z5 取真值為T4,取假值為-T4則可以設計測試用例如下: 測試用例測試用例 通過路徑通過路徑 條件取值條件取值覆蓋分支覆蓋分支x=4、y=6、z=5 abdT1、T2、T3、T4 bdx=2
14、、y=5、z=5 ace-T1、T2、-T3、-T4 cex=4、y=5、z=15 acdT1、-T2、T3、-T4 cd 上面的測試用例不但覆蓋了所有分支的真假兩個分支,而且覆蓋了判斷中的所有條件的可能值。 條件覆蓋條件覆蓋 但是如果設計了下面的測試用例,則雖然滿足了條件覆蓋,但只覆蓋了第一個條件的取假分支和第二個條件的取真分支,不滿足分支覆蓋的要求。 測試用例測試用例 通過路徑通過路徑 條件取值條件取值覆蓋分支覆蓋分支x=2、y=6、z=5 acd-T1、T2、-T3、T4 cdx=4、y=5、z=5 acdT1、-T2、T3、-T4 cd條件覆蓋條件覆蓋分支條件覆蓋分支條件覆蓋 分支條件
15、覆蓋就是設計足夠的測試用例,使得判斷中每個條件的所有可能取值至少執(zhí)行一次,同時每個判斷的所有可能判斷結果至少執(zhí)行,即要求各個判斷的所有可能的條件取值組合至少執(zhí)行一次。 根據定義只需設計以下兩個測試用例便可以覆蓋8個條件值以及4個判斷分支。 測試用例測試用例 通過路徑通過路徑 條件取值條件取值覆蓋分支覆蓋分支x=4、y=6、z=5 abdT1、T2、T3、T4 bdx=2、y=5、z=11ace-T1、-T2、-T3、-T4 ce分支條件覆蓋從表面來看,它測試了所有條件的取值,但是實際上某些條件掩蓋了另一些條件。例如對于條件表達式(x3)&(z3)為假則一般的編譯器不在判斷是否z5)來說
16、,若x=4測試結果為真,就認為表達式的結果為真,這時不再檢查(y5)條件了。因此,采用分支條件覆蓋,邏輯表達式中的錯誤不一定能夠查出來了。 分支條件覆蓋分支條件覆蓋條件組合覆蓋條件組合覆蓋 條件組合覆蓋就是設計足夠的測試用例,運行被測試對象,使得每一個判斷的所有可能的條件取值組合至少執(zhí)行一次。 現在對例子中的各個判斷的條件取值組合加以標記如下:1.x3,z3,z=10 記做T1 -T2, 第一個判斷的取假分支3.x=3,z0 記做-T1 T2, 第一個判斷的取假分支4.x=10 記做-T1 -T2,第一個判斷的取假分支5.x=4,y5 記做T3 T4, 第二個判斷的取真分支6.x=4,y5 記
17、做-T3 T4, 第二個判斷的取真分支8.x!=4,y 0) if(0= =iType) x=y+2; else if(1= =iType) x=y+10; else x=y+20; ret = x;第一步:畫出控制流圖第一步:畫出控制流圖c/c+語句中的控制語句表示含義如下:圖中的每一個圓稱為流圖的結點,代表一條或多條語句。流圖中的箭頭稱為邊或連接,代表控制流。為了說明流圖的用法,我們采用過程設計表示法,此處,流程圖用來描述程序控制結構??蓪⒘鞒虉D映射到一個相應的流圖(假設流程圖的菱形決定框中不包含復合條件)。在流圖中,每一個圓,稱為流圖的結點,代表一個或多個語句。一個處理方框序列和一個菱形
18、決測框可被映射為一個結點,流圖中的箭頭,稱為邊或連接,代表控制流,類似于流程圖中的箭頭。一條邊必須終止于一個結點,即使該結點并不代表任何語句(例如:參見if-else-then結構的符號)。由邊和結點限定的范圍稱為區(qū)域。計算區(qū)域時應包括圖外部的范圍。任何過程設計都要被翻譯成控制流圖。 畫出其程序流程圖和對應的控制流圖如下:467810111314467148101113程序流程圖 控制流圖 程序設計中遇到復合條件時,生成的流圖變得更為復雜。當條件語句中用到一個或多個布爾運算符(邏輯OR,AND,NAND,NOR)時,就出現了復合條件。 下圖為語句IF a OR b中的每一個a和b創(chuàng)建了一個獨立
19、的結點,包含條件的結點被稱為判定結點,從每一個判定結點發(fā)出兩條或多條邊。例如: if a or b x else y 對應的邏輯為:21b1a23第二步:計算圈復雜度第二步:計算圈復雜度 圈復雜度是一種為程序邏輯復雜性提供定量測度的軟件度量,將該度量用于計算程序的基本的獨立路徑數目,為確保所有語句至少執(zhí)行一次的測試數量的上界。獨立路徑必須包含一條在定義之前不曾用到的邊。 有以下三種方法計算圈復雜度:1.流圖中區(qū)域的數量對應于環(huán)型的復雜性;2.給定流圖G的圈復雜度V(G),定義為V(G)=E-N+2,E是流圖中邊的數量,N是流圖中結點的數量;3.給定流圖G的圈復雜度V(G),定義為V(G)=P+1,P是流圖G中判定結點的數量。 對應上面圖中的圈復雜度,計算如下:流圖中有四個區(qū)域;V(G)=10條邊-8結點+2=4;V(G)=3個判定結點+1=4。4671481011132134第三步:導出測試用例第三步:導出測試用例 根據上面的計算方法,可得出四個獨立的路徑:路徑1:4-14路徑2:4-6-7-14路徑3:4-6-8-10-13-4-14路徑4:4-6-8-11-13-4-14根據上面的獨立路徑,去設計輸入數據,使程
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 贛南衛(wèi)生健康職業(yè)學院《商務智能》2023-2024學年第二學期期末試卷
- 遼寧財貿學院《行政案例研討》2023-2024學年第二學期期末試卷
- 2024-2025學年山東省百校大聯考高三上學期12月月考歷史試卷
- 吉林工業(yè)職業(yè)技術學院《媒介文化》2023-2024學年第二學期期末試卷
- 上??萍即髮W《航海學》2023-2024學年第二學期期末試卷
- 欽州幼兒師范高等??茖W?!毒频攴諣I銷》2023-2024學年第二學期期末試卷
- 黃淮學院《地理學基本問題》2023-2024學年第二學期期末試卷
- 福建衛(wèi)生職業(yè)技術學院《小學文學與媒體教育》2023-2024學年第二學期期末試卷
- 集寧師范學院《跨境電子商務實務》2023-2024學年第二學期期末試卷
- 浙江工業(yè)大學之江學院《管理心理學D1》2023-2024學年第二學期期末試卷
- 北京市豐臺區(qū)2024-2025學年高二上學期期末英語試題
- 電力安全一把手講安全課
- 小學三年級數學口算天天練-A4紙直接打印
- 2025年億達商學院成立儀式及論壇經驗總結(三篇)
- (2025)駕照C1證考試科目一必考題庫及參考答案(包過版)
- 2025年湖南理工職業(yè)技術學院高職單招職業(yè)技能測試近5年??及鎱⒖碱}庫含答案解析
- 罕見病診治與病例管理制度
- 課題申報書:“四新”建設與創(chuàng)新創(chuàng)業(yè)人才培養(yǎng)基本范式研究
- 婦科常見急危重癥護理
- 春季高考高職單招數學模擬試題七套含答案
- 2024-2025學年陜西省寶雞市高三上學期高考模擬檢測(一)英語試題(含解析)
評論
0/150
提交評論