成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

淺談基于模型的測試

開發(fā) 測試
很多朋友可能已經(jīng)聽說了Spec Explorer是一款強(qiáng)大的測試工具,但卻不是很了解所謂的基于模型的測試到底是什么,這篇文章可以讓你對此有一個大致的認(rèn)識。

很多朋友可能已經(jīng)聽說了Spec Explorer 是一款強(qiáng)大的測試工具,但卻不是很了解所謂的基于模型的測試到底是什么,這篇文章可以讓你對模型測試有一個大致的認(rèn)識。

如果你在互聯(lián)網(wǎng)上搜索“Model-Based Testing”(即基于模型的測試,簡稱MBT),你將發(fā)現(xiàn)大量的信息。基于模型的測試并不是一個新生事物,也不局限于Spec Explorer這一工具,而是一個在學(xué)術(shù)界和工業(yè)界都已存在多年的概念。只是諸如Spec Explorer的工具將這一概念變得更易于學(xué)習(xí)和使用,并使得更廣大的用戶群能夠廣泛接受。

基于模型的測試是一個輕量級的,形式化的驗(yàn)證軟件系統(tǒng)的方法。為什么這么說呢,因?yàn)槭紫龋谀P偷臏y試對待測軟件系統(tǒng)(通常被稱為System Under Test,簡稱SUT)進(jìn)行形式化的建模,設(shè)計(jì)出機(jī)器可讀的模型;其次,和其他形式化方法比,基于模型的測試并不致力于讓待測軟件系統(tǒng)與規(guī)格說明在所有可能情況下都保持一致,而是系統(tǒng)化的從模型生成一組測試用例,使用這組測試用例測試待測軟件系統(tǒng),得到充分的證據(jù)說明待測系統(tǒng)的行為與模型期望是一致的。輕量級和重量級的方法的根本區(qū)別在于一個是充分證明,一個是完全證明。

目前完全驗(yàn)證一致性的代價非常高,重量級的形式化方法往往難以被應(yīng)用到實(shí)際工程中,而基于模型的測試在這方面體現(xiàn)了優(yōu)勢,并已被運(yùn)用到很多大型項(xiàng)目中。

下面是一個基于模型測試的簡單圖解:

MBT

 

基于模型的測試從一組需求開始,這組需求可以是文字,草圖或者僅僅是團(tuán)隊(duì)成員的一些想法。

首先,我們需要創(chuàng)建一個機(jī)器可讀的模型(#1),該模型表述了需求所表述的所有可能行為。這一步是由人工完成,并且是整個流程中工作量最大的一步。模型設(shè)計(jì)工作的關(guān)鍵點(diǎn)在于正確的抽象,一個建模者應(yīng)該專注于系統(tǒng)的待測試的某一方面,而不需要關(guān)心系統(tǒng)的其余部分。不同部分可以被不同模型覆蓋,但是每一個模型都確保自己在清晰的抽象層面上。

具體到Spec Explorer,模型被表述為一組規(guī)則,這些規(guī)則可以使用主流程序開發(fā)語言C#開發(fā),不需要再學(xué)習(xí)其他特定的形式化建模語言,降低了學(xué)習(xí)難度。同時,Spec Explorer是一個Visual Studio集成開發(fā)環(huán)境的插件,所以提供了諸如語法顏色標(biāo)記,自動補(bǔ)全和代碼重構(gòu)等功能。Spec Explorer還提供了一種小型的配置語言Cord(Coordination Language的簡稱)用于結(jié)合不同模型,生成代碼以及選擇特定的測試場景。

雖然創(chuàng)建模型的工作量很大,但是回報(bào)也是巨大的。通過把非形式化的需求轉(zhuǎn)化為形式化的模型,你將很容易發(fā)現(xiàn)需求中遺漏的部分(譬如:如果我連按兩次ESC鍵,系統(tǒng)到底應(yīng)該怎么樣?)。上圖中的#2表明僅僅通過分析模型,就可以得到關(guān)于需求的反饋。

當(dāng)模型成型以后,就到了Spec Explorer這種工具發(fā)揮作用的時候了。它能夠通過分析模型自動生成測試用例(#3),包括提供給待測試系統(tǒng)的輸入以及期望的輸出,我們稱之為測試預(yù)期。自動生成的測試用例一旦生成,就可以在一個標(biāo)準(zhǔn)的單元測試框架中(例如Visual Studio的測試框架或者NUnit)獨(dú)立于模型運(yùn)行。

這些測試用例提供了測試序列(#4)去控制待測試系統(tǒng),同時觀察(#5)待測試系統(tǒng)的返回值,并與生成預(yù)期值進(jìn)行比較,然后做出判定(#6)測試是通過還是失敗。測試用例可以被反復(fù)執(zhí)行以重現(xiàn)bug,最后找到問題所在。

對測試結(jié)果的判定是對待測試系統(tǒng)的一個重要反饋(#7),但是找到待測試系統(tǒng)的bug并不是我們的唯一目標(biāo)。一個失敗的測試用例也有可能表明待測試系統(tǒng)的行為是正確的,但是模型的預(yù)期行為是錯的!或者更進(jìn)一步,模型本身是正確的反映了需求,但是需求本身從一開始就錯了!

如果真的如此,你也不用特別悲觀,基于模型的測試與傳統(tǒng)人工測試相比的最大優(yōu)勢就在于維護(hù)方便,你需要的僅僅是讓失敗的結(jié)果作為有效的反饋給模型或者需求(#8),修改模型使其能反映系統(tǒng)的預(yù)期行為,然后重新生成測試用例。

【編輯推薦】

  1. 嵌入式軟件測試淺談
  2. “腳踩二枝”做軟件測試復(fù)合型人才
  3. 軟件測試中排錯的基本方法
  4. 通過軟件測試防止IT浪費(fèi) 降低成本和風(fēng)險
責(zé)任編輯:于鐵 來源: TEST8848
相關(guān)推薦

2011-04-22 16:05:26

測試

2022-07-27 11:51:39

契約測試開發(fā)測試

2018-06-15 07:40:26

2015-05-06 10:02:26

2011-06-08 16:22:24

白盒測試

2011-06-14 15:56:42

單元測試

2011-05-16 15:09:20

測試用例

2017-06-02 10:58:00

統(tǒng)計(jì)語言模型

2023-10-04 00:14:00

WebSocket網(wǎng)絡(luò)協(xié)議

2010-04-13 10:49:32

2012-12-24 22:58:07

測試網(wǎng)絡(luò)測試

2011-06-08 16:52:16

軟件測試

2009-02-06 09:56:56

軟件測試數(shù)據(jù)倉庫測試開發(fā)與執(zhí)行

2011-07-22 14:14:23

java

2011-06-08 17:23:12

測試用例

2010-04-13 10:43:05

MPLS

2010-09-17 15:12:28

2023-04-17 19:43:54

兼容性測試軟件測試

2010-04-13 10:54:33

MPLS

2009-07-24 17:22:22

CLR 4.0安全模型
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: av电影一区二区 | 亚洲欧美一区二区三区国产精品 | 黄色网址av| 亚洲网站在线观看 | 综合二区 | 黄色毛片网站在线观看 | 欧美日韩黄 | 黄色一级大片在线免费看产 | 99色综合 | 亚洲在线一区二区 | 中文一区二区视频 | 成人午夜影院 | 先锋资源在线 | 国产欧美精品一区二区 | 国产精品午夜电影 | 国产成人精品免高潮在线观看 | 一区二区三区在线免费看 | www一级片 | 成人黄色av网址 | 色婷婷av777 av免费网站在线 | 国产在线麻豆精品入口 | yiren22综合网成人 | 色www精品视频在线观看 | 中文字幕av在线播放 | 久久99精品久久久久蜜桃tv | 嫩草视频在线 | 91成人在线| 久久精品国产99国产精品亚洲 | 天天操夜夜操 | 精品二区 | 国产精品区二区三区日本 | 欧美日韩国产一区二区 | 国产精品av久久久久久毛片 | 久久er99热精品一区二区 | 99视频在线免费观看 | 午夜a区 | 一级黄色毛片免费 | 久久久久国产一区二区三区 | 奇米超碰在线 | 日本天堂视频在线观看 | 一级特黄视频 |