摘要:軟件測試能夠在很大程度上保證軟件的質量,而測試用例是軟件測試過程中的關鍵環(huán)節(jié),基于此本文對黑盒測試用例的設計原則進行分析,根據實踐經驗總結了黑盒測試用例的幾種設計方法。
關鍵詞:黑盒測試;測試用例;因果圖
引言:在軟件開發(fā)和使用周期當中,軟件測試是保證其質量的關鍵手段。目前國家、企業(yè)和用戶對軟件質量的要求越來越高,軟件測試的方法也受到了越來越多的重視,黑盒測試是一種有效的測試手段,能夠提高測試效率保證測試效果。
1.黑盒測試用例的設計原則
1.1真實性
真實性是黑盒測試用例最關鍵的原則,也是最基礎的原則,測試者是在測試用例的基礎上對軟件質量進行測試的。如果軟件測試用例出現錯誤,那么就會導致整個軟件測試出現錯誤,影響最終結果的準確性,進而對之后軟件開發(fā)造成負面影響。
1.2可讀性
軟件測試的目的并不只是為了讓測試者理解,更重要的是要讓其他人了解,讓軟件開發(fā)者了解,因此就要保證在軟件測試結果當中要具有一定的可讀性,不會出現表述不清的問題,給軟件測試的接受者造成閱讀困難。
1.4可執(zhí)行性
可執(zhí)行性是指用戶在進行測試時,能夠按照測試用例的步驟描述進行測試,因此在測試用例時應當將所有的測試步驟和方法描述清楚,在描述過程時要保證思路清晰,語言明確。不管是軟件開發(fā)者還是軟件用戶,都能夠對軟件檢測過程產生清晰認知,在進行拆分設計時也應當保證結構和思路的合理性。
1.5一致性
一致性要求測試者在測試過程中減少主觀因素的影響,增加操作時的穩(wěn)定性和確定性,避免因為測試者個人因素的變化導致最終測試結果發(fā)生改變。因此,測試用例在測試過程中,應當保證操作過程與最終的結果是一致的。
2.黑盒測試用例的設計方法
2.1等價類劃分
在黑盒測試方法當中,等價類劃分法是一種非常典型的黑盒測試方法,這種測試方法的優(yōu)點就在于測試用例時不必考慮軟件的結構,只需要根據規(guī)格書的需求進行。這種方法就相當于將程序當中的輸入域劃分成幾個不同的部分,在這些部分里面選擇比較具有代表性的幾個數據作為主要的測試用例。這之中的每一類代表性數據都應當承擔著等價的作用,也就是說應當與同一類當中其他值的作用完全等價。假設,在某一類的代表性數據當中發(fā)現了錯誤,那么在同一類里面的其他數據也一定會查出同樣的錯誤;反之如果在典型數據中沒有查出錯誤,那么在其他數據當中也不會查出錯誤。在利用等價類劃分方法測試用例時,需要根據規(guī)格的具體說明來對數據進行劃分,在劃分等價類之后列出相應的等價類表。為了能夠保證軟件測試的效果,要對這些數據進行更加徹底地測試??紤]到測試過程需要用到打開量的信息,這對信息技術人員要求很高,且存在較大的工作量,很容易造成工作失誤,這種軟件測試可能無法提高軟件質量。因此利用等價類劃分的方法測試用例,可以幫助程序員減少工作量,用相對較少的具有代表性的數據對軟件質量進行測試來取得最佳的效果,能夠在很大程度上減少程序員的出錯率。等價類劃分方法同樣也分為有效和無效等價類兩種情況,有效等價類指的是合理、科學地選擇數據集合,將有意義的數據集合在一起,符合程序設置規(guī)格。而無效等價類,相當于是利用了一些并不合理的也沒有意義的數據集合進行測試,因此也不符合程序的設置規(guī)格,導致最后沒有產生任何測試效果[1]。因此,在利用等價類劃分方法測試用例時應當充分考慮這兩種情況,軟件的基礎功能就是要能夠接受合理的、科學的數據,同時也要能夠經受得住意外的考驗。例如,有一張3.5寸的軟盤,標準內存是1.44MB而實際內存是1.38MB,因此在利用等價類劃分方法進行測試時,可以設置三個等價類,其輸入域分別為:<0,但這種情況幾乎不予考慮;0≤容量≤1.38以及1.38≤容量三個不同的等價類。在這之中只有0≤容量≤1.38是有效類,其他兩類均為無效類。
2.2邊界值分析
邊界值分析方法是一種能夠補充等價劃分方法的一種測試技術,與等價類不同的是,它不通過選擇等價類當中的任意元素進行測試,而是選擇被等價類排除的邊界成分作為測試用例。通過大量的測試實踐表明,利用邊界值分析法測試用例,能夠查出更多等價劃分法無法測試的錯誤,獲得更好的測試效果。因為在軟件當中有很多數據錯誤發(fā)生在集合范圍之外,這些數據處于輸入域或者是輸出域的邊界。所謂邊界值分析法就是設計測試的用例在輸入或是輸出的邊界提取數據,例如輸入和輸出域邊界的最大值或者是最小值,兩個區(qū)域第一個數據或者是最后一個數據,還包括剛剛超過邊界范圍的值,這種測試方法是對前者等價類劃分法的一種補充。很多軟件開發(fā)者容易在信息域的邊界信息上出錯,比如說常會把小于等于0直接寫作小于0,因此在集合邊界部分的數據也應當被嚴格檢查,這些地方會經常出現數據錯誤。同時,針對邊界附近的數據進行檢測能夠測試出更多錯誤也能夠大大提高測試效率。等價類劃分方法是主要針對數據域內部的某一個數據或者是一個比較具有代表作用的典型值作為主要的測試數據,而邊界值分析法不僅要考慮輸入的數據還要對輸出數據的情況進行考慮,并將這些數據劃分為有效等價類和無效等價類,在這些等價類的邊界區(qū)域選取至少三個代表性數據作為測試數據,這三個數據應當是正好處于邊界值上,稍大于邊界值或者是稍小于邊界值。如果希望得出的結果更加準確,則可以向外多擴展一個數據進入測試當中。
2.3因果圖分析
在軟件實際投入運用時,問題的結果經常會受多種復雜條件的取值影響,例如高校借書軟件的處理結果,會受借閱者的身份、借閱證有效日期、借閱圖書數量、借閱圖書是否有空余、所借閱的書籍類型等多個因素相關[2]。又比如游客使用軟件訂購旅行社的套餐時所享受的折扣與游客的身份(學生、兒童等)、游客的軟件使用等級、游客預定的線路以及所選擇的出行日期等因素有關,因此在處理結果時應當考慮多種復雜因素的影響。因果圖分析就是根據程序規(guī)格中說明的要求做相關描述,將輸入條件作為“原因”,程序狀態(tài)發(fā)生的變化或是輸出作為“結果”,根據相關程序的歸納、說明和定義繪制因果網絡圖,之后將網絡圖轉換為判定表,并在判定表當中的每一列設計一個測試用例,這種判定表又被稱為是決策表,主要作用是輔助測試或者是在設計階段對算法進行描述。這種方法的優(yōu)點就在于能將結果相關的多個不同因素以及可能因素進行列舉,相對于其他方法來說操作比較簡單,同時也可以盡量避免出現遺漏。在設計階段描述程序進行算法處理時,常常會將判定表根據區(qū)域劃分成四個部分:左上角與問題相關的所有條件、右上角相關條件當中取值組成的矩陣、左下角可能會出現的行動、右下角各種不同的取值在組合下可能會采取的行動。如果是測試階段用的判定表應當比設計階段的判定表多一行“測試用例”的標注,在對每一列條例取值時組合設計一個典型值進入測試中去。
2.4試錯法
試錯法基本上是根據測試員的經驗和直覺,由測試員列舉出在程序當中可能會出現的錯誤,以及容易產生錯誤的位置,并對這些位置進行有針對性測試,也就是對程序當中可能會出現的錯誤進行試錯。例如成績錄入模板的測試用例,在成績錄入過程中,需要處理的數據量十分龐大,不僅是要對部分課程成績進行錄入還需要平時成績與期末成績相加,最后輸入最終成績。如果對每個數據進行檢查,檢查的工作量十分龐大,還會容易出現錯誤,所以根據實踐經驗,在成績錄入時,可能會在等級邊緣部分出錯。因為成績輸入過程中會受有效數據范圍的限制,所以基本不會出太大的錯誤,而總評的等級是由其他各個部門的成績相加換算得來的,并沒有確定的結果。因此可以在測試時將等級邊緣部分的成績作為測試用例,設置的平時成績、實踐成績、期中考核、期末成績以百分制的形式錄入,在總評成績處則顯示為等級制。前四部分成績按照相關規(guī)定進行合理分布,如果測試結果中表明了成績輸入是正常的,但是總評的結果卻在等級邊界部分且總評依舊顯示百分制結果,并非等級制,則可以判斷程序當中出現了一些錯誤。
2.5正交試驗設計
正交試驗設計需要大量的試驗點,并能夠從這些試驗點當中挑選出真正有用的、有代表性的點。正交試驗設計需要科學安排試驗內容,將所有因素和水平在試驗當中均勻分配并進行合理搭配,保證試驗變化存在一定規(guī)律。正交試驗設計法測試用例,首先要利用軟件相關說明找出可能會影響工作和操作的因素和對象,其次利用正交表格對發(fā)現的各個因子的狀態(tài)進行組合,創(chuàng)建一個有效的測試輸入數據表格,根據數據的分布建立因果圖,再圍繞因果圖的各個節(jié)點延伸出正交表,在這種測試方式中得出的數據表,測試用例的數量能夠大大降低[3]。
總結:黑盒測試方法是一種效果十分顯著的軟件測試方法,目前已經出現了很多黑盒測試用例的設計方法,這幾種方法各有優(yōu)劣。因此在軟件測試的過程中不能只使用同一種方法進行測試,應當結合多種方法的優(yōu)點才能夠真正發(fā)揮軟件測試的效果。
參考文獻:
[1]妥澤花.基于黑盒測試與白盒測試的比較探究[J].電子世界,2021,(11):55-56.
[2]張喻平.黑盒測試中測試用例優(yōu)先級改進算法分析[J].電腦知識與技術,2020,16(02):91-92+98.
[3]樊茜,何雨昂,黃葵.伺服軟件的復雜時序測試用例設計方法[J].電子技術與軟件工程,2019,(24):48-49.
基金項目:
合肥市現代職業(yè)教育集團橫向課題:職業(yè)教育信息化軟件開發(fā)人才供給及產教融合研究與實踐;
安徽省省級質量工程項目:人工智能技術應用特色高水平專業(yè)(2021tszy010);
安徽工商職業(yè)學院校級一般教研項目:“1+X”證書制度下人工智能技術應用專業(yè)課程群建設研究(2021xjjy20);
作者簡介:
尹金(1986.04),女,漢族,安徽省人,碩士研究生,講師,主要研究方向為機器學習、人工智能技術應用,工作單位:安徽工商職業(yè)學院信息工程學院。