999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于軟件架構(gòu)的回歸測(cè)試

2012-04-29 00:00:00羅心熠潘爽
中國(guó)管理信息化 2012年13期

[摘 要] 當(dāng)對(duì)可靠的系統(tǒng)結(jié)構(gòu)化的時(shí)候,除了通過(guò)構(gòu)建的方式來(lái)改善系統(tǒng)的可靠性(如容錯(cuò)和多余的機(jī)制)外,對(duì)于系統(tǒng)的評(píng)估也同樣重要,并由此來(lái)認(rèn)可系統(tǒng)的可靠性。現(xiàn)有很多不同的方法來(lái)評(píng)估系統(tǒng)的可靠性,測(cè)試因而成為一種重要的方式。目前關(guān)于軟件結(jié)構(gòu)測(cè)試的工作表明,應(yīng)用一致性測(cè)試技術(shù)產(chǎn)生可信度是可能的,這種可信度是在軟件架構(gòu)中可期望的行為,指定了架構(gòu)描述語(yǔ)言。這項(xiàng)工作中,探討了為了減少重復(fù)測(cè)試而修改系統(tǒng)的費(fèi)用,回歸測(cè)試可以怎樣被系統(tǒng)化地應(yīng)用在軟件架構(gòu)層面上,評(píng)估了進(jìn)化的系統(tǒng)的回歸測(cè)試性。考慮了評(píng)估“自頂向下”和“自底向上”等進(jìn)化方法,是否通過(guò)簡(jiǎn)單修改就能夠符合初始的架構(gòu),這樣的修改是否能夠符合進(jìn)化的架構(gòu)。將回歸測(cè)試應(yīng)用在軟件架構(gòu)層面上將有助于評(píng)估和認(rèn)定其是否具有更高的可信度。

[關(guān)鍵詞] 軟件架構(gòu)(SA); 可靠性系統(tǒng); 回歸測(cè)試; 分析

doi : 10 . 3969 / j . issn . 1673 - 0194 . 2012 . 13. 031

[中圖分類(lèi)號(hào)] TP311.5 [文獻(xiàn)標(biāo)識(shí)碼] A [文章編號(hào)] 1673 - 0194(2012)13- 0055- 02

1 回歸測(cè)試背景

首先由于軟件總在時(shí)刻變化著,軟件的不斷演化,例如軟件的開(kāi)發(fā)、維護(hù)、升級(jí)都需要修改一些軟件的結(jié)構(gòu)和代碼,而人類(lèi)對(duì)軟件的要求也從未停止過(guò)。軟件的每次改變都會(huì)引入潛在的風(fēng)險(xiǎn),這是軟件演化的缺陷。其次,人類(lèi)對(duì)軟件變化有了一些新的要求,關(guān)心軟件修改后的功能是否達(dá)到預(yù)期以及原有的功能是否被損害[1-3]。

針對(duì)以上要求,選擇使用回歸測(cè)試來(lái)解決。回歸測(cè)試是一種驗(yàn)證已變更系統(tǒng)的完整性與正確性的測(cè)試技術(shù)。

2 回歸測(cè)試的定義及意義

回歸測(cè)試是對(duì)之前已測(cè)試過(guò)、經(jīng)過(guò)修改的程序進(jìn)行重新測(cè)試,以保證該修改沒(méi)有引入新的錯(cuò)誤或者由于更改而發(fā)現(xiàn)之前沒(méi)有發(fā)現(xiàn)的錯(cuò)誤。

回歸測(cè)試的意義是:(1) 保證軟件維護(hù)時(shí)未更改的代碼功能不會(huì)受到影響。(2) 保證軟件模塊區(qū)域和持續(xù)維護(hù)過(guò)程與回歸測(cè)試的協(xié)作關(guān)系,使得回歸測(cè)試成為一個(gè)每月、每周、每日的常規(guī)活動(dòng)。(3) 實(shí)現(xiàn)軟件整個(gè)生命周期的測(cè)試。

3 回歸測(cè)試

首先簡(jiǎn)單介紹傳統(tǒng)的基于代碼的回歸測(cè)試選擇方法的作用,以便了解軟件架構(gòu)回歸測(cè)試選擇方法的基礎(chǔ)。關(guān)注于選擇性的回歸測(cè)試方法,然后再重新采用相同的邏輯步驟來(lái)提出一種基于軟件架構(gòu)的回歸測(cè)試方法(在第四部分提出)。

回歸測(cè)試的目的在于驗(yàn)證修改的軟件并確定不會(huì)在先前測(cè)試的代碼中出現(xiàn)新的錯(cuò)誤。傳統(tǒng)的方法是把它分解為兩個(gè)階段。(1) 測(cè)試軟件P相對(duì)于一種指定的測(cè)試集T。(2) 當(dāng)推行了一種新版本P′時(shí),對(duì)已修改的版本P′的回歸測(cè)試提出P′相對(duì)于測(cè)試組T′是正確的可靠性。

