
摘 要:為了進一步探析軟件測試策略及其測試方法的應(yīng)用,文中首先對軟件的測試采用策略與方法進行了詳細的描述,接著著重探討了軟件測試因果圖方法的應(yīng)用方法,最后給出了這一方法的一個應(yīng)用舉例。
關(guān)鍵詞:軟件測試;策略;測試方法;因果圖
1 軟件測試采用策略與方法分析
黑盒測試:測試情況不計其數(shù),人們除了要對全部合法的輸入進行測試,還要測試其它非法但可能的輸入。要使軟件的質(zhì)量得到切實的保證,必須量化黑盒測試。黑盒測試用例設(shè)計方法主要有以下幾種,即等價類劃分法、邊界值分析法、錯誤推測法、因果圖法、判定表驅(qū)動法、正交試驗設(shè)計法、功能圖法等。
白盒測試:根據(jù)內(nèi)部程序結(jié)構(gòu)的邏輯設(shè)計的測試方法即為白盒測試。通過計算機的測試對各種內(nèi)部操作有無按照設(shè)計規(guī)范要求執(zhí)行進行證實,以及是否檢查了內(nèi)部的所有成分。檢驗所有程序有無按照預(yù)期的狀態(tài)正常運行,盡量將測試覆蓋率提高。其覆蓋標(biāo)準(zhǔn)有以下六種:語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、條件組合覆蓋和路徑覆蓋,測試方法有以下四種:程序控制流分析、數(shù)據(jù)流分析、邏輯覆蓋、路徑分析等。
功能測試:對某個產(chǎn)品是否滿足設(shè)計需求進行確定,需要根據(jù)其特征、操作說明以及使用方案對產(chǎn)品的特性和可操作性進行測試。通常以軟件的界面、結(jié)構(gòu)為出發(fā)點,根據(jù)需求進行測試用例的編寫,在預(yù)期與實際結(jié)果之間對輸入數(shù)據(jù)進行測評,從而針對產(chǎn)品的使用提出更好的建議。
性能測試:保障軟件質(zhì)量的一個關(guān)鍵點就是軟件的性能測試。軟件的性能測試被中國軟件測評中心簡述為應(yīng)用在三個部分的性能測試,即客戶端、網(wǎng)絡(luò)、服務(wù)器端等。LOADRUNNER與QTP為測試的主要工具。
壓力測試:軟件工程中的對系統(tǒng)持續(xù)施加壓力的測試方法即為壓力測試,它是通過對系統(tǒng)的突破口或無法接收的性能點的確定,以測試出系統(tǒng)的最大性能。敏感性測試與情景測試為其主要測試方法。
安全性測試:軟件安全性測試主要是對系統(tǒng)的安全性進行驗證,對實際中系統(tǒng)是否能在其內(nèi)部保護機制下免受外部非法入侵進行驗證。安全測試中嘗試非法入侵系統(tǒng)的角色由測試者擔(dān)任。測試人員需要快速的將軟件的權(quán)限所存在的問題找出,此過程中可采取相應(yīng)的技術(shù)與測試策略。
可用性測試:在指定的應(yīng)用環(huán)境下,特定的用戶對產(chǎn)品的有效使用較為滿意,滿足了其特定的需求。其可用性可用以下幾個關(guān)鍵詞概括:有效性;效率;滿意。其可用性測試方法主要包括A/B、單一、偏好等可用性測試。
安裝測試:保證這個軟件無論是在正常情況還是異常情況下均可進行安裝,包括初次安裝、升級、完整或自定義安裝等。測試安裝代碼與安裝手冊是安裝測試的兩個主要部分。安裝代碼為部分程序的正常運行提供一些基礎(chǔ)數(shù)據(jù)。
異常測試:在運行過程中,系統(tǒng)出現(xiàn)錯誤后,經(jīng)過開發(fā)人員對預(yù)知錯誤或CRL內(nèi)部的處理,系統(tǒng)又恢復(fù)了正常運行的過程,TD是其常用的測試方法。
健壯性測試:當(dāng)系統(tǒng)出現(xiàn)故障時,測試其是否可以自動恢復(fù)正常或故障對其沒有太大影響而繼續(xù)運行。為了使系統(tǒng)具有良好的健壯性,設(shè)計人員設(shè)計系統(tǒng)時一定要考慮到各個方面,特別是對系統(tǒng)異常情況的妥善處理,這樣才能保證系統(tǒng)的健壯性。
2 軟件測試因果圖方法的應(yīng)用分析
2.1 定義
因果圖主要是對已知結(jié)果與其內(nèi)在原因之間關(guān)系進行分析及展開。也就是用圖解的形式將產(chǎn)生某種結(jié)果的各種原因呈現(xiàn)出來,簡而言之就是用圖將結(jié)果與原因之間的關(guān)系表現(xiàn)出來。
2.2 因果圖使用方法的步驟
對需要分析的質(zhì)量問題進行確定。因果圖僅能對某一個目的進行分析,因此需要對每個質(zhì)量問題單獨進行因果分析。
將對質(zhì)量造成影響的主要因素羅列出來,一般包括人、機、料、 法、環(huán),也就是4MIE。
對于需要分析的質(zhì)量問題,進行全面深入的調(diào)查與研究。在這個過程當(dāng)中要適時的采用相應(yīng)的工具,如調(diào)查表、頭腦風(fēng)暴等,主要為了盡量收集到更多的信息,盡量將影響質(zhì)量問題的所有因素找出。
繪制因果圖草圖:圖的第一步在右邊的方框中畫入“質(zhì)量問題”,接著在左邊列出各種原因。因果圖的大分枝上是各種原因進行分類的種類,一個分枝代表一種原因,相應(yīng)的在中分枝上畫上分層圖中的第一層原因,在小分枝上畫上第二層原因。因果圖最少要有二層,一般因果圖有多層。
組織集體對繪制的草圖進行討論,如果討論認為該圖很完善,那么就能進入到下一環(huán)節(jié),否則,就要回到步驟2重新進行。
對正式的因果圖進行繪制。圖形分析:對主要原因進行確定。論證因果圖中全部的末端因素,對其中影響質(zhì)量問題的主要原因進行確定。
因果圖適用于以下幾方面:質(zhì)量問題、管理方法、制訂作業(yè)標(biāo)準(zhǔn)以及質(zhì)量控制的導(dǎo)入及訓(xùn)練。
3 軟件測試因果圖方法具體案例的分析
對國際象棋中走馬的實際情況進行分析(以下凡是沒有注明的都是對馬的說明):(1)若落點不在棋盤上,那么棋子不動;(2)若落點與起點構(gòu)成的圖形不是日字,那么棋子不動;(3)若落點處有本方的棋子,那么棋子不動;(4)若落點方向旁邊交叉點有棋子,那么棋子不動;(5)若不是以上四條情況,同時落點處沒有棋子,那么棋子移動;(6)若不是前四種情況,同時落點處是對方將以外的棋子,那么不僅要移動棋子還要將對方的棋子拿掉;(7)若不是前四種情況,同時落點處是對方的將,那么棋子移動,同時提示我方獲勝,則本局游戲結(jié)束。
根據(jù)分析明確原因和結(jié)果:
原因:落點在棋盤范圍內(nèi);落點與起點形成日字型;落點處的棋子是我方的;落點方向旁邊交叉點沒有棋子;落點處沒有棋子;落點處的棋子是對方將以外的棋子;落點處的棋子是對方的將。
結(jié)果:棋子不動;移動棋子;移動棋子,同時將對方的棋子拿掉;移動棋子,同時提示我方獲勝,本劇游戲結(jié)束。
圖 1 國際象棋走馬軟件測試應(yīng)用舉例
4 結(jié)束語
在軟件測試的系統(tǒng)測試、驗收測試等測試階段中,傳統(tǒng)的黑盒測試基本方法主要應(yīng)用在細節(jié)測試方法中,但它不能給面向宏觀的測試策略的設(shè)計提供有效的指導(dǎo)作用。為了彌補這方面的不足,從測試用例分布、測試角度確定和測試人力資源分布三個方面提出了幾個有效的軟件測試方法策略。
參考文獻
[1]張煥琪.軟件測試策略和測試方法的應(yīng)用[J].電子商務(wù),2011,2:55-56+64.
[2]程萬里,孟桂芳.軟件測試中態(tài)勢分析的應(yīng)用研究[J].蘇州大學(xué)學(xué)報(工科版),2012,1:76-80.
[3]李寧,李戰(zhàn)懷.基于黑盒測試的軟件測試策略研究與實踐[J].計算機應(yīng)用研究,2009,3:923-926.
[4]劉躍光.基于B/S架構(gòu)的軟件測試策略與方法[J].金融電子化,2009,9:65-67.
[5]安金霞,王國慶,李樹芳,等.基于多維度覆蓋率的軟件測試動態(tài)評價方法[J].軟件學(xué)報,2010,9:2135-2147.
[6]湯小春,胡正國.客戶/服務(wù)器模式應(yīng)用軟件測試方法研究[J].西北工業(yè)大學(xué)學(xué)報,2001,3:407-410.
[7]蔡開元,李永超,景濤,等.軟件測試的控制論方法[J].航空學(xué)報,2002,5:448-454.
[8]李東,宮云戰(zhàn).軟件測試方法綜述[J].裝甲兵工程學(xué)院學(xué)報,2003,2:12-16.