<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    qileilove

    blog已經(jīng)轉(zhuǎn)移至github,大家請(qǐng)?jiān)L問(wèn) http://qaseven.github.io/

    基于模型的測(cè)試用例設(shè)計(jì)(1)

    介紹
      測(cè)試設(shè)計(jì)是測(cè)試過(guò)程中最重要的部分之一。一個(gè)好的測(cè)試用例不僅要為被測(cè)系統(tǒng)( SUT )提供一些輸入,還要驗(yàn)證系統(tǒng)是否如預(yù)期進(jìn)行。也就是說(shuō),它有助于確認(rèn)利益相關(guān)者要求得以實(shí)現(xiàn)。但測(cè)試設(shè)計(jì)可以做的遠(yuǎn)不止這些。理想情況下,測(cè)試設(shè)計(jì)有助于溝通兩方對(duì)這些需求的理解,驗(yàn)證他們能被正確實(shí)施,并引發(fā)對(duì)利益相關(guān)者可能增加的更大價(jià)值的討論。
      基于模型的測(cè)試(MBT)(下文都簡(jiǎn)稱(chēng)為:基模測(cè)試)是一種技術(shù),有時(shí)被標(biāo)榜為“自動(dòng)化測(cè)試設(shè)計(jì)”。雖然一定程度上這并沒(méi)有錯(cuò),但它或許會(huì)給人以錯(cuò)誤的印象?;y(cè)試工具從一個(gè)由用戶(hù)指定的測(cè)試模型生成測(cè)試用例。沒(méi)有測(cè)試模型,該工具就無(wú)法生成任何測(cè)試用例。沒(méi)有好的測(cè)試模型,該工具就無(wú)法生成好的測(cè)試用例。因此,基模測(cè)試?yán)?,任?wù)從測(cè)試設(shè)計(jì)變成了測(cè)試模型設(shè)計(jì)。不是設(shè)計(jì)單個(gè)測(cè)試集,我們?cè)O(shè)計(jì)了一個(gè)用于生成任何數(shù)量的測(cè)試用例的測(cè)試模型。
      例子
      為了給這個(gè)概念提供一個(gè)具體的理解,首先我們舉一個(gè)簡(jiǎn)單的例子。這里所說(shuō)的例子使用OSMO Tester MBT生成器的符號(hào),它基于Java編程語(yǔ)言。這種情況下,測(cè)試模型是使用標(biāo)準(zhǔn)的Java編程語(yǔ)言結(jié)構(gòu)編寫(xiě)的,但卻被設(shè)計(jì)成被另一個(gè)稱(chēng)作測(cè)試生成器的程序以不同的方式執(zhí)行,以生成測(cè)試用例。有時(shí)候,這種模型被稱(chēng)為模型程序。
      圖1舉了一個(gè)簡(jiǎn)化電信系統(tǒng)(其中多個(gè)移動(dòng)終端被連接(注冊(cè))到潛在多個(gè)服務(wù)器之一上,彼此相互調(diào)用)的這種符號(hào)的例子。
      其他類(lèi)似工具用于各種其他平臺(tái),比如Python (PyModel)和.NET (Spec Explorer, NModel)。其他基于Java的工具和符號(hào),包括ModelJUnit和Conformiq Designer。許多工具也定義了自己的建模語(yǔ)言,并提供一種方法將模型以不同的方式進(jìn)行可視化。
      根據(jù)用戶(hù)的喜好,可以選擇不同的工具提供一個(gè)熟悉的工作環(huán)境以及不同的算法和不同的特征等。
      [BINDER]中可找到一個(gè)MBT工具列表。 

    圖1.模型程序示例



      注意,圖1中的試驗(yàn)?zāi)P捅簧晕⒑?jiǎn)化以提供一個(gè)測(cè)試模型中的一些核心要素的例子。測(cè)試這樣一個(gè)系統(tǒng)的真實(shí)模型將包含更多步驟,動(dòng)作和檢查,以及更多的規(guī)定。例如,我們需要來(lái)啟動(dòng)和終止調(diào)動(dòng)的步驟,注銷(xiāo)終端步驟,移動(dòng)它們的網(wǎng)絡(luò)的步驟,啟動(dòng)數(shù)據(jù)傳輸不同類(lèi)型的步驟,等等更多。
      至于這種模型中的規(guī)定,我們應(yīng)該保持終端列能有效調(diào)用,消息列可以發(fā)送和接收,并保證一切有效數(shù)據(jù)傳輸。并且應(yīng)在測(cè)試先知中用類(lèi)似于圖1中檢查注冊(cè)終端的方式去再次堅(jiān)持這項(xiàng)新規(guī)定。本文的其余部分將把示例模型引用為一個(gè)擴(kuò)展版本。一個(gè)測(cè)試生成器可采取不同的方法從一個(gè)測(cè)試模型生成測(cè)試用例。對(duì)于OSMO Tester生成器及圖1所示測(cè)試模型,該模型可能如[ ACM ]所述那樣被最直觀地描述為一系列規(guī)則和動(dòng)作。該模型定義了一組可以在被測(cè)系統(tǒng)上進(jìn)行的動(dòng)作(在OSMO Tester標(biāo)記中用作@TestStep的一部分)。當(dāng)這些動(dòng)作中的每一個(gè)都被允許時(shí),一組規(guī)則(OSMO Tester標(biāo)記中的@Guard)就定義了。規(guī)則允許的話(huà),生成器就以不同的方式組合這些動(dòng)作以生成測(cè)試用例。整個(gè)測(cè)試模型可以被視作用來(lái)描述大量的可能測(cè)試用例集。隨后測(cè)試生成器從(使用一些由用戶(hù)定義的覆蓋準(zhǔn)則的)這個(gè)模型去生成測(cè)試用例??捎脴?biāo)準(zhǔn)的變化取決于所使用的工具,但一些例子包含了在模型中覆蓋用戶(hù)指定要求(手動(dòng)標(biāo)記的特定部分或路徑),覆蓋動(dòng)作組合,并覆蓋不同動(dòng)作的各種數(shù)據(jù)值。(可能已被用來(lái)為我們的示例模型指導(dǎo)生成器的)覆蓋準(zhǔn)則的一些例子包括:注冊(cè)終端的數(shù)量,調(diào)用終端的數(shù)量,注冊(cè)卻自由(不處于調(diào)用狀態(tài))的終端的數(shù)量,及動(dòng)作結(jié)果配對(duì)。例如,它可以被定義為對(duì)將“零”,“一”和“多”類(lèi)別都覆蓋到終端類(lèi)型數(shù)中的每一個(gè)很感興趣。動(dòng)作覆蓋可以與這些數(shù)值中的一些進(jìn)一步配對(duì),以激勵(lì)生成器來(lái)生成步驟,諸如注銷(xiāo)一個(gè)調(diào)用終端和注銷(xiāo)一個(gè)不同配置下的非調(diào)用終端。有了更嚴(yán)格/松散的覆蓋目標(biāo),以及從自由度變?yōu)樵跍y(cè)試用例中添加隨機(jī)性,那么生成機(jī)就可以被用來(lái)生成一組更小/更大的測(cè)試用例。
      圖2是一個(gè)(含有圖1模型中的一個(gè)測(cè)試生成流程的四個(gè)不同點(diǎn)的)例子。在點(diǎn)一( 1 )中 ,模型程序被5個(gè)未注冊(cè)終端初始化了。在點(diǎn)二(2 )中,生成由幾個(gè)步驟推進(jìn),且三個(gè)終端已被注冊(cè)。在點(diǎn)三( 3 )中 ,幾個(gè)步驟再次被通過(guò)且兩個(gè)注冊(cè)終端有了有效調(diào)用(兩者間的單獨(dú)調(diào)用)。在點(diǎn)四( 4 )中,兩個(gè)以前未注冊(cè)的終端已經(jīng)被注冊(cè)了,前面調(diào)用的一部分已經(jīng)退出,已用兩個(gè)終端建了一個(gè)新的調(diào)用。

      

    圖2.測(cè)試生成流程示例


      它真正測(cè)試哪些東西呢?
      測(cè)試生成的一個(gè)常見(jiàn)問(wèn)題是:它真正測(cè)試什么呢?如果我們只是無(wú)休止地生成測(cè)試數(shù)據(jù)或測(cè)試步驟卻對(duì)結(jié)果的正確性一無(wú)所知,那還有什么意義呢?在基模測(cè)試中,測(cè)試模型也可以用來(lái)檢查測(cè)試用例。圖1中這是由模型中@Post注釋的方法舉例說(shuō)明的。生成器在所有的測(cè)試步驟兩兩間(后)執(zhí)行這個(gè)過(guò)程,以證明被測(cè)系統(tǒng)的情況與測(cè)試模型的情況一致。例如,在圖2的點(diǎn)二( 2 )中,它會(huì)檢查是否測(cè)試模型中被標(biāo)記為注冊(cè)的三個(gè)終端在被測(cè)系統(tǒng)中也都處于相同情況。它還要檢查其他兩個(gè)沒(méi)有被注冊(cè),而且他們都沒(méi)有正在進(jìn)行有效調(diào)用。
      類(lèi)似地,更具體的檢查可以嵌入到任何可在其中獲得一些具體結(jié)果的行動(dòng)中去。
      如果需要的話(huà),這些檢查可以是不同粒度的,且可以在按量進(jìn)行,因?yàn)椴幌袷止?/span>腳本,他們不需要手工編寫(xiě)每個(gè)測(cè)試用例的每一步,卻可以由測(cè)試生成器進(jìn)行,時(shí)間間隔與時(shí)間長(zhǎng)短都不限。
      當(dāng)已經(jīng)創(chuàng)建了一個(gè)測(cè)試模型,測(cè)試生成器就用來(lái)從這些模型生成測(cè)試用例。除了用指定的覆蓋準(zhǔn)則為指導(dǎo)從整體模型生成測(cè)試,很多MBT工具還提供了一種手段來(lái)指導(dǎo)生成器用各種形式的用戶(hù)定義場(chǎng)景去關(guān)注特定部分。例如,有了(有調(diào)用等的)擴(kuò)展示例模型,我們或許還想從某個(gè)角度專(zhuān)注分析管理終端注冊(cè)的網(wǎng)絡(luò)服務(wù)器。要做到這一點(diǎn),用戶(hù)可以創(chuàng)建一個(gè)場(chǎng)景,確保只有測(cè)試步驟與該場(chǎng)景(如注冊(cè)和注銷(xiāo))相關(guān)聯(lián)。
      工具的具體場(chǎng)景定義語(yǔ)言,可以用來(lái)建立這樣的場(chǎng)景。要建一個(gè)特定測(cè)試配置,測(cè)試模式可用指定終端實(shí)例被參數(shù)化。
      圖3說(shuō)明了為我們只允許注冊(cè)和注銷(xiāo)步驟的示例模型建立一個(gè)場(chǎng)景,且每個(gè)步驟都必須在每個(gè)生成的測(cè)試用例中出現(xiàn)至少兩次。
      更真實(shí)的例子會(huì)包括更多步驟,更多部分,并且可能還包括用以驅(qū)動(dòng)SUT到場(chǎng)景起點(diǎn)的啟動(dòng)腳本。
      這樣一個(gè)場(chǎng)景甚至可以用來(lái)定義一個(gè)特定動(dòng)作序列,該序列將被用作一個(gè)啟動(dòng)腳本以生成一個(gè)類(lèi)似于手工編寫(xiě)測(cè)試用例的純手工特定測(cè)試用例,而不是當(dāng)模型和其他生成的測(cè)試用例一樣變化時(shí)將被更新。
      MBT的優(yōu)點(diǎn)
      基模測(cè)試的優(yōu)點(diǎn)很多。相對(duì)于手動(dòng)設(shè)計(jì)(編寫(xiě))單個(gè)測(cè)試用例,建立測(cè)試模型意味著有必要考慮和確定被測(cè)系統(tǒng)的整體行為。根據(jù)我們的經(jīng)驗(yàn),反之這促使了組織間的交流以便把要求建立這樣一個(gè)模型的各方都匯集起來(lái),既有利于協(xié)作又促進(jìn)共同理解。
      當(dāng)從一個(gè)單一的模型生成大量測(cè)試用例時(shí),維護(hù)也被簡(jiǎn)化了,而且更新模型一次并重新運(yùn)行生成器會(huì)可以立刻更新所有測(cè)試用例,而不要單獨(dú)重新運(yùn)行幾百個(gè)測(cè)試用例。
      一個(gè)精心設(shè)計(jì)的測(cè)試模型表現(xiàn)出了作為一個(gè)整體的被測(cè)系統(tǒng)的被選方面。被允許和支持的測(cè)試值而不是單個(gè)測(cè)試值的范圍應(yīng)該在測(cè)試模型中被發(fā)現(xiàn)并表示。不利用測(cè)試(模型)設(shè)計(jì)師把開(kāi)發(fā)人員和領(lǐng)域?qū)<揖鄣揭黄鹗遣豢赡堋R苍S基模測(cè)試應(yīng)用中通常觀察到的最大的好處是:建設(shè)和共享對(duì)系統(tǒng)的限制和功能的明確理解,并把所有的假設(shè)都列到表格中。
      當(dāng)這種理解被記錄到一個(gè)測(cè)試模型中,某種程度上它就成了一個(gè)可執(zhí)行的規(guī)范,因?yàn)樗梢员挥脕?lái)生成測(cè)試用例以實(shí)施。然后,不斷的測(cè)試用例將驗(yàn)證被記錄的理解也與實(shí)施一致。如果不是這樣,就有待達(dá)成一個(gè)新的共同的理解,細(xì)化的模型,或不變的實(shí)施。
      當(dāng)然,該測(cè)試模型不能充分地描述該被測(cè)系統(tǒng)的所有可能的行為,或者它會(huì)變得和實(shí)現(xiàn)本身一樣復(fù)雜甚至更復(fù)雜。因此,需要為建模內(nèi)容選擇一個(gè)合適的范圍,為測(cè)試模型選擇一個(gè)相當(dāng)高的抽象級(jí)別。測(cè)試模型的設(shè)計(jì)需要把重點(diǎn)放在系統(tǒng)的核心部分,該核心部分被視為對(duì)嚴(yán)格的測(cè)試和驗(yàn)證最重要。這個(gè)變化要跨幾個(gè)系統(tǒng),例如,安全關(guān)鍵系統(tǒng)可能比不太重要的應(yīng)用包含了更詳細(xì)的內(nèi)容。因?yàn)榛y(cè)試過(guò)程不僅提供了所生成的測(cè)試用例,而且還有對(duì)系統(tǒng)規(guī)范和功能的嚴(yán)格審查,這個(gè)審查被要求用來(lái)生成測(cè)試模型。我們發(fā)現(xiàn)這對(duì)一個(gè)高層次的系統(tǒng)概述和核心關(guān)鍵要素的詳細(xì)研究特別有用。
      從測(cè)試生成的角度來(lái)看,基模測(cè)試的主要好處在于它的自動(dòng)模型探索能力且在探索測(cè)試模型中不挑測(cè)試生成器。根據(jù)我們的經(jīng)驗(yàn),一個(gè)領(lǐng)域(測(cè)試)專(zhuān)家要查看系統(tǒng)并對(duì)它是如何工作的做出某些內(nèi)在假設(shè)很簡(jiǎn)單,凸顯一些東西,在手動(dòng)設(shè)計(jì)測(cè)試用例中重復(fù)這些假設(shè)。手工操作也很昂貴,在各種不同的開(kāi)發(fā)迭代中很少有時(shí)間資源來(lái)廣泛測(cè)試一大組不同的選項(xiàng),或者保證一個(gè)大堆測(cè)試得以審查和更新。
      使用測(cè)試模型為基礎(chǔ)的測(cè)試生成器的限制較少。有一個(gè)好的測(cè)試模型,該工具就可以結(jié)合不同的模型覆蓋準(zhǔn)則探索不同場(chǎng)景并把隨機(jī)模型覆蓋融合進(jìn)去,就避免了一些專(zhuān)業(yè)偏差還擴(kuò)大了探索選項(xiàng)集合。自然,該工具無(wú)法避免模型內(nèi)的偏差,但是當(dāng)幾位專(zhuān)家一起進(jìn)行模型工作(甚至部分,如審查)時(shí),模型具有巨大偏差的可能性就小了,工具將更加不知疲倦更徹底地探索模型。在現(xiàn)有計(jì)算能力和測(cè)試執(zhí)行時(shí)間內(nèi),它可以生成并執(zhí)行大量測(cè)試用例而不會(huì)厭倦,并在每次迭代中重復(fù)同樣的過(guò)程,只需更新單個(gè)測(cè)試模型就行。
      許多關(guān)于使用基模測(cè)試的案例研究已經(jīng)發(fā)表,也許這其中最廣泛的就是微軟協(xié)議文檔工作[ ACM ] 。微軟研究表明:把所有元素(包括學(xué)習(xí)曲線等)考慮在內(nèi)時(shí)使用基模測(cè)試對(duì)比手工腳本有42%的利益。它還強(qiáng)調(diào)了許多我們所觀察到的接下來(lái)將要討論的問(wèn)題。
      采用需求及潛在問(wèn)題
      如果基模測(cè)試這么棒,為什么我們不一直用它呢?因?yàn)榛y(cè)試的初始成本較高,需要多樣化的技能,它的利益卻難以衡量。初始成本用于獲取技能,學(xué)習(xí)測(cè)試建模的思維模式,并創(chuàng)建測(cè)試模型。無(wú)法證明自己的系統(tǒng)和域的好處的話(huà),這樣的初始成本很難被接受,如果所有人至今為止都一直手寫(xiě)測(cè)試,就很容易安于現(xiàn)狀而不會(huì)為組織去嘗試不同的和未知的事物。
      創(chuàng)建良好的測(cè)試模型需要良好的編程技巧(及一般的軟件工程技能),測(cè)試專(zhuān)業(yè)知識(shí),建模專(zhuān)業(yè)知識(shí)和領(lǐng)域?qū)I(yè)知識(shí)。這是一個(gè)多樣化的技能組合,很難靠單個(gè)專(zhuān)家獲得。而當(dāng)有這樣的專(zhuān)家時(shí),管理層往往快速將他們分配定位成為一個(gè)開(kāi)發(fā)而不是測(cè)試。同樣,管理層基本不會(huì)提供各種昂貴的資源(如領(lǐng)域?qū)<遥?span href="tag.php?name=%C8%ED%BC%FE%BF%AA%B7%A2" class="t_tag" style="margin: 0px; padding: 0px; word-wrap: break-word; line-height: normal; cursor: pointer; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: #ff0000; white-space: nowrap;">軟件開(kāi)發(fā)人員)用于和軟件測(cè)試的筒倉(cāng)相關(guān)的活動(dòng),即使他們需要成功的測(cè)試活動(dòng)。從模型設(shè)計(jì)角度來(lái)看,測(cè)試模型也并不是一個(gè)傳統(tǒng)的順序計(jì)算機(jī)程序,而是指導(dǎo)測(cè)試生成器的一個(gè)規(guī)則和行動(dòng)的集合,它本身與傳統(tǒng)的順序程序設(shè)計(jì)有點(diǎn)不同。
      一般情況下,當(dāng)開(kāi)始進(jìn)行評(píng)估,(可能的話(huà))采用基模測(cè)試方法的時(shí)候,或許最大的障礙就是需要采用一個(gè)完全不同類(lèi)型的思維模式。有必要把重點(diǎn)放在考慮SUT的整體功能和目的或者它所選擇的一部分上,而不要獨(dú)自想著單用場(chǎng)景和單個(gè)測(cè)試用例。這需要與組織中的其他專(zhuān)家密切合作,這就可能需要對(duì)一般的工作實(shí)踐稍作改變。
      這也強(qiáng)調(diào)了關(guān)于計(jì)算優(yōu)點(diǎn)的問(wèn)題。如果管理被用來(lái)測(cè)量如被寫(xiě)測(cè)試用例的數(shù)量之類(lèi)的東西,他們要么就看不到測(cè)試用例(只有一個(gè)測(cè)試模型)要么就是一大堆測(cè)試用例(所有生成的)。 [ GRAHAM ]中已對(duì)該問(wèn)題及其可能結(jié)果做了詳細(xì)說(shuō)明,[ GRAHAM ]中測(cè)試人員最初惡評(píng)如潮,后來(lái)因?yàn)橐延^察到的影響而被承認(rèn)。還有,最初獲得用該工具生成測(cè)試用例的啟動(dòng)成本會(huì)顯得使用這種規(guī)格沒(méi)有任何價(jià)值。然而,它可以是建立共同理解并將之記錄在一個(gè)可執(zhí)行的規(guī)范(測(cè)試模型)中的過(guò)程中最有用的部分。正如在任何自動(dòng)化測(cè)試工作(或任何其他工作)中 ,管理支持,溝通和理解都是非常重要的。
      該方法和測(cè)試生成結(jié)果的有效性取決于設(shè)計(jì)的測(cè)試模型的質(zhì)量。沒(méi)有一個(gè)高質(zhì)量的模型,就沒(méi)有測(cè)試生成可以生產(chǎn)好測(cè)試。因此,投入足夠精力去產(chǎn)生好模型并和其他專(zhuān)家一起檢驗(yàn)它很重要。
      生成一大組測(cè)試用例也能生出一大組需要進(jìn)行分析的結(jié)果。根據(jù)我們的經(jīng)驗(yàn),當(dāng)考慮實(shí)施基模測(cè)試時(shí),許多人通常認(rèn)為這就是一個(gè)潛在的問(wèn)題。然而,實(shí)踐中,我們已經(jīng)觀察到:這問(wèn)題不大,因?yàn)闇y(cè)試生成基本是使用某種形式的場(chǎng)景或(對(duì)系統(tǒng)具體部分分析關(guān)注的)專(zhuān)注模式指導(dǎo)的。然而,模型設(shè)計(jì)仍應(yīng)仔細(xì)考慮諸如有趣元素有哪些以及它們從所有可能輸入到測(cè)試的組合,所以測(cè)試生成的重點(diǎn)應(yīng)放在最有用的方面。至于結(jié)果分析,積極地說(shuō),當(dāng)更多的精力可以從手動(dòng)復(fù)制測(cè)試腳本中被轉(zhuǎn)移到分析結(jié)果時(shí),這就可以使工作更有趣而不那么單調(diào)乏味??傊?,測(cè)試自動(dòng)化應(yīng)該一層層往上建。
      有效實(shí)施基模測(cè)試需要將之建于一個(gè)好的基礎(chǔ)的測(cè)試自動(dòng)化平臺(tái)之上。如果它無(wú)法寫(xiě)出可以自動(dòng)化執(zhí)行的測(cè)試腳本,那么繼續(xù)進(jìn)行基模測(cè)試去產(chǎn)生這樣的腳本就毫無(wú)意義。建立基礎(chǔ)的測(cè)試自動(dòng)化需要良好的水平,這個(gè)水平上,基模測(cè)試過(guò)程可作為一個(gè)額外工具來(lái)提高總體質(zhì)量。例如,如自動(dòng)控制SUT的GUI進(jìn)行測(cè)試一類(lèi)的事,應(yīng)該在測(cè)試一個(gè)基于GUI的應(yīng)用程序時(shí)就得到解決。
      過(guò)程
      使用基模測(cè)試的過(guò)程可以用四個(gè)簡(jiǎn)單的步驟描述為一個(gè)迭代過(guò)程,圖3所示。開(kāi)始時(shí),我們通常為系統(tǒng)所選的小一部分創(chuàng)建一個(gè)最初的測(cè)試模型。這使我們能夠?qū)W習(xí)基本工具和框架,并看看他們是如何連接以形成整個(gè)測(cè)試環(huán)境并在該環(huán)境中定位基模測(cè)試工具。

      

    圖4.過(guò)程模型設(shè)計(jì)


      一旦擁有了測(cè)試模型的工作版本,我們就用它來(lái)生成并執(zhí)行測(cè)試用例。生成的測(cè)試用例的執(zhí)行可以在所謂的“在線基模測(cè)試”中與他們的生成進(jìn)行交錯(cuò),或在所謂的“離線基模測(cè)試”中的一個(gè)單獨(dú)的階段中完成。這就很快地給我們提供了對(duì)模型情況和對(duì)當(dāng)前模型設(shè)計(jì)中被測(cè)系統(tǒng)的那些部分的反饋。
      當(dāng)我們已經(jīng)生成并執(zhí)行測(cè)試用例時(shí),我們分析出被測(cè)系統(tǒng)上及測(cè)試模型中錯(cuò)誤的結(jié)果。
      在令人滿(mǎn)意的水平上,我們開(kāi)始一步步地?cái)U(kuò)展模型并添加更多功能。這意味著我們要從頭重復(fù)這些步驟及這個(gè)過(guò)程,直到在我們覺(jué)得我們已得到了一個(gè)描述有趣元素的合適水平上的測(cè)試模型。
      一些測(cè)試模型可以用來(lái)設(shè)計(jì)系統(tǒng)的不同部分。測(cè)試場(chǎng)景被用來(lái)指導(dǎo)測(cè)試生成,或者它可以使用不同的模型和生成器配置去重點(diǎn)關(guān)注不同的區(qū)域和觀點(diǎn)。
      我們采用的一種做法是幫助合作伙伴開(kāi)始使用開(kāi)源工具理解這個(gè)概念,看到好處,并學(xué)習(xí)技術(shù)。開(kāi)源工具也有適應(yīng)特定需求和環(huán)境的優(yōu)點(diǎn)。一旦基本技術(shù),及其實(shí)施和效益被更好的理解了,就可以選取不同的前進(jìn)道路,包括轉(zhuǎn)用(從廣泛付費(fèi)支持和大規(guī)模開(kāi)發(fā)先進(jìn)算法的資源獲益的,如Spec Explorer和Conformiq Designer的)商業(yè)工具這個(gè)選擇。然而,在許多情況下,我們?cè)缫呀?jīng)看到了開(kāi)源選項(xiàng)提供的不錯(cuò)利益。
      可以運(yùn)用基模測(cè)試的一個(gè)好地方是有很多變量和很多(需要進(jìn)行測(cè)試的)交互的地方。一旦我們意識(shí)到把這個(gè)手動(dòng)縮放到要求的復(fù)雜度和質(zhì)量水平很昂貴的時(shí)候,基模測(cè)試就是一個(gè)值得考慮的好技術(shù)。另一個(gè)不錯(cuò)的地方是安全性軟件,在這種軟件中必須完全相信一個(gè)好的幾乎無(wú)錯(cuò)的解決方案已被建成。
      結(jié)論
      基模測(cè)試可能聽(tīng)起來(lái)像一個(gè)很酷但卻嚇人的技術(shù),很難上手。然而,經(jīng)過(guò)一些初步學(xué)習(xí)之后,它并不比常規(guī)測(cè)試和測(cè)試自動(dòng)化更復(fù)雜。我們一般采取的做法是建議一開(kāi)始(最好是在熟悉這個(gè)概念的人的幫助下讓對(duì)該方法及其潛力超振奮的人)把它用在一個(gè)較小的試點(diǎn)項(xiàng)目中。我們通常以現(xiàn)有的測(cè)試自動(dòng)化和測(cè)試腳本為出發(fā)點(diǎn),以這些為基礎(chǔ)一次一小部分地開(kāi)始建立測(cè)試模型。至于抽象層,一個(gè)好的起點(diǎn)可以是:(通過(guò)利用現(xiàn)有的SUT的API去定義可能采取的行動(dòng)或關(guān)注可以觀察到很多變化且很難測(cè)量手動(dòng)測(cè)試的地方,在該系統(tǒng)復(fù)雜/易出故障的部分或在核心關(guān)鍵功能上,構(gòu)建一個(gè)促進(jìn)共同理解的高層次的總體模型中的)任何東西。
          作者介紹:
      TeemuKanstrén是一名資深科學(xué)家,目前在芬蘭VTT技術(shù)研究中心工作,他還是多倫多大學(xué)的一名客座博士后。他的工作涉及:以改進(jìn)行業(yè)現(xiàn)狀,和生產(chǎn)實(shí)際有用的解決方案并幫助行業(yè)伙伴接受采納它們?yōu)槟康牡淖詣?dòng)化測(cè)試領(lǐng)域的研究和開(kāi)發(fā)。他軟件行業(yè)工作了好幾年,已幫助眾多合作伙伴開(kāi)發(fā)和采用以基于模型的測(cè)試技術(shù)為基礎(chǔ)的測(cè)試自動(dòng)化解決方案。他是開(kāi)源的基于模型的測(cè)試工具OSMO Tester的主要?jiǎng)?chuàng)造者。2010年他獲得了芬蘭大學(xué)測(cè)試自動(dòng)化和基于模型的測(cè)試的博士學(xué)位。

    posted on 2014-05-08 16:02 順其自然EVO 閱讀(704) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): 測(cè)試學(xué)習(xí)專(zhuān)欄

    <2014年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    導(dǎo)航

    統(tǒng)計(jì)

    常用鏈接

    留言簿(55)

    隨筆分類(lèi)

    隨筆檔案

    文章分類(lèi)

    文章檔案

    搜索

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 1000部啪啪毛片免费看| 亚洲乱码一区av春药高潮| 亚洲午夜福利717| 久久精品国产亚洲AV麻豆王友容| 精品国产亚洲一区二区三区| 亚洲福利电影在线观看| 亚洲欧美国产国产综合一区| 一级毛片a女人刺激视频免费| 大地资源网高清在线观看免费| 国产成人精品免费视频网页大全 | 免费一区二区无码视频在线播放| selaoban在线视频免费精品| 99re在线视频免费观看| 在线观看视频免费国语| 亚洲午夜久久久影院伊人| 亚洲国产成人精品电影| 曰批免费视频播放免费| 特级无码毛片免费视频尤物| 蜜臀91精品国产免费观看| 亚洲中文字幕无码永久在线| 亚洲一欧洲中文字幕在线| 有码人妻在线免费看片| 7m凹凸精品分类大全免费| 日韩人妻无码免费视频一区二区三区 | 亚洲精品视频免费| 亚洲免费黄色网址| 亚洲成av人在片观看| 亚洲毛片在线免费观看| 深夜免费在线视频| 青草草色A免费观看在线| 精品亚洲成α人无码成α在线观看 | A毛片毛片看免费| 最近的免费中文字幕视频| 丝袜熟女国偷自产中文字幕亚洲| 亚洲AV一二三区成人影片| 91免费在线视频| 国产成人精品免费视频软件| 亚洲电影在线播放| 在线观看免费视频一区| 国产精品久久香蕉免费播放| 亚洲激情黄色小说|