freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于活動圖的回歸測試方法研究碩士畢業(yè)論文(編輯修改稿)

2024-07-21 15:52 本頁面
 

【文章內(nèi)容簡介】 務(wù)建模,對象建模,組件建模。UML作為一種模型語言,它使開發(fā)人員專注于建立產(chǎn)品的模型和結(jié)構(gòu),而不是選用什么程序語言和算法實(shí)現(xiàn)。當(dāng)模型建立之后,模型可以被UML工具轉(zhuǎn)化成指定的程序語言代碼。UML活動圖是UML語言中描述系統(tǒng)動態(tài)行為的一種方法,它廣泛地運(yùn)用于業(yè)務(wù)建模。它描述活動的順序,展現(xiàn)從一個(gè)活動到另一個(gè)活動的控制流?;顒訄D在本質(zhì)上是一種流程圖?;顒訄D的應(yīng)用非常廣泛,它既可以用來描述操作(類的方法)的行為,也可以描述用例和對象內(nèi)部的工作過程?;顒訄D是由狀態(tài)圖變化而來的,他們各自用于不同的目的?;顒訄D中一個(gè)活動結(jié)束后立即進(jìn)入下一個(gè)活動。活動圖用途及優(yōu)缺點(diǎn):活動圖用于對系統(tǒng)的動態(tài)行為建模,它是系統(tǒng)行為狀態(tài)的一種可視化形式。另一種可視化形式是狀態(tài)圖?;顒訄D描述了從活動到活動的流,活動是狀態(tài)機(jī)中進(jìn)行的非原子操作。活動圖實(shí)際上是狀態(tài)圖的特殊形式,它的每個(gè)狀態(tài)都有入口動作,用以說明進(jìn)入該狀態(tài)發(fā)生的操作。優(yōu)點(diǎn):最適合支持并行行為,而且也是支持多線程編程的有力工具。缺點(diǎn):很難清楚地描述動作與對象之間的關(guān)系?;顒訄D有很多作用:1. 分析用例:在項(xiàng)目中,我們需要理解什么行為會發(fā)生,按照什么順序發(fā)生等等。2. 理解工作流:即使我們在深入了解用例前,我們可以協(xié)同商業(yè)專家畫出活動圖,理解業(yè)務(wù)流程及其如何變化的。3. 描述一個(gè)復(fù)雜的連續(xù)的運(yùn)算法則4. 處理多線程應(yīng)用:活動圖有一系列的元素去描述多線程應(yīng)用的系統(tǒng)行為。許多公司,比如IBM公司多年前就開始在系統(tǒng)設(shè)計(jì)中使用活動圖。它是描述系統(tǒng)行為和工作流的很有力工具。許多研究人員錯誤理解活動圖的概念,覺得它僅僅就是一個(gè)控制流圖(Control Flow Graph(CFG))。但是實(shí)際上,活動圖不僅僅是控制流圖。有如下兩個(gè)原因:1. 活動圖可以用來表達(dá)控制流和數(shù)據(jù)流,但是CFG僅僅可以用來表達(dá)控制流。2. 活動圖可以用來表達(dá)大型系統(tǒng),而CFG不能表達(dá)大型系統(tǒng)。在我們的研究中,我們使用活動圖來詳細(xì)描述系統(tǒng)的需求,以達(dá)到回歸分析的目的。因?yàn)樵诿嫦驅(qū)ο箝_發(fā)過程中,需求分析和設(shè)計(jì)工作有時(shí)候相互混合在一起,所以活動圖,作為分析和設(shè)計(jì)階段的成果,可以比最原始的需求包含更多的信息。 活動圖的元素一個(gè)活動圖的核心標(biāo)志是活動狀態(tài)或者說是簡單的活動。一個(gè)活動就是做某個(gè)事情的狀態(tài)。它可以是真實(shí)的過程,比如打印一個(gè)字母,或者是執(zhí)行一個(gè)軟件程序,比如是執(zhí)行一個(gè)類的方法[26]。一個(gè)活動圖可能包括以下元素:1. 活動(Activity):由人或者軟件系統(tǒng)做的一個(gè)任務(wù)。在活動圖中,同步線程也可以被叫做同步活動(Synch Activity)。2. 子活動(Subactivity):就是一個(gè)活動下來可以有幾個(gè)同步的進(jìn)程,每個(gè)進(jìn)程叫做子活動。3. 起點(diǎn)(Start Marker):活動圖的人口(最開始的狀態(tài))。每個(gè)活動圖只有一個(gè)起點(diǎn)。4. 終點(diǎn)(Stop Marker):標(biāo)志活動圖的出口(最終的狀態(tài))。每個(gè)活動圖只有一個(gè)終點(diǎn)。5. 決策點(diǎn)(Decision Point):通過條件來判定該走那條分支6. 同步示意條(Synchronization Bar):同步示意條是用于顯示平行分支流。同步示意條能夠顯示業(yè)務(wù)用例的工作流程中的并行線程。7. 信號發(fā)射(Signal Sender):當(dāng)前面的活動終止,指定的信號發(fā)射。8. 信號接收(Signal Receiver):當(dāng)信號被接收,后續(xù)的活動才能被激活。9. 轉(zhuǎn)移(Transition):表示各種活動狀態(tài)的先后順序。這種轉(zhuǎn)移可稱為完成轉(zhuǎn)移。它不同于一般的轉(zhuǎn)移,因?yàn)樗恍枰黠@的觸發(fā)器事件,而是通過完成活動(用活動狀態(tài)表示)來觸發(fā)。10. 防衛(wèi)條件(Guard Condition):防衛(wèi)條件可以在轉(zhuǎn)移上指定,以限制該轉(zhuǎn)移的使用。將條件放在轉(zhuǎn)移箭頭附近的方框中。在你可以遵循相關(guān)的轉(zhuǎn)移進(jìn)入下一個(gè)活動前,該條件的測試必須為真。11. 對象(Object):對象是系統(tǒng)中相互關(guān)系的參與者。對象可能是一個(gè)組件,一個(gè)子系統(tǒng),也可能是外面系統(tǒng)的接口。12. 信息(Message):一些發(fā)送到對象的或者從對象中發(fā)出的信息。13. 泳道和時(shí)標(biāo):活動圖中泳道區(qū)分了其中活動的不同職責(zé),在泳道圖中,每一個(gè)活動都只能明確地屬于一個(gè)泳道。泳道和時(shí)標(biāo)相組合的方法:橫向按時(shí)標(biāo)分組;縱向按泳道分組?;顒訄D主要元素的圖標(biāo)列在表31中。 活動圖的標(biāo)識活動圖描述活動的先后順序。這種技術(shù)對于熟悉軟件開發(fā)和測試的人員來說同流程圖非常相似。可以被用來描述系統(tǒng)運(yùn)行中的基本流,備選流和額外流?;顒訄D既支持條件行為,也支持并行行為:1. 條件行為用分支(Branch)和融合(Merge)表示1) 分支:一個(gè)分支有一個(gè)單獨(dú)的進(jìn)來的轉(zhuǎn)移和幾個(gè)出來的轉(zhuǎn)移。用If/Else條件來控制分支的進(jìn)行。2) 融合:一個(gè)融合有多個(gè)進(jìn)入的轉(zhuǎn)移和一個(gè)出來的轉(zhuǎn)移。它標(biāo)志著用分支標(biāo)識的條件行為的結(jié)束。2. 并行行為用分叉(Fork)和會和(Join)表示1) 分叉:一個(gè)分叉有一個(gè)進(jìn)入的轉(zhuǎn)移和幾個(gè)出來的轉(zhuǎn)移。當(dāng)這個(gè)進(jìn)來的轉(zhuǎn)移被觸發(fā),所有的出來的轉(zhuǎn)移都并發(fā)進(jìn)行。2) 會和:一個(gè)回合有多個(gè)進(jìn)去的轉(zhuǎn)移和一個(gè)出來的轉(zhuǎn)移。只有當(dāng)所有的進(jìn)去的轉(zhuǎn)移都完成他們的行為,出來的轉(zhuǎn)移才會進(jìn)行。圖31是一個(gè)簡單的活動圖的例子。描述的是航空公司的一個(gè)簡單的訂票系統(tǒng)的系統(tǒng)行為。實(shí)心圓表示活動圖的起點(diǎn),實(shí)際上是一個(gè)占位符,帶邊框的實(shí)心圓表示終點(diǎn)。 圓角矩形表示執(zhí)行的過程或活動。菱形表示判定點(diǎn),雖然在此示例中判定點(diǎn)只有兩種可能結(jié)果;但即使有更多可能結(jié)果,它也同樣容易。箭頭表示活動之間的轉(zhuǎn)換,各種活動之間的流動次序。 箭頭上的文字表示繼續(xù)轉(zhuǎn)換所必須滿足的條件,總是使用格式“[條件]”來描述。粗線條表示可能會并行進(jìn)行的過程的開始和結(jié)束。 活動圖例子在這個(gè)例子中,消費(fèi)者可以用已經(jīng)存在的系統(tǒng)賬戶預(yù)定機(jī)票,也可以在沒有系統(tǒng)賬戶的情況下單獨(dú)定票。如圖31所示,在收到訂單后,下面是一個(gè)分支。如果這個(gè)訂單是個(gè)預(yù)定,系統(tǒng)會根據(jù)消費(fèi)者的賬戶信息找到指定銀行賬號,用這個(gè)銀行賬號支付相應(yīng)的訂單的數(shù)額,同時(shí)會在這個(gè)賬戶上增加獎勵的點(diǎn)數(shù)。如果是個(gè)無賬戶的單獨(dú)的訂票,會隨著訂單出來需要支付的信息,客戶再去支付。在預(yù)定過程中,系統(tǒng)會并行處理支付和獎勵點(diǎn)數(shù)的行為。因此,這是個(gè)同步行為,就是fork。下面是一個(gè)join。郵件系統(tǒng)是預(yù)定和單獨(dú)訂單后的共同行為,當(dāng)消費(fèi)者填完訂單后都會到郵件系統(tǒng)。這里就是一個(gè)融合(Merge)。因?yàn)橄到y(tǒng)必須跟蹤沒一個(gè)訂單,所以消息就被發(fā)送到對象Log File中。UML 活動圖記錄單個(gè)操作或方法的邏輯、單個(gè)用例或商業(yè)過程的邏輯流程。在很多方面,活動圖是結(jié)構(gòu)化開發(fā)中流程圖和數(shù)據(jù)流程圖 (DFD) 的面向?qū)ο蟮韧w。 活動圖和測試用例關(guān)系在基于需求規(guī)范說明的測試中,測試用例是基于需求規(guī)范說明設(shè)計(jì)出來的,而需求規(guī)范說明是需求分析和設(shè)計(jì)階段的成果。作為需求和設(shè)計(jì)文檔的一部分,活動圖給開發(fā)人員詳細(xì)的設(shè)計(jì)和實(shí)施信息,同時(shí)給測試人員提供基于規(guī)范說明的測試用例的準(zhǔn)備材料。在我們的研究當(dāng)中,我們主要關(guān)注的是活動圖和測試用例之間的關(guān)系,而且我們利用這種關(guān)系到回歸測試選擇中。一個(gè)圖可以通過兩個(gè)簡單的結(jié)構(gòu)來表現(xiàn)對象間的關(guān)系:節(jié)點(diǎn)和邊界。節(jié)點(diǎn)通過邊界連接其他節(jié)點(diǎn)。一個(gè)圖的節(jié)點(diǎn)和邊界表達(dá)一種關(guān)系,這是另外一種簡單但有力的數(shù)學(xué)概念?;顒訄D可以看成這么一種圖,它可以表達(dá)許多東西,尤其是控制流關(guān)系,因此也為設(shè)計(jì)測試提供豐富的信息。在我們的研究中,活動圖的元素可以分成節(jié)點(diǎn)和邊界兩類。1. 節(jié)點(diǎn)(Nodes):在活動圖中,一個(gè)節(jié)點(diǎn)用一個(gè)圓角矩形表示。一個(gè)節(jié)點(diǎn)可能連接到其他圖形元素也可能是單獨(dú)的。在活動圖中的標(biāo)記:起點(diǎn)和終點(diǎn),活動,決策點(diǎn),同步條,對象,信號發(fā)送,信號接收。2. 邊界(Edges):在節(jié)點(diǎn)間的抽象的連接。在活動圖中的標(biāo)記:轉(zhuǎn)移和消息當(dāng)要準(zhǔn)備基于需求規(guī)范說明的測試用例時(shí),我們要么基于活動圖進(jìn)行設(shè)計(jì),要么基于需求的文檔。在這章中,我們假定我們的測試用例都是基于活動圖來設(shè)計(jì)的。 每個(gè)測試用例設(shè)計(jì)出來都是有一定得測試目的。一個(gè)測試目的可能與控制流,數(shù)據(jù)流相關(guān)?;诨顒訄D設(shè)計(jì)測試用例,我們就可以通過圖中特定的活動或路徑來表示一定得功能。圖形化工具的使用,我們可以很直觀地了解整個(gè)系統(tǒng)的運(yùn)行情況。在一個(gè)圖中,我們可以看到很多路徑,每個(gè)測試目的對應(yīng)一條路徑?;谔囟康牡臏y試用例可能會覆蓋到同一條路徑,但是可能會產(chǎn)生不同的測試數(shù)據(jù)。在設(shè)計(jì)測試用例時(shí),我們總是應(yīng)用一個(gè)或多個(gè)測試策略,定義合適的測試覆蓋標(biāo)準(zhǔn)。一個(gè)測試覆蓋標(biāo)準(zhǔn)是軟件測試完整性的衡量標(biāo)準(zhǔn)。Binder 總結(jié)了對應(yīng)每一個(gè)UML 圖的測試策略,提供了完整的供參考的UML 圖和測試設(shè)計(jì)步驟[7]。我們在本文中不討論基于活動圖的測試用例設(shè)計(jì)過程。 簡化復(fù)雜的活動圖在一個(gè)程序流程中,有時(shí)會有很多并行的行為,會導(dǎo)致路徑太多,所以我們引入同步行為的概念,來簡化復(fù)雜的活動圖,以便于以后的測試用例選擇。同步行為是存在于同步配對之間的行為,同步配對是指一個(gè)fork,一個(gè)Join。圖32中的虛線框表示的是圖31中系統(tǒng)中的同步行為。為了識別這些路徑,我們在圖中標(biāo)識了所有節(jié)點(diǎn)。邊界可以用下面的表示方法:Edge = (S, D)S 表示這個(gè)Edge來自哪個(gè)節(jié)點(diǎn),D 表示這個(gè)節(jié)點(diǎn)的目的地。對于同步行為,一旦系統(tǒng)到達(dá)同步fork的時(shí)候,所有在fork和它對應(yīng)的join之間的行為都在同步進(jìn)行,直到下一個(gè)出來的行為被激發(fā)。這些同步線程執(zhí)行是由在執(zhí)行的系統(tǒng)控制。所以在執(zhí)行虛線盒里面的測試用例總是執(zhí)行盒內(nèi)所有的行為,不受測試人員的控制。測試人員通常采用“/”表示同步行為。例如在這個(gè)例子中,我們使用a,bc / d, e來表示這個(gè)過程的路徑。因?yàn)樵谔摼€框中的部分是不受控制的,所以最好的一個(gè)方法是將整個(gè)虛線框中的部分當(dāng)成一個(gè)節(jié)點(diǎn)(node)。我們將這種框叫做同步框(Synchronization Box)。圖33是一個(gè)活動圖,這個(gè)活動圖描述的是一個(gè)外匯系統(tǒng)里的一個(gè)查詢報(bào)價(jià)功能塊。我們用它來進(jìn)行基于活動圖的測試用例設(shè)計(jì),回歸分析和測試。這是個(gè)在線外匯交易系統(tǒng)。這個(gè)系統(tǒng)幫助用戶去進(jìn)行加拿大元和美元之間的交換。這個(gè)活動圖描述的是這個(gè)交換系統(tǒng)從多個(gè)銀行取得當(dāng)前匯率的值。先發(fā)請求,圖中我們可以看到同步發(fā)了3個(gè)請求到3個(gè)銀行。我們將這幾個(gè)請求定義為3個(gè)節(jié)點(diǎn)(node):d1 , d2 , d3 。 同步行為當(dāng)我們使用同步框d 去表示當(dāng)前的3個(gè)同步線程(d1 , d2 , d3)。那么活動圖33就簡化成了圖34。 基于活動圖設(shè)計(jì)測試用例在我們的例子中,我們基于圖34設(shè)計(jì)了5個(gè)測試用例,都列在表32中。在測試集中,每個(gè)測試用例都對應(yīng)一個(gè)從起點(diǎn)到終點(diǎn)的路徑,都測試一個(gè)特定的系統(tǒng)功能。這個(gè)測試集覆蓋了圖中所有的node 和 edge,滿足了我們基于規(guī)范說明的測試覆蓋標(biāo)準(zhǔn),我們稱之為節(jié)點(diǎn)和邊界覆蓋標(biāo)準(zhǔn)。 建立基于活動圖的需求可追溯性我們已經(jīng)詳細(xì)討論了在回歸分析和測試中需求的可追溯性的所處的角色,上節(jié)還詳細(xì)描述了活動圖。在本節(jié)中,我們提供了基于活動圖,獲取需求可追溯性的方法。 一個(gè)取得匯率報(bào)價(jià)的模塊的活動圖 簡化后的活動圖 從圖34得來的滿足節(jié)點(diǎn)和邊界覆蓋標(biāo)準(zhǔn)的測試集Test CasePatht1a, b, c, d, e, f, g, h, it2a, b, c, d, e, j, k, e, f, g, h, it3a, b, c, d, e, j, k, e, j, f, g, h, it4a, b, c, d, e, j, k, e, j, e, k, e, f, g, h, it5a, b, c, l, m 需求測試,設(shè)計(jì)測試和活動圖在開發(fā)的不同階段,我們可以用不同的標(biāo)識來表示系統(tǒng)的不同階段。在我們的方法中,我們使用活動圖來表示理想的系統(tǒng)行為。 需求測試需求分析的目的是準(zhǔn)確地,清楚地定義要解決的問題。因此,需求測試的目標(biāo)是驗(yàn)證每個(gè)分析階段的結(jié)果。測試需求包括下面3個(gè)方面的基本問題[27]:1. 正確性:需求必須清楚地表達(dá)客戶的真實(shí)意愿。分析需求必須確保不會有歧義的單詞出現(xiàn)在需求文檔。需求的正確性是系統(tǒng)設(shè)計(jì)的基本前提。2. 完整性:需求必須滿足客戶的所有希望的需求,當(dāng)然不能超出條件許可范圍。3. 一致性:一個(gè)很普遍的情況是在需求中會出現(xiàn)很多先后沖突的需求,或者是冗余的需求。這些不一致的需求和冗余的需求在需求測試階段必須就被抓出來,并被消除,避免后續(xù)的系統(tǒng)設(shè)計(jì)階段的問題。需求測試最主要的可接受的標(biāo)準(zhǔn)是用戶滿意度。但是,需求必須符合項(xiàng)目開發(fā)時(shí)間和預(yù)算的要求。一旦客戶同意這個(gè)需求,就到了設(shè)計(jì)階段。 設(shè)計(jì)測試在系統(tǒng)設(shè)計(jì)階段,設(shè)計(jì)人員要嘗試找出解決在需求階段提出的問題。他們的目標(biāo)是使用一系列的工具和語言產(chǎn)生一個(gè)完整的系統(tǒng)規(guī)范說明。設(shè)計(jì)階段是需求分析階段的后續(xù)階段,將需求的要求完整地轉(zhuǎn)換成一個(gè)完整的計(jì)劃,以進(jìn)行后續(xù)的實(shí)施階段。基于設(shè)計(jì)階段的成果,有5個(gè)主要的目標(biāo)需要測試[27]:1. 一致性:非一致性的設(shè)計(jì)是后續(xù)階段主要的錯誤來源,會成為軟件維護(hù)階段的噩夢。因此,測試設(shè)計(jì)的第一個(gè)目標(biāo)是消除非一致性。2. 完整性:一個(gè)好的設(shè)計(jì)的重要特征是提供一個(gè)完整的解決方案解決所有問題。在設(shè)計(jì)測試階段,測試人員必須保證設(shè)計(jì)不僅符合需求的功能性,還要符合需求的性能要求。3. 適用性:對于一個(gè)項(xiàng)目來說,時(shí)間和預(yù)算總是有限的。一個(gè)好的設(shè)計(jì)必須可以在有限的時(shí)間和預(yù)算中實(shí)施。4. 正確性:設(shè)計(jì)中必須解決這個(gè)問題。就是說輸入和輸出結(jié)果是正確的。5. 可跟蹤性:我們必須說明可跟蹤性是保證軟件質(zhì)量的重要性。設(shè)計(jì)的可跟蹤性同樣是一個(gè)項(xiàng)目的可跟蹤性中的重要組成部分。為了測試可跟蹤性,測試人員必須找到設(shè)計(jì)階段的前后關(guān)聯(lián)。設(shè)計(jì)一個(gè)面向?qū)ο蟮能浖到y(tǒng)在系統(tǒng)發(fā)布前都不會完結(jié)。在進(jìn)行下一個(gè)階段之前,必須達(dá)到下面兩個(gè)方面的標(biāo)準(zhǔn):1. 開發(fā)團(tuán)隊(duì)必須有足夠的信心根據(jù)設(shè)計(jì)的架構(gòu)將系統(tǒng)開發(fā)出來,同時(shí)要充分考慮到存在的風(fēng)險(xiǎn)。2. 測試團(tuán)隊(duì)必須有足夠的信心設(shè)計(jì)的測
點(diǎn)擊復(fù)制文檔內(nèi)容
化學(xué)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1