在最簡(jiǎn)單的回歸測(cè)試方法中,有一種叫做復(fù)制所有的測(cè)試。T′中包含T中的所有在T中的測(cè)試用例,并且P′ 運(yùn)行在T′上。在回歸測(cè)試選擇方法上,T′被選出作為一種跟T相關(guān)的子集,假設(shè)有t∈T,t包含于T′,如果它有可能在P′中生成的結(jié)果與在P中不同。對(duì)不同回歸測(cè)試選擇方法的實(shí)證研究和分析在文獻(xiàn)[4]中提出,加上對(duì)不同行為的識(shí)別需求。

本文著重研究如何為P′選擇一種相關(guān)的測(cè)試用例子集,又叫做回歸測(cè)試選擇問(wèn)題,描述一種回歸測(cè)試選擇方法,它是在軟件架構(gòu)層面上而不是在代碼層面上。換句話說(shuō),用選擇架構(gòu)化的層面測(cè)試用例代替選擇代碼層面的測(cè)試用例。

4 基于軟件架構(gòu)的回歸測(cè)試

基于軟件架構(gòu)的回歸測(cè)試包含以下兩個(gè)階段:(1) 基于軟件架構(gòu)的測(cè)試。特別地,應(yīng)用一種基于軟件架構(gòu)的一致性測(cè)試方法。(2) 基于軟件架構(gòu)的回歸測(cè)試選擇。這個(gè)階段被分解以滿足目的1和目的2。

圖1總結(jié)了基于軟件架構(gòu)一致性和回歸測(cè)試所需要的行為。本文主要研究基于軟件架構(gòu)的回歸測(cè)試。

4.1 基于軟件架構(gòu)的一致性測(cè)試

這項(xiàng)工作是基于軟件架構(gòu)一致性測(cè)試的一般框架的,目的是測(cè)試已給出的軟件架構(gòu)實(shí)施的一致性。

這個(gè)框架分為5個(gè)步驟,如圖1中間的部分所示。

第0步:它開(kāi)始于軟件架構(gòu)規(guī)范的拓?fù)鋵W(xué)和行為學(xué),這里的行為通過(guò)一種基于機(jī)器的形式體系狀態(tài)來(lái)模仿。下面,利用標(biāo)簽的過(guò)渡(LTS)來(lái)模仿組件的行為。

第1步:提出了一個(gè)通過(guò)觀測(cè)得到的方法為了實(shí)現(xiàn)一種測(cè)試標(biāo)準(zhǔn),這種標(biāo)準(zhǔn)來(lái)源于與測(cè)試目的相關(guān)視角在軟件架構(gòu)中,而是把無(wú)關(guān)的行為從這個(gè)視角中隱藏起來(lái)。標(biāo)簽的過(guò)渡(LTS)模型被提取出來(lái),就產(chǎn)生了一種抽象標(biāo)簽的過(guò)渡(ALTS),用來(lái)說(shuō)明只有這樣高層的行為/組件是需要測(cè)試的。

第2步:一種基于架構(gòu)層面的測(cè)試用例(ATC)以架構(gòu)事件的有序序列被定義了,這種事件是當(dāng)一個(gè)確定的初始事件執(zhí)行的時(shí)候期望發(fā)生的架構(gòu)事件。此定義分解為兩個(gè)關(guān)鍵詞:行為序列,它代表了所期望的行為和初始事件,它是允許發(fā)生的結(jié)構(gòu)化輸入。獲得一個(gè)ATCs充分集合需要得到一個(gè)合適的包含了ALTS完整路徑的集合[5]。

第3步:自然地,這樣的ATCs與可執(zhí)行的代碼層面測(cè)試用例截然不同,因?yàn)樵谲浖軜?gòu)和代碼之間的差距。處理這個(gè)問(wèn)題通過(guò)一種“繪圖”方法,它能夠?qū)④浖用婧瘮?shù)的測(cè)試轉(zhuǎn)化為代碼層面測(cè)試用例。

第4步:最后,代碼運(yùn)行在可識(shí)別的測(cè)試用例上。通過(guò)分析執(zhí)行的蹤跡來(lái)決定系統(tǒng)在所選擇的結(jié)構(gòu)測(cè)試中實(shí)施得是否正確,采用結(jié)構(gòu)化的模型作為一種測(cè)試數(shù)據(jù)庫(kù)來(lái)識(shí)別代碼用例成功或失敗。

