CMMI和軟件測試he基于搜索的軟件測試_第1頁
CMMI和軟件測試he基于搜索的軟件測試_第2頁
CMMI和軟件測試he基于搜索的軟件測試_第3頁
CMMI和軟件測試he基于搜索的軟件測試_第4頁
CMMI和軟件測試he基于搜索的軟件測試_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

CMMI和軟件測試CMMI全稱是CapabilityMaturityModelIntegration,即能力成熟度模型集成(也有稱為:軟件能力成熟度集成模型)11.2CMMI簡介01CMMI簡介CMMI為改進(jìn)一個(gè)組織的各種過程提供了一個(gè)單一的集成化框架,新的集成模型框架消除了各個(gè)模型的不一致性,減少了模型間的重復(fù),增加透明度和理解,建立了一個(gè)自動(dòng)的、可擴(kuò)展的框架。因而能夠從總體上改進(jìn)組織的質(zhì)量和效率。CMMI成本效益明確重點(diǎn)過程集中靈活性CMMI的表述方式階段式模型連續(xù)型模型優(yōu)點(diǎn)是具備管理跨組織過程的能力,便于在雇員之間進(jìn)行過程的友好溝通,改善項(xiàng)目估計(jì)的準(zhǔn)確性,改善成本和質(zhì)量控制,可以使用可度量的數(shù)據(jù)來指導(dǎo)問題分析和改善工作

