黑盒測試的測試用例設計方法_第1頁
黑盒測試的測試用例設計方法_第2頁
黑盒測試的測試用例設計方法_第3頁
黑盒測試的測試用例設計方法_第4頁
黑盒測試的測試用例設計方法_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

TOC\o"1-5"\h\z《黑盒測試的測試用例設計方法》等價類劃分是把所有可能的輸入數(shù)據(jù),即程序的輸入域劃分成若干部分(子集),然后從每一個子集中選取少數(shù)具有代表性的數(shù)據(jù)作為測試用例.該方法是一種重要的,常用的黑盒測試用例設計方法.1)劃分等價類:等價類是指某個輸入域的子集合.在該子集合中,各個輸入數(shù)據(jù)對于揭露程序中的錯誤都是等效的.并合理地假定:測試某等價類的代表值就等于對這一類其它值的測試.因此,可以把全部輸入數(shù)據(jù)合理劃分為若干等價類,在每一個等價類中取一個數(shù)據(jù)作為測試的輸入條件,就可以用少量代表性的測試數(shù)據(jù).取得較好的測試結果.等價類劃分可有兩種不同的情況:有效等價類TOC\o"1-5"\h\z和無效等價類.有效等價類:是指對于程序的規(guī)格說明來說是合理的,有意義的輸入數(shù)據(jù)構成的集合.利用有效等價類可檢驗程序是否實現(xiàn)了規(guī)格說明中所規(guī)定的功能和性能.無效等價類:與有效等價類的定義恰巧相反.設計測試用例時,要同時考慮這兩種等價類.因為,軟件不僅要能接收合理的數(shù)據(jù),也要能經受意外的考驗.這樣的測試才能確保軟件具有更高的可靠性.2)劃分等價類的方法:下面給出六條確定等價類的原則.①在輸入條件規(guī)定了取值范圍或值的個數(shù)的情況下,則可以確立一個有效等價類和兩個無效等價類.②在輸入條件規(guī)定了輸入值的集合或者規(guī)定了“必須如何”的條件的情況下,可確立一個有效等價類和一個無效等價類.③在輸入條件是一個布爾量的情況下,可確定一個有效等價類和一個無效等價類.④在規(guī)定了輸入數(shù)據(jù)的一組值(假定n個),并且程序要對每一個輸入值分別處理的情況下,可確立n個有效等價類和一個無效等價類.⑤在規(guī)定了輸入數(shù)據(jù)必須遵守的規(guī)則的情況下,可確立一個有效等價類(符合規(guī)則)和若干個無效等價類(從不同角度違反規(guī)則).⑥在確知已劃分的等價類中各元素在程序處理中的方式不同的情況下,則應再將該等價類進一步的劃分為更小的等價類.3)設計測試用例:在確立了等價類后,可建立等價類表,列出所有劃分出的等價類:輸入條件有效等價類無效等價類TOC\o"1-5"\h\z然后從劃分出的等價類中按以下三個原則設計測試用例:①為每一個等價類規(guī)定一個唯一的編號.②設計一個新的測試用例,使其盡可能多地覆蓋尚未被覆蓋地有效等價類,重復這一步.直到所有的有效等價類都被覆蓋為止.③設計一個新的測試用例,使其僅覆蓋一個尚未被覆蓋的無效等價類,重復這一步.直到所有的無效等價類都被覆蓋為止.邊界值分析法邊界值分析方法是對等價類劃分方法的補充.(1)邊界值分析方法的考慮:長期的測試工作經驗告訴我們,大量的錯誤是發(fā)生在輸入或輸出范圍的邊界上,而不是發(fā)生在輸入輸出范圍的內部.因此針對各種邊界情況設計測試用例,可以查出更多的錯誤.使用邊界值分析方法設計測試用例,首先應確定邊界情況.通常輸入和輸出等價類的邊界,就是應著重測試的邊界情況.應當選取正好等于,剛剛大于或剛剛小于邊界的值作為測試數(shù)據(jù),而不是選取等價類中的典型值或任意值作為測試數(shù)據(jù).TOC\o"1-5"\h\z(2)基于邊界值分析方法選擇測試用例的原則:1)如果輸入條件規(guī)定了值的范圍,則應取剛達到這個范圍的邊界的值,以及剛剛超越這個范圍邊界的值作為測試輸入數(shù)據(jù).2)如果輸入條件規(guī)定了值的個數(shù),則用最大個數(shù),最小個數(shù),比最小個數(shù)少一,比最大個數(shù)多一的數(shù)作為測試數(shù)據(jù).3)根據(jù)規(guī)格說明的每個輸出條件,使用前面的原則1).4)根據(jù)規(guī)格說明的每個輸出條件,應用前面的原則2)如果程序的規(guī)格說明給出的輸入域或輸出域是有序集合,則應選取集合的第一個元素和最后一個元素作為測試用例.如果程序中使用了一個內部數(shù)據(jù)結構,則應當選擇這個內部數(shù)據(jù)結構的邊界上的值作為測試用例.7)分析規(guī)格說明,找出其它可能的邊界條件錯誤推測法基于經驗和直覺推測程序中所有可能存在的各種錯誤,從而有針對性的設計測試用例的方法.錯誤推測方法的基本思想:列舉出程序中所有可能有的錯誤和容易發(fā)生錯誤的特殊情況,根據(jù)他們選擇測試用例.例如,在單元測試時曾列出的許多在模塊中常見的錯誤.以前產品測試中曾經發(fā)現(xiàn)的錯誤等,這些就是經驗的總結.還有,輸入數(shù)據(jù)和輸出數(shù)據(jù)為0的情況.輸入表格為空格或輸入表格只有一行這些都是容易發(fā)生錯誤的情況.可選擇這些情況下的例子作為測試用例.因果圖方法前面介紹的等價類劃分方法和邊界值分析方法,都是著重考慮輸入條件,但未考慮輸入條件之間的聯(lián)系,相互組合等.考慮輸入條件之間的相互組合,可能會產生一些新的情況.但要檢查輸入條件的組合不是一件容易的事情,即使把所有輸入條件劃分成等價類,他們之間的組合情況也相當多.因此必須考慮采用一種適合于描述對于多種條件的組合,相應產生多個動作的形式來考慮設計測試TOC\o"1-5"\h\z用例.這就需要利用因果圖(邏輯模型).因果圖方法最終生成的就是判定表.它適合于檢查程序輸入條件的各種組合情況.利用因果圖生成測試用例的基本步驟:分析軟件規(guī)格說明描述中,那些是原因(即輸入條件或輸入條件的等價類),那些是結果(即輸出條件),并給每個原因和結果賦予一個標識符.分析軟件規(guī)格說明描述中的語義.找出原因與結果之間,原因與原因之間對應的關系.根據(jù)這些關系,畫出因果圖.由于語法或環(huán)境限制,有些原因與原因之間,原因與結果之間的組合情況不不可能出現(xiàn).為表明這些特殊情況,在因果圖上用一些記號表明約束或限制條件.TOC\o"1-5"\h\z把因果圖轉換為判定表.把判定表的每一列拿出來作為依據(jù),設計測試用例.從因果圖生成的測試用例(局部,組合關系下的)包括了所有輸入數(shù)據(jù)的取TRUEK取FALS曲勺情況,構成的測試用例數(shù)目達到最少,且測試用例數(shù)目隨輸入數(shù)據(jù)數(shù)目的增加而線性地增加.前面因果圖方法中已經用到了判定表.判定表(DecisionTable)是分析和表達多邏輯條件下執(zhí)行不同操作的情況下的工具.在程序設計發(fā)展的初期,判定表就已被當作編寫程序的輔助工具了.由于它可以把復雜的邏輯關系和多種條件組合的情況表達得既具體又明確.判定表通常由四個部分組成.條件樁(ConditionStub):列出了問題得所有條件.通常認為列出得條件的次序無關緊要.動作樁(ActionStub):列出了問題規(guī)定可能采取的操作.這些操作的排列順序沒有約束.條件項(ConditionEntry):列出針對它左列條件的取值.在所有可能情況下的真假值.動作項(ActionEntry):列出在條件項的各種取值情況下應該采取的動作.規(guī)則:任何一個條件組合的特定取值及其相應要執(zhí)行的操作.在判定表中貫穿條件項和動作項的一列就是一條規(guī)則.顯然,判定表中列出多少組條件取值,也就有多少條規(guī)則,既條件項和動作項有多少列.判定表的建立步驟:(根據(jù)軟件規(guī)格說明)①確定規(guī)則的個數(shù).假如有n個條件.每個條件有兩個取值(0,1),故有種規(guī)則.②列出所有的條件樁和動作樁.③填入條件項.④填入動作項.等到初始判定表.⑤簡化.合并相似規(guī)則(相同動作).Beizer指出了適合使用判定表設計測試用例的條件:①規(guī)格說明以判定表形式給出,或很容易轉換成判定表.②條件的排列順序不會也不影響執(zhí)行哪些操作.③規(guī)則的排列順序不會也不影響執(zhí)行哪些操作.④每當某一規(guī)則的條件已經滿足,并確定要執(zhí)行的操作后,不必檢驗別的規(guī)則.⑤如果某一規(guī)則得到滿足要執(zhí)行多個操作,這些操作的執(zhí)行順序無關緊要>>>我想分頁!--這么長的文章,在這里來個分頁多好??!哈哈<<<引用內容《軟件測試的14種類型》軟件測試是指使用人工或者自動的手段來運行或測定某個軟件產品系統(tǒng)的過程,其目的是在于檢驗是否滿足規(guī)定的需求或者弄清預期的結果與實際結果的區(qū)別。本文主要描述軟件測試的類型。1數(shù)據(jù)和數(shù)據(jù)庫完整性測試數(shù)據(jù)與數(shù)據(jù)庫完整測試是指測試關系型數(shù)據(jù)庫完整性原則以及數(shù)據(jù)合理性測試。數(shù)據(jù)庫完整性原即:主碼完整性:主碼不能為空;外碼完整性:外碼必須等于對應的主碼或者為空。數(shù)據(jù)合理性指數(shù)據(jù)在數(shù)據(jù)庫中的類型,長度,索引等是否建的比較合理。在項目名稱中,數(shù)據(jù)庫和數(shù)據(jù)庫進程應作為一個子系統(tǒng)來進行測試。在測試這些子系統(tǒng)時,不應將測試對象的用戶界面用作數(shù)據(jù)的接口。對于數(shù)據(jù)庫管理系統(tǒng)(DBMS)還需要進行深入的研究,以確定可以支1持測試的工具和技術。比如,有兩張表:部門和員工。部門中有部門編號,部門名稱,部門經理等字段,主碼為部門編號;員工表中有員工編號,員工所屬部門編號,員工名稱,員工類型等字段,主碼為員工編號,外碼為員工所屬部門編號,對應部門表。如果在某條部門記錄中部門編號或員工記錄員工編號為空,他就違反主碼完整性原則。如果某個員工所屬部門的編號為##,但是##在部門編號中確找不到,這就違反外碼完整性原則。員工類型如下定義:0:職工,1:職員,2:實習生。但數(shù)據(jù)類型為Int,我們都知道Int占有4個字節(jié),如果定義成char(1).就比原來節(jié)約空間。白盒測試白盒測試是基于代碼的測試,測試人員通過閱讀程序代碼或者通過使用開發(fā)工具中的單步調試來判斷軟件的質量,一般黑盒測試由項目經理在程序員開發(fā)中來實現(xiàn)。白盒測試分為動態(tài)白盒測試和靜態(tài)白盒測試靜態(tài)白盒測試利用眼睛,瀏覽代碼,憑借經驗,找出代碼中的錯誤或者代碼中不符合書寫規(guī)范的地方。比如,代碼規(guī)范中規(guī)定,函數(shù)必須為動賓結構。而黑盒測試發(fā)現(xiàn)一個函數(shù)定義如下:FunctionNameGet(){}這是屬于不符合開發(fā)規(guī)范的錯誤。有這樣一段代碼:if(i<0)&(i>=0)這段代碼交集為整個數(shù)軸,IF語句沒有必要I=0;while(I>100){J=J+100;T=J*PI;}在循環(huán)體內沒有I的增加,bug產生。動態(tài)白盒測試利用開發(fā)工具中的調式工具進行測試。比如一段代碼有4個分支,輸入4組不同的測試數(shù)據(jù)使4組分支都可以走通而且結果必須正確??匆欢未aif(I<0){P1}else{P2}在調試中輸入I=-1,P1程序段通過,P2程序段未通過,屬于動態(tài)黑盒測試的缺陷功能測試功能測試指測試軟件各個功能模塊是否正確,邏輯是否正確。對測試對象的功能測試應側重于所有可直接追蹤到用例或業(yè)務功能和業(yè)務規(guī)則的測試需求。這種測試的目標是核實數(shù)據(jù)的接受、處理和檢索是否正確,以及業(yè)務規(guī)則的實施是否恰當。此類測試基于黑盒技術,該技術通過圖形用戶界面(GUI)與應用程序進行交互,并對交互的輸出或結果進行分析,以此來核實應用程序及其內部進程。功能測試的主要參考為類似于功能說明書之類的文檔。比如一個對電子商務系統(tǒng),前臺用戶瀏覽商品-放入購物車-進入結賬臺,后臺處理訂單,配貨,付款,發(fā)貨,這一系列流程必須正確無誤的走通,不能存在任何的錯誤。UI測試UI測試指測試用戶界面的風格是否滿足客戶要求,文字是否正確,頁面美工是否好看,文字,圖片組合是否完美,背景是否美觀,操作是否友好等等用戶界面(UI)測試用于核實用戶與軟件之間的交互。UI測試的目標是確保用戶界面會通過測試對象的功能來為用戶提供相應的訪問或瀏覽功能。另外,UI測試還可確保UI中的對象按照預期的方式運行,并符合公司或行業(yè)的標準。包括用戶友好性,人性化,易操作性測試。UI測試比較主觀,與測試人員的喜好有關比如:頁面基調顏色刺眼;用戶登入頁面比較難于找到,文字中出現(xiàn)錯別字,頁面圖片范圍太廣等都屬于UI測試中的缺陷,但是這些缺陷都不太嚴重。2軟件測試的14種類型性能測試性能測試主要測試軟件測試的性能,包括負載測試,強度測試,數(shù)據(jù)庫容量測試,基準測試以及基準測試負載測試負載測試是一種性能測試指數(shù)據(jù)在超負荷環(huán)境中運行,程序是否能夠承擔。在這種測試中,將使測試對象承擔不同的工作量,以評測和評估測試對象在不同工作量條件下的性能行為,以及持續(xù)正常運行的能力。負載測試的目標是確定并確保系統(tǒng)在超出最大預期工作量的情況下仍能正常運行。此外,負載測試還要評估性能特征,例如,響應時間、事務處理速率和其他與時間相關的方面。比如,在B/S結構中用戶并發(fā)量測試就是屬于負載測試的用戶,可以使用webload工具,模擬上百人客戶同時訪問網站,看系統(tǒng)響應時間,處理速度如何?強度測試強度測試是一種性能測試,他在系統(tǒng)資源特別低的情況下軟件系統(tǒng)運行情況。這類測試往往可以書寫系統(tǒng)要求的軟硬件水平要求。實施和執(zhí)行此類測試的目的是找出因資源不足或資源爭用而導致的錯誤。如果內存或磁盤空間不足,測試對象就可能會表現(xiàn)出一些在正常條件下并不明顯的缺陷。而其他缺陷則可能由于爭用共享資源(如數(shù)據(jù)庫鎖或網絡帶寬)而造成的。強度測試還可用于確定測試對象能夠處理的最大工作量。比如:一個系統(tǒng)在內存366M下可以正常運行,但是降低到258M下不可以運行,告訴內存不足,這個系統(tǒng)對內存的要求就是366M。數(shù)據(jù)庫容量測試數(shù)據(jù)庫容量測試指通過存儲過程往數(shù)據(jù)庫表中插入一定數(shù)量的數(shù)據(jù),看看相關頁面是否能夠及時顯示數(shù)據(jù)。數(shù)據(jù)庫容量測試使測試對象處理大量的數(shù)據(jù),以確定是否達到了將使軟件發(fā)生故障的極限。容量測試還將確定測試對象在給定時間內能夠持續(xù)處理的最大負載或工作量。例如,如果測試對象正在為生成一份報表而處理一組數(shù)據(jù)庫記錄,那么容量測試就會使用一個大型的測試數(shù)據(jù)庫,檢驗該軟件是否正常運行并生成了正確的報表。做這種測試通常通過書寫存儲過程向數(shù)據(jù)庫某個表中插入一定數(shù)量的記錄,計算相關頁面的調用時間。比如,在電子商務系統(tǒng)中,通過insertcustomer往user表中插入10000數(shù)據(jù),看其是否可以正常顯示顧客信息列表頁面,如果要求達到最多可以處理100000個客戶,但是顧客信息列表頁面不能夠在規(guī)定的時間內顯示出來,就需要調整程序中的SQL查詢語句;如果在規(guī)定的時間內顯示出來,可以將用戶數(shù)分別提高到20000,50000,100000進行測試?;鶞蕼y試基準測試與已知現(xiàn)有的系統(tǒng)進行比較,主要檢驗是否與類似的產品具有競爭性的一種測試。如果你要開發(fā)一套財務系統(tǒng)軟件并且你已經獲得用友財務系統(tǒng)的性能等數(shù)據(jù),你可以測試你這套系統(tǒng),看看哪些地方比用友財務系統(tǒng)好,哪些地方差?以便改進自己的系統(tǒng),也可為產品廣告提供數(shù)據(jù)。競爭測試軟件競爭使用各種資源(數(shù)據(jù)紀錄,內存等),看他與其他相關系統(tǒng)對資源的爭奪能力。比如:一臺機器上即安裝您的財務系統(tǒng),又安裝用友財務系統(tǒng)。當CPU占有率下降后,看看是否能夠強過用友財務系統(tǒng),而是自己的系統(tǒng)能夠正常運行?安全性和訪問控制測試安全性和訪問控制測試側重于安全性的兩個關鍵方面:應用程序級別的安全性,包括對數(shù)據(jù)或業(yè)務功能的訪問系統(tǒng)級別的安全性,包括對系統(tǒng)的登錄或遠程訪問。應用程序級別的安全性可確保:在預期的安全性情況下,主角只能訪問特定的功能或用例,或者只能訪問有限的數(shù)據(jù)。例如,可能會允許所有人輸入數(shù)據(jù),創(chuàng)建新賬戶,但只有管理員才能刪除這些數(shù)據(jù)或賬戶。如果具有數(shù)據(jù)級別的安全性,測試就可確?!坝脩纛愋鸵弧蹦軌蚩吹剿锌蛻粝ⅲòㄘ攧諗?shù)據(jù)),而“用戶二”只能看見同一客戶的統(tǒng)計數(shù)據(jù)。比如B/S系統(tǒng),不通過登入頁面,直接輸入URL看其是否能夠進入系統(tǒng)?系統(tǒng)級別的安全性可確保只有具備系統(tǒng)訪問權限的用戶才能訪問應用程序,而且只能通過相應的網關來訪問。9.9.安裝測試3軟件測試的14種類型比如輸入管理員賬戶,檢查其密碼是否容易猜取,或者可以從數(shù)據(jù)庫中獲得?故障轉移和恢復測試故障轉移和恢復測試指當主機軟硬件發(fā)生災難時候,備份機器是否能夠正常啟動,使系統(tǒng)是否可以正常運行,這對于電信,銀行等領域的軟件是十分重要的。故障轉移和恢復測試可確保測試對象能成功完成故障轉移,并能從導致意外數(shù)據(jù)損失或數(shù)據(jù)完整性破壞的各種硬件、軟件或網絡故障中恢復。故障轉移測試可確保:對于必須持續(xù)運行的系統(tǒng),一旦發(fā)生故障,備用系統(tǒng)就將不失時機地“頂替”發(fā)生故障的系統(tǒng),以避免丟失任何數(shù)據(jù)或事務?;謴蜏y試是一種對抗性的測試過程。在這種測試中,將把應用程序或系統(tǒng)置于極端的條件下(或者是模擬的極端條件下),以產生故障(例如設備輸入/輸出(I/O)故障或無效的數(shù)據(jù)庫指針和關健字)。然后調用恢復進程并監(jiān)測和檢查應用程序和系統(tǒng),核實應用程序或系統(tǒng)和數(shù)據(jù)已得到了正確的恢復。一定要注意主備定時備份比如電信系統(tǒng),突然主機程序發(fā)生死機,備份機器是否能夠啟動,使系統(tǒng)能夠正常運行,從而不影響用戶打電話?配置測試又叫兼容性測試。配置測試核實測試對象在不同的軟件和硬件配置中的運行情況。在大多數(shù)生產環(huán)境中,客戶機工作站、網絡連接和數(shù)據(jù)庫服務器的具體硬件規(guī)格會有所不同??蛻魴C工作站可能會安裝不同的軟件例如,應用程序、驅動程序等而且在任何時候,都可能運行許多不同的軟件組合,從而占用不同的資源。(如瀏覽器版本,操作系統(tǒng)版本等)下面列出主要配置測試瀏覽器兼容性測試軟件在不同產商的瀏覽器下是否能夠正確顯示與運行;比如測試IE,Natscape瀏覽器下是否可以運行這套軟件?操作系統(tǒng)兼容性測試軟件在不同操作系統(tǒng)下是否能夠正確顯示與運行;比如測試WINDOWS98,WINDOWS2000,WINDOWSXP,LINU,UNX可以運行這套軟件?硬件兼容性測試與硬件密切相關的軟件產品與其他硬件產品的兼容性,比如該軟件是少在并口設備中的,測試同時使用其他并口設備,系統(tǒng)是否可以正確使用.比如在INTER,舒龍CPU?片下系統(tǒng)是否能夠正常運行?這樣的測試必須建立測試實驗室,在各種環(huán)境下進行測試。安裝測試有兩個目的。第一個目的是確保該軟件在正常情況和異常情況的不同條件下:例如,進行首次安裝、升級、完整的或自定義的安裝_都能進行安裝。異常情況包括磁盤空間不足、缺少目錄創(chuàng)建權限等。第二個目的是核實軟件在安裝后可立即正常運行。這通常是指運行大量為功能測試制定的測試。安裝測試包括測試安裝代碼以及安裝手冊。安裝手冊提供如何進行安裝,安裝代碼提供安裝一些程序能夠運行的基礎數(shù)據(jù)。多語種測試又稱本地化測試,是指為各個地方開發(fā)產品的測試,如英文版,中文版等等,包括程序是否能夠正常運行,界面是否符合當?shù)亓曀?,快捷鍵是否正常起作用等等,特別測試在A語言環(huán)境下運行B語言軟件(比如在英文win98下試圖運行中文版的程序),出現(xiàn)現(xiàn)象是否正常。本地化測試還要考慮:l當語言從A翻譯到B,字符長度

溫馨提示

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

評論

0/150

提交評論