這樣的方法已經(jīng)得到公認(rèn),但是重復(fù)的測(cè)試行為對(duì)于系統(tǒng)的發(fā)展而言無(wú)疑花銷(xiāo)太大了,因此需要以更少花銷(xiāo)開(kāi)發(fā)一種基于軟件架構(gòu)的測(cè)試方法。本文提出一種方法來(lái)處理系統(tǒng)的發(fā)展,重復(fù)使用原始的測(cè)試結(jié)果來(lái)重新測(cè)試已修改的結(jié)構(gòu)并以更少的花銷(xiāo)來(lái)完成。

4.2 目的1:測(cè)試對(duì)于初始軟件架構(gòu)P′的一致性

讓假設(shè)基于軟件架構(gòu)一致性的測(cè)試已經(jīng)提出P符合已給出的軟件架構(gòu)的一致性。當(dāng)P進(jìn)化到P′之后,如何來(lái)測(cè)試P′對(duì)于相同架構(gòu)的一致性。采用的方法是將基于軟件架構(gòu)測(cè)試方法和現(xiàn)存的基于代碼的回歸測(cè)試方法相融合的。通過(guò)一種行為圖表,代碼層面的回歸測(cè)試能夠與基于軟件層面的一致性測(cè)試相融合來(lái)選擇一個(gè)新的測(cè)試套組T′:

A: 產(chǎn)生圖表P,大多數(shù)普通的用于代碼回歸測(cè)試的方法是為了通過(guò)圖表來(lái)結(jié)構(gòu)化地表達(dá)P。在修改之后,P′也被描述成一張圖表。在軟件架構(gòu)中,圖表也通過(guò)組合成分行為的LTS模型來(lái)獲得,同時(shí)在結(jié)構(gòu)中結(jié)構(gòu)化那些成分組織。

B:把GP和GP′相比較,在基于回歸測(cè)試的傳統(tǒng)代碼中,通過(guò)比較P和P′的代碼圖表,識(shí)別代碼的改變?cè)鯓佑绊懙綀D表中。在軟件架構(gòu)中,這種改變根據(jù)在LTS中節(jié)點(diǎn)和邊來(lái)識(shí)別。

C:記錄覆蓋范圍,通過(guò)測(cè)試用例的執(zhí)行測(cè)試歷史記錄被構(gòu)建出來(lái)。通過(guò)測(cè)試用例在P上執(zhí)行代碼的過(guò)程,記錄一連串的節(jié)點(diǎn)/電弧。

D:測(cè)試用例選擇P′。從測(cè)試歷史和圖表比較中積累的信息被應(yīng)用于識(shí)別將要在P′中再次運(yùn)行的T中的測(cè)試用例。如果在t∈T中P的執(zhí)行包含了在P′中修改的節(jié)點(diǎn),那么t需要在P′中重新運(yùn)行。

一旦T′被選擇了,t′∈T′就在P′中運(yùn)行并把結(jié)果收集起來(lái),然后和一種數(shù)據(jù)庫(kù)相比較來(lái)確定測(cè)試是失敗還是成功。與基于傳統(tǒng)代碼方法的一種主要的區(qū)別是,在基于軟件架構(gòu)回歸測(cè)試的數(shù)據(jù)庫(kù)是軟件結(jié)構(gòu)自己本身。事實(shí)上,當(dāng)t′在P′中運(yùn)行的時(shí)候,如果它的執(zhí)行不允許所期望的情況再次出現(xiàn),那么測(cè)試會(huì)失敗。更多情況,代碼層面的測(cè)試用例總是被形式化的函數(shù)和結(jié)構(gòu)化的需求驅(qū)動(dòng)得很好。

期望從這個(gè)方法中得到的好處有兩層:(1) 作為傳統(tǒng)的回歸測(cè)試,為P′減少了測(cè)試套組的規(guī)模,剪掉了所有在P′中不需要被再次應(yīng)用的那些測(cè)試。(2) 當(dāng)發(fā)現(xiàn)了一致性錯(cuò)誤的時(shí)候,能夠搜集關(guān)于如何來(lái)適應(yīng)初始架構(gòu)的信息。

4.3 目的2:測(cè)試進(jìn)化得到的架構(gòu)的一致性

讓再次假設(shè)基于軟件架構(gòu)一致性測(cè)試已經(jīng)聲明了P的實(shí)施應(yīng)符合已給出的軟件架構(gòu)。采用的方法是根據(jù)比較兩者的架構(gòu)的規(guī)范來(lái)識(shí)別軟件結(jié)構(gòu)改變/未改變的位置。結(jié)構(gòu)和行為的改變都被考慮在內(nèi)。特別的,對(duì)于S和S″的LTSs被比較之后的區(qū)別通過(guò)兩張圖表(利用一種“diff”算法)來(lái)識(shí)別。在一次與基于回歸測(cè)試傳統(tǒng)代碼相似的改革中,無(wú)論什么時(shí)候一個(gè)ATC在S″中被修改的LTS軟件架構(gòu)中遍歷一次的時(shí)候,它需要在S″中重新測(cè)試。圖1(最左邊)總結(jié)了目的2如何通過(guò)不同的行為被意識(shí)到。