優(yōu)點(diǎn)是自由和可見性,具體表現(xiàn)為組織通過可以獲益于在每個(gè)過程域的所有共性實(shí)踐中加以應(yīng)用,更加明確地關(guān)注個(gè)別過程域的特定風(fēng)險(xiǎn),便于形成一個(gè)更兼容于ISO/IECl5004的結(jié)構(gòu),一個(gè)更加有助于在已有模型結(jié)構(gòu)上以最少的工作添加新的過程域的結(jié)構(gòu)CMMI簡介CMMI過程的可視性CMMI框架結(jié)構(gòu)CMMI成熟度等級與能力等級之間的關(guān)系CMMI過程域的等級分類CMMI的成熟度等級特征CMMI過程域的能力等級特征CMMI簡介未實(shí)施級已管理級已實(shí)施級已定義級量化管理級CMMI簡介CMMI的等級特征主要有未實(shí)施級、已實(shí)施級、已管理級、已定義級、量化管理級、持續(xù)優(yōu)化級5個(gè)等級,顯示一個(gè)組織在實(shí)施和控制其過程以及改善其過程性能等方面所具備的或設(shè)計(jì)的能力持續(xù)優(yōu)化級CMMI簡介CMMI的成熟度等級特征為軟件組織實(shí)現(xiàn)過程改進(jìn)展示出一種分階段的前瀏順序,分為初始級、已管理級、已定義級、量化管理級和持續(xù)優(yōu)化級初始級已管理級量化管理級持續(xù)優(yōu)化級CMMI12345已定義級CMMI簡介CMMI的關(guān)鍵過程域有24個(gè),過程域的分類可以采用以下幾種分類方式:按成熟度等級分類,按過程域緊密關(guān)系分類,其中按過程域緊密分類可以分為“過程管理類”、“項(xiàng)目管理類”、“工程類”、“支持類”4類020304支持類項(xiàng)目管理類過程管理類工程類01CMMI簡介1.CMMI與軟件測試最為緊密的兩個(gè)關(guān)鍵過程域是驗(yàn)證(VER)和確認(rèn)(VAL)兩個(gè)關(guān)鍵過程域。3.“確認(rèn)”的目的在于證明產(chǎn)品或產(chǎn)品構(gòu)件被置于預(yù)期的環(huán)境時(shí)能夠滿足其預(yù)期的用途2.“驗(yàn)證”的目的在于保證工作產(chǎn)品滿足其規(guī)定要求基于CMMI的軟件測試流程當(dāng)前在軟件項(xiàng)目開發(fā)過程中存在著兩種較為流行的測試模型:X模型和V模型,這兩種模型提供了較為合理的軟件測試流程和軟件開發(fā)模型02需求分析1詳細(xì)設(shè)計(jì)3單元測試5系統(tǒng)測試7概要設(shè)計(jì)2編碼4集成測試6驗(yàn)收測試8V模型宣稱測試并不是一個(gè)事后彌補(bǔ)行為,而是一個(gè)同開發(fā)過程同樣重要的過程測試階段(流程)由單元測試、集成測試、系統(tǒng)測試和驗(yàn)收測試組成整個(gè)開發(fā)流程先后的次序基于CMMI的軟件測試流程基于CMMI的軟件測試流程X模型是對V模型的改進(jìn)X模型提出針對單獨(dú)的程序片段進(jìn)行相互分離的編碼和測試此后通過頻繁的交接通過集成最終合成為可執(zhí)行的程序基于搜索的軟件測試基于搜索的軟件工程,從問題的解空間出發(fā),將傳統(tǒng)的軟件工程問題轉(zhuǎn)化為優(yōu)化問題,并使用高性能的搜索方法,在問題所有可能解的空間中,尋找最優(yōu)解或者近似最優(yōu)解03基于搜索的軟件測試基于搜索的軟件工程技術(shù)在軟件工程生命周期各個(gè)階段發(fā)表文章數(shù)量的分布,可以看出超過50%文章是基于搜索的軟件測試與調(diào)試方向?;谒阉鞯能浖y試11.3智能搜索算法基于搜索的軟件測試的基石是高性能的搜索算法01智能搜索算法基于微積分的搜索方法帶有向?qū)У碾S機(jī)搜索方法枚舉方法目前軟件工程領(lǐng)域中用到的搜索方法遺傳算法爬山算法蟻群算法模擬退火算法粒子群算法其他智能搜索算法遺傳算法遺傳算法是一種模擬自然界生物進(jìn)化過程的啟發(fā)式搜索算法。它屬于演化算法的一種,蘇凡借鑒了進(jìn)化生物學(xué)中的一些現(xiàn)象,這些現(xiàn)象通常包括遺傳、突變、自然選擇以及雜交等。但遺傳算法有可能在使用不當(dāng)?shù)那闆r下收斂于局部最優(yōu)解,同時(shí),遺傳算法也具有不確定性的缺點(diǎn)。但是這絲毫也沒影響到遺傳算法的應(yīng)用廣度,它是一種確定的搜索技術(shù)。智能搜索算法遺傳算法操作步驟中關(guān)鍵的幾步操作為:怎么從問題空間得到信息編碼、染色體交叉以及適應(yīng)度函數(shù)的構(gòu)造。該算法基本的算法流程描述如下:智能搜索算法遺傳算法應(yīng)用實(shí)例例4.1設(shè)如圖11-4所示,有五個(gè)城市,依次表示A,B,C,D,E,這五個(gè)城市之間的路徑拓?fù)鋱D如圖所示,欲求解的是從A出發(fā),遍歷每個(gè)城市,并且每個(gè)城市只走一次,當(dāng)遍歷完所有的城市,回到起始點(diǎn)位置,找出所有路徑路程中路徑路程最小的一條終止變異交叉選擇確定適應(yīng)度產(chǎn)生初始化種群編碼智能搜索算法理解賭輪算法前,我們先必須了解個(gè)體的選擇概率,個(gè)體的選擇概率的計(jì)算公式為:其中,

為適應(yīng)度函數(shù),為的適應(yīng)度??梢钥闯?,染色體被選中的概率就是適應(yīng)度所占種群中全體染色體適應(yīng)度之和的比例如下圖所示,假設(shè)種群中有4個(gè)染色體:,,,,其選擇概率依次為:0.11,0.45,0.29,0.15,則他們在輪盤上上所占的份額如圖中的各扇形區(qū)域所示智能搜索算法蟻群算法簡介:蟻群算法的各個(gè)螞蟻在沒有事先告訴他們食物在什么地方的前提下開始尋找食物,當(dāng)一只找到食物以后,它會(huì)向環(huán)境釋放一種揮發(fā)性分泌物pheromone(稱為信息素,該物質(zhì)隨著時(shí)間的推移會(huì)逐漸揮發(fā)消失,信息素濃度的大小表征路徑的遠(yuǎn)近)來實(shí)現(xiàn)的,吸引其他的螞蟻過來,這樣越來越多的螞蟻會(huì)找到食物。有些螞蟻并沒有像其他螞蟻一樣總重復(fù)同樣的路,他們會(huì)另辟蹊徑,如果另開辟的道路比原來的其他道路更短,那么,漸漸地,更多的螞蟻被吸引到這條較短的路上來。最后,經(jīng)過一段時(shí)間運(yùn)行,可能會(huì)出現(xiàn)一條最短路徑被大多數(shù)螞蟻重復(fù)著。智能搜索算法關(guān)于蟻群算法的幾個(gè)比較重要的規(guī)則范圍環(huán)境覓食規(guī)則移動(dòng)規(guī)則避障規(guī)則信息素規(guī)則智能搜索算法蟻群算法的四個(gè)基本的特點(diǎn):一種自組織的算法一種本質(zhì)上并行的算法一種正反饋的算法具有較強(qiáng)的魯棒性1243智能搜索算法蟻群算法應(yīng)用示例設(shè)螞蟻的數(shù)量為,城市的數(shù)量為,城市與城市之間的距離為,時(shí)刻城市與城市之間的信息素濃度為,初始時(shí)刻,各個(gè)城市間連接路徑上的信息素濃度相同,不妨記為。螞蟻根據(jù)各城市間連接路徑上的信息素濃度,決定其下一個(gè)要訪問的城市,設(shè)表示時(shí)刻,螞蟻從城市到城市的概率,其計(jì)算公式如下公式所示。其中:為啟發(fā)式函數(shù),,表示螞蟻城市轉(zhuǎn)移到城市的期望程序;表示螞蟻待訪問的城市的集合,開始時(shí)為其他城市,隨著時(shí)間推進(jìn),其中的元素不斷減少,直至為空,表示所有的城市訪問完,即遍歷所有城市。為信息素的重要程度因子,為啟發(fā)函數(shù)的重要程度因子。智能搜索算法螞蟻釋放的信息素會(huì)隨著時(shí)間的推進(jìn)而減少,設(shè)參數(shù)表示信息素的揮發(fā)度,當(dāng)所有螞蟻完成一次循環(huán)后,各個(gè)城市間連接路徑上的信息素濃度,需要實(shí)時(shí)更新。表示螞蟻在城市與城市的連接路徑上釋放的信息素濃度,表示所有螞蟻在城市與城市的連接路徑上,釋放的信息素濃度。

的計(jì)算方法如下公式為常數(shù),表示螞蟻循環(huán)一次釋放的信息素的總量;為第中螞蟻經(jīng)過路徑的長度,;智能搜索算法蟻群算法實(shí)現(xiàn)步驟:020304更新信息素構(gòu)建解空間初始化參數(shù)判斷是否終止01人工魚群算法禁忌搜索算法人工免疫算法粒子群算法其它智能優(yōu)化算法:模擬退火算法爬山算法智能搜索算法搜索技術(shù)在軟件測試中的應(yīng)用軟件測試是進(jìn)行軟件質(zhì)量保證的一種活動(dòng),軟件測試活動(dòng)的目的是度量和提高軟件質(zhì)量,通過對待測軟件及文檔、測試標(biāo)準(zhǔn)進(jìn)行分析,進(jìn)而設(shè)計(jì)并執(zhí)行一系列的測試用例,測試人員往往想通過測試用例檢測出軟件中盡可能多的故障02功能測試用例生成方法1)等價(jià)類劃分搜索技術(shù)在軟件測試中的應(yīng)用等價(jià)類劃分是測試用例設(shè)計(jì)的非常形式化的方法,它將測試軟件的輸入輸出劃分成一些區(qū)間,被測軟件對一個(gè)特定區(qū)間的任何值都是等價(jià)的。形成測試區(qū)間的數(shù)據(jù)不只是函數(shù)/過程的參數(shù),也是軟件可以訪問的全局變量,系統(tǒng)資源等,這些變量或資源可以是以時(shí)間形式存在的數(shù)據(jù),或是以狀態(tài)形式存在的輸入輸出序列。搜索技術(shù)在軟件測試中的應(yīng)用對等區(qū)間劃分的原則:若輸入條件規(guī)定了取值范圍,或者值的個(gè)數(shù),則可以確定一個(gè)有效等價(jià)類和兩個(gè)無效等價(jià)類。若輸入條件規(guī)定了輸入值得集合,或者是規(guī)定了“必須如何”的條件,這時(shí)可以確定一個(gè)有效等價(jià)類和一個(gè)無效等價(jià)類。若輸入條件是一個(gè)布爾量,則可以確定一個(gè)有效等價(jià)類和一個(gè)無效等價(jià)類。若規(guī)定了輸入數(shù)據(jù)的一組值,而且程序要對每一個(gè)輸入值分別進(jìn)行處理,這時(shí)要對每一個(gè)規(guī)定的輸入值確定一個(gè)等價(jià)類,而對于這組值之外的所有值確定一個(gè)等價(jià)類。若規(guī)定了輸入數(shù)據(jù)必須遵守的規(guī)則,則可以確定一個(gè)有效等價(jià)類(即遵守規(guī)則的數(shù)據(jù))和若干無效等價(jià)類(從不同角度違反規(guī)則的數(shù)據(jù))。若確知以劃分的等價(jià)類中的各元素在程序中的處理方式不同,則應(yīng)進(jìn)一步劃分成更小的等價(jià)類,利用對等區(qū)間劃分選擇測試用例。為每個(gè)等價(jià)類規(guī)定一個(gè)唯一的編號(hào)設(shè)計(jì)一個(gè)新的測試用例,使其盡可能多的覆蓋尚未覆蓋的有效等價(jià)類,重復(fù)這一步驟,直到所有的有效等價(jià)類都被覆蓋為止。設(shè)計(jì)一個(gè)新的測試用例,使其僅覆蓋一個(gè)無效等價(jià)類,重復(fù)這一步驟,直到所有的無效等價(jià)類都被覆蓋為止。搜索技術(shù)在軟件測試中的應(yīng)用2)邊界值分析邊界值分析假定錯(cuò)誤最有可能出現(xiàn)在區(qū)間之間的邊界,邊界值分析將一定程度的負(fù)面測試加入到測試設(shè)計(jì)中,期望錯(cuò)誤會(huì)在區(qū)間邊界發(fā)生,對邊界值的兩邊都需設(shè)計(jì)測試用例。其做法是:首先確定邊界情況。通常輸入和輸出等價(jià)類的邊界值就是應(yīng)該著重測試的邊界情況。其次,應(yīng)當(dāng)選取正好等于、剛好大于或剛好小于邊界的值作為測試數(shù)據(jù)而不是選取等價(jià)類中的典型值或任意值作為測試數(shù)據(jù)。考慮前面的平方根函數(shù)的2個(gè)輸入?yún)^(qū)間如下圖所示。0和大于0區(qū)間的邊界是0和最大正實(shí)數(shù),小于0區(qū)間的邊界是0和最大負(fù)實(shí)數(shù)。輸出區(qū)間的邊界是0和最大正實(shí)數(shù)。搜索技術(shù)在軟件測試中的應(yīng)用選擇測試用例的原則:如果輸入條件規(guī)定了值的范圍。則應(yīng)該取剛達(dá)到這個(gè)范圍的邊界值,以及剛剛超過這個(gè)范圍邊界的值作為測試輸入數(shù)據(jù)。如果輸入條件規(guī)定了值的個(gè)數(shù),則用最大個(gè)數(shù)、最小個(gè)數(shù)、比最大個(gè)數(shù)多1個(gè)、比最小個(gè)數(shù)少1個(gè)的數(shù)作為測試數(shù)據(jù)。根據(jù)規(guī)格說明的每一個(gè)輸出條件,使用規(guī)則一。根據(jù)規(guī)格說明的每一個(gè)輸出條件,使用規(guī)則二。如果程序的規(guī)格說明給出的輸入域或輸出域是有序集合(如有序表、順序文件等),則應(yīng)選取集合的第一個(gè)和最后一個(gè)元素作為測試用例。如果程序用了一個(gè)內(nèi)部結(jié)構(gòu),應(yīng)該選取這個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu)的邊界值作為測試用例。分析規(guī)格說明,找出其他可能的邊界條件。搜索技術(shù)在軟件測試中的應(yīng)用3)因果圖分析軟件規(guī)格說明描述中哪些是原因(即輸入條件或輸入條件的等價(jià)類),哪些是結(jié)果(即輸出條件),并給每個(gè)原因和結(jié)果賦予一個(gè)標(biāo)識(shí)符。分析軟件規(guī)格說明描述中的語義。找出原因與結(jié)果之間、原因與原因之間對應(yīng)的關(guān)系。根據(jù)這些關(guān)系,畫出因果圖。由于語法或環(huán)境的限制,有些原因與原因之間、原因與結(jié)果之間的組合情況不可能出現(xiàn)。為表明這些特殊情況,在因果圖上用一些記號(hào)表明約束或限制條件。把因果圖轉(zhuǎn)化為判定表。把判定表的每一列拿出來作為依據(jù),設(shè)計(jì)測試用例。因果圖方法最終生成的是判定表,它適合于檢查程序輸入條件的各種組合情況。利用因果圖生成測試用例的基本步驟:此外還有錯(cuò)誤猜測法和功能圖等方法路徑覆蓋語句覆蓋判斷覆蓋條件覆蓋判定-條件覆蓋條件組合覆蓋0102希望獲取哪些信息在程序的什么部位設(shè)置探測點(diǎn)搜索技術(shù)在軟件測試中的應(yīng)用結(jié)構(gòu)測試用例生成方法:1.邏輯覆蓋2.程序插裝設(shè)計(jì)程序插裝程序時(shí)需要考慮的問題包括:搜索技術(shù)在軟件測試中的應(yīng)用基于遺傳算法的分支覆蓋測試用例生成基于遺傳算法的分支覆蓋測試用例生成系統(tǒng)主要包括三個(gè)部分:測試環(huán)境構(gòu)造、遺傳算法報(bào)的實(shí)現(xiàn)和測試運(yùn)行。1.用例生成模型測試環(huán)境構(gòu)造是整個(gè)系統(tǒng)的基礎(chǔ),它主要是通過對被測程序的靜態(tài)分析提取有用的參數(shù)(包括參數(shù)的范圍)和對程序進(jìn)行插裝。遺傳算法包則是用例生成系統(tǒng)的核心部分。它首先對測試環(huán)境構(gòu)造中提取出來的參數(shù)及其范圍確定種群的規(guī)模,按照編碼規(guī)則進(jìn)行編碼,生成初始種群,然后根據(jù)測試運(yùn)行部分得到的信息計(jì)算適應(yīng)度值,根據(jù)評價(jià)規(guī)則對初始種群反復(fù)應(yīng)用GA運(yùn)算(選擇、交叉、變異)生成新一代的種群,直至最終達(dá)到終止條件。測試運(yùn)行時(shí)第一部分和第二部分的橋梁與實(shí)現(xiàn),主要完成的任務(wù)是實(shí)時(shí)地調(diào)用并運(yùn)行插裝后的被測程序,獲取追蹤信息傳遞給遺傳算法包,根據(jù)遺傳算法中的評價(jià)結(jié)果決定程序的運(yùn)行與終止。測試用例生成系統(tǒng)模型圖搜索技術(shù)在軟件測試中的應(yīng)用基于遺傳算法的分支覆蓋測試用例生成2.參數(shù)的選擇單元的入口參數(shù)(如函數(shù)的形參)單元的出口參數(shù)(如函數(shù)的返回值)全局變量單元內(nèi)部的變量程序單元中的變量類型搜索技術(shù)在軟件測試中的應(yīng)用對于不同類型的參數(shù),首先對參數(shù)進(jìn)行位串編碼,使它成為一系列的有限長度串。這里測試用例生成系統(tǒng)中這里采用二進(jìn)制編碼。種群的初始化包括初始種群規(guī)模的確定及其初始值的選取。對于二進(jìn)制的編碼方式,Goldberg已經(jīng)證明了若個(gè)長度L,則種群規(guī)模的最優(yōu)值為2L/2。因此在實(shí)際應(yīng)用中,可以以此作為參考,同時(shí)結(jié)合程序的規(guī)模:如分支

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論