您的位置:軟件測試 >> 測試技術(shù) >> 測試精品文章
了解測試用例設(shè)計的要領(lǐng)
作者:Narayana Maruvada(澤眾軟件原創(chuàng)翻譯) 發(fā)布時間:[ 2014/3/21 16:25:16 ] 推薦標簽:測試用例 用例設(shè)計 軟件測試

Narayana Maruvada是一名計算機科學與工程專業(yè)的研究生,目前擔任系統(tǒng)分析員—ValueLabs質(zhì)量保證。 

Narayana擁有超過7年開發(fā)和測試基于Web的應用程序的工作經(jīng)驗。 

他的主要工作和專長的領(lǐng)域是測試建立在用于不同域的開源技術(shù)上的應用程序及產(chǎn)品。 

他是對評估該系統(tǒng)的功能和非功能屬性,研究和實施新的測試工具、技術(shù)與方法有著濃厚的興趣。他為了改進測試過程,努力擴展佳做法和質(zhì)量標準。

  顯然,無論缺陷預防工作貫徹落實地多好,軟件組件總有缺陷。這很明顯,因為開發(fā)商無法阻止/消除軟件開發(fā)周期的所有缺陷。因此,軟件必須進行徹底的測試,然后才交付給終用戶。測試人員的責任是:設(shè)計既可以(?)找軟件缺陷,又能(ii )評估該軟件的性能,可用性和可靠性等方面的測試。
  現(xiàn)在,為了實現(xiàn)這些目標,測試人員必須(往往是從一個非常大的執(zhí)行域中)選擇和/或制定測試用例的有限數(shù)量。不幸的是,完整的測試通常不是在這個范圍,預算和時間的約束內(nèi)實現(xiàn)和/或執(zhí)行的。重要的是,當測試開始失控且不按計劃地運行時,由于預期無法實際,測試人員往往承受了來自管理層和利益相關(guān)者的巨大壓力。
  因此,測試人員必須有效地計劃測試并制定正確的測試用例,選擇并執(zhí)行合適的用例,監(jiān)控過程,以確保有效利用工作資源和時間。所以,要列出這些無疑是一項艱巨的任務;要有效地實施,測試人員需要受過適當?shù)慕逃团嘤柌碛汹A得管理層支持的能力。
  一般情況下,測試人員會用兩種不同的測試方法,其中,使用常規(guī)方法,測試人員主要是嘗試用所有可能的輸入去測試一個模塊或組件,用所有可能的軟件結(jié)構(gòu)去實踐。盡管這種做法仍在使用,測試人員卻在慢慢灌輸推理軟件的一切的價值,終使他們能夠檢測出所有可能存在的缺陷。但見多識廣且有學問的測試員們都明白,這在現(xiàn)實或經(jīng)濟上是不可行,不可實現(xiàn)的目標。
  現(xiàn)在,另一種方法可能是讓測試員們隨機選擇測試輸入,希望這些測試能將大的缺陷找出來。不過,測試專家認為,隨機生成的測試輸入在評估系統(tǒng)的質(zhì)量屬性方面表現(xiàn)紀錄欠佳。所以,從測試的角度來看,這是一個無休止的爭論和懸而未決的問題。盡管如此,我們還是認為,測試員的終目標是了解測試的功能、輸入/輸出域和使用環(huán)境,等等。
  同樣,對于某些特定類型的測試,測試人員也需要詳細地了解代碼是如何構(gòu)造的。此外,測試人員也需要利用關(guān)于常在軟件開發(fā)或維護過程中生成的特定缺陷的知識。有了這些信息,測試者必須明智地選擇測試輸入的子集,以及被認為有可能找測試過程中條件和限制內(nèi)的缺陷的測試輸入組合。然而,這個過程需要時間和精力。所以,測試人員知道且贊同:只有開發(fā)出基于執(zhí)行的測試的有效測試用例,才能大化和/或優(yōu)化對時間和資源的利用。
  “有效測試用例”我們是指:“一個很可能找出缺陷的測試用例” 。因此,制定有效測試用例的能力對于一個組織邁向一個更高質(zhì)量的測試過程來說是非常重要的;反過來,  一個組織邁向一個更高質(zhì)量的測試過程對制定有效測試用例的能力也有許多積極影響。