a: 新的軟件架構(gòu)規(guī)則。演變的系統(tǒng)S″被結(jié)構(gòu)化的規(guī)則提出。

b: 測(cè)試標(biāo)準(zhǔn)。測(cè)試標(biāo)準(zhǔn)(之前應(yīng)用在S中)被用在S″上。

c: 比較。架構(gòu)的規(guī)則與識(shí)別出的拓?fù)涓淖兿啾容^(也就是增加的/刪除的組件或修改的配置)和行為的改變(也就是經(jīng)過(guò)改變的部件)

d:為S″選擇結(jié)構(gòu)化的測(cè)試用例。那些來(lái)自于軟件架構(gòu)的被結(jié)構(gòu)的改變影響的ATCs被選擇在P″上重新測(cè)試,為了S″的實(shí)施。注意到任何在這步丟棄的ATC都可以代表很多被消除的代碼層面的測(cè)試用例,因此很大程度上減少了重復(fù)測(cè)試的花銷(xiāo)。

e: 識(shí)別代碼層面測(cè)試用例。一旦已經(jīng)識(shí)別了需要用在S″中的回歸測(cè)試ATCs,為了S″需要把架構(gòu)的測(cè)試用例轉(zhuǎn)化到代碼層面的測(cè)試用例,以便為了P″選擇T″。這一步類(lèi)似于在第三步中基于軟件架構(gòu)的測(cè)試。

f: 測(cè)試執(zhí)行。在T″已經(jīng)被S″選擇之后,需要在P″中運(yùn)行T″然后評(píng)估執(zhí)行基于軟件架構(gòu)回歸測(cè)試的結(jié)果。這一步跟第四步中基于軟件架構(gòu)的測(cè)試很相似。

主站蜘蛛池模板: 亚洲美女操| 波多野结衣视频一区二区 | 亚洲无码日韩一区| 精品国产成人三级在线观看| 国产正在播放| 亚洲欧美不卡| 97免费在线观看视频| 又爽又大又黄a级毛片在线视频| 日韩不卡免费视频| 色综合婷婷| 国产高清在线精品一区二区三区| 2021天堂在线亚洲精品专区| 日本少妇又色又爽又高潮| 国产一区二区网站| 71pao成人国产永久免费视频| 免费全部高H视频无码无遮掩| 亚洲一区二区三区香蕉| 91外围女在线观看| 五月天福利视频| 精品撒尿视频一区二区三区| 国产三级精品三级在线观看| 久夜色精品国产噜噜| 国产91精品久久| 国产美女91视频| 91美女视频在线观看| 亚洲第一天堂无码专区| 91娇喘视频| 国产免费好大好硬视频| 久久久久国色AV免费观看性色| 四虎永久免费地址| 伊人成色综合网| 制服无码网站| 国产1区2区在线观看| 99资源在线| 亚洲日韩图片专区第1页| 日本三级黄在线观看| 国产91丝袜| 亚洲精品第一在线观看视频| 三级毛片在线播放| 亚洲精品国产精品乱码不卞| 丁香五月婷婷激情基地| 国产菊爆视频在线观看| 亚洲日本韩在线观看| 亚洲第一精品福利| 国产精品欧美亚洲韩国日本不卡| 国产不卡国语在线| 国产精品久久久久久影院| 亚洲午夜福利在线| 久久人人97超碰人人澡爱香蕉| 亚洲第一成人在线| 一区二区三区四区精品视频 | 怡红院美国分院一区二区| 国产一区三区二区中文在线| 亚洲天堂日韩在线| 亚洲开心婷婷中文字幕| 91毛片网| 日本高清成本人视频一区| 亚洲欧美自拍中文| 亚洲欧美成人网| 久久综合丝袜长腿丝袜| 久久亚洲美女精品国产精品| 欧美精品成人| 国产91小视频在线观看| 久久精品66| 人妻精品久久无码区| 啦啦啦网站在线观看a毛片| 欧美a级完整在线观看| 国产色婷婷| 91色在线观看| 九九热视频在线免费观看| 伊人久久婷婷| 国产成人艳妇AA视频在线| 欧美亚洲国产日韩电影在线| 蝌蚪国产精品视频第一页| 久久永久视频| 孕妇高潮太爽了在线观看免费| 免费看美女毛片| 亚洲精品在线影院| 久久久久亚洲av成人网人人软件| 在线无码av一区二区三区| 在线播放精品一区二区啪视频| 久久夜色精品国产嚕嚕亚洲av|