例如,如果測試用例是有效的,那么:
  檢測缺陷的概率更大。
  更有效地利用組織資源。
  測試再用的可能性更高。
  更符合測試、項目進度、預算,更重要地,提供更高質(zhì)量的軟件產(chǎn)品的可能性。

測試用例設(shè)計方法 - 概念化
  上面介紹了有效測試用例的種種好處,但縝密考慮測試人員用來設(shè)計這些有效測試用例的方法也同樣重要。為了回答這個問題,有必要把軟件作為一個精心設(shè)計的產(chǎn)品來查看和/或檢查,F(xiàn)在,有了這個觀念,有兩個基本方法可以用來設(shè)計測試用例:
  黑盒(有時也稱為功能或規(guī)格)測試方法。
  白盒(有時也稱為clear或透明盒 )測試方法。
  使用黑盒測試方法,測試人員把SUT (測試中的軟件)當作一個不知道其內(nèi)部結(jié)構(gòu)(即如何運作)的不透明盒子,測試人員只知道它的作用。使用這種方法的SUT的大小可以是一個簡單的模塊、成員函數(shù)、對象群、一個子系統(tǒng)、或一個完整的軟件系統(tǒng)。此外, SUT的基礎(chǔ)行為或功能的描述可以由正式規(guī)格,輸入/處理/輸出圖( IPO),或一套定義明確的先決、后置條件來提供;重要的是,另一個值得一提的信息來源是:需求規(guī)格說明文檔,通常描述SUT的功能,輸入及預期輸出,F(xiàn)在,鑒于上述來源,測試員提供指定輸入到SUT,進行測試運行,然后確定所產(chǎn)生的輸出是否與說明文檔中提供的一致。因為黑盒測試方法只考慮了軟件的行為和功能,它通常被稱為功能測試,或基于規(guī)范的測試。這種方法特別有用,極有助于找到要求和規(guī)格中的缺陷。
  與此相反,白盒測試方法關(guān)注將被測試的軟件的內(nèi)部結(jié)構(gòu)。因此,使用白盒測試方法來設(shè)計測試用例,測試人員應該先了解結(jié)構(gòu),且為了實現(xiàn)這一目標,必須可隨時參考和理解代碼或適當?shù)念悅未a的要求。一旦對結(jié)構(gòu)有了必要的了解,測試者可以選擇合適的測試用例去實踐特定的內(nèi)部結(jié)構(gòu)要素,并確定它們是否正常工作。例如,測試用例通常被設(shè)計來實踐所有語句或發(fā)生在一個模塊或成員函數(shù)中的真/假分支。但是,由于白盒測試的設(shè)計,執(zhí)行和結(jié)果分析非常耗時,這種方法被限制和/或通常只適用于軟件的小部分,如模塊或成員函數(shù)。然而,白盒測試方法對于找出設(shè)計和基于代碼的控件的邏輯缺陷和順序缺陷,初始化缺陷和數(shù)據(jù)流缺陷等特別有用。
  然而,從測試員的角度來看,要實現(xiàn)向用戶提供低缺陷高質(zhì)量的軟件的目標,必須把這兩種方法都用來設(shè)計測試用例。另外,這兩種方法都支持測試員選擇有限數(shù)量的將被用于測試的測試用例。這兩種方法可以相互補充,因為每個都或許有助于找到某些特定類型的缺陷。重要的是,有了使用這兩種方法設(shè)計出的一組測試用例,測試員找到SUT中各種不同類型缺陷的機會增加了。
  測試員還有一套有效的可再用的用來進行回歸測試(更改后的重新測試),以及軟件測試的新版本。

  上面是一份概要:使用任一設(shè)計方法制定測試用例的各種可用方法。
  但是,在使用任一設(shè)計方法準備測試用例前有一些因素需要考慮清楚。它們分別是:
  測試相關(guān)風險。
  預期缺陷類型。
  測試員的知識和經(jīng)驗。
  測試水平和必須進行分組和管理的小組活動。
  用于執(zhí)行測試用例的工具。
  應用程序,軟件和問題域的類型。
  客戶要求,等等。

上一頁12下一頁
軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd