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

基于工作流的場(chǎng)景測(cè)試建模方法研究

2015-06-20 05:34:06張冬玲
電子測(cè)試 2015年16期

張冬玲

(中山大學(xué)新華學(xué)院,廣州廣東,510663)

0 引言

軟件測(cè)試是軟件質(zhì)量的重要保障,是軟件工程項(xiàng)目中的重要活動(dòng)。現(xiàn)在軟件開發(fā)的主流技術(shù)是面向?qū)ο蠛鸵苿?dòng)互聯(lián),大多數(shù)的軟件系統(tǒng)采用MVC設(shè)計(jì)架構(gòu),用事件觸發(fā)來控制程序流程已成為軟件系統(tǒng)的主要操作方式。基于場(chǎng)景的測(cè)試已經(jīng)成為一種普遍使用技術(shù)。

在軟件運(yùn)行中,其功能都由事件觸發(fā)控制。不同的事件觸發(fā),同一事件的不同觸發(fā)順序,便形成不同場(chǎng)景[1]。根據(jù)不同的場(chǎng)景來設(shè)計(jì)測(cè)試用例,有利于測(cè)試用例容易被理解和執(zhí)行,提高測(cè)試的有效性[2]。

1 場(chǎng)景測(cè)試方法

場(chǎng)景(Scene)是事件流的一個(gè)實(shí)例,由基本流或基本流加備選流的步驟組成。對(duì)于交互式程序,場(chǎng)景定義為可以獨(dú)立運(yùn)行的操作活動(dòng),表明用戶執(zhí)行系統(tǒng)的操作序列。原本,使用場(chǎng)景分析法是用來進(jìn)行軟件需求設(shè)計(jì)的,Rational公司將場(chǎng)景的思想引入到軟件測(cè)試中,可以非常有效地實(shí)現(xiàn)對(duì)軟件的測(cè)試。

1.1 場(chǎng)景流的組成

基本流(Basic Flow),是經(jīng)過用例的最簡單的路徑,指每個(gè)步驟都“正常”運(yùn)作時(shí)所發(fā)生的事情。在一個(gè)業(yè)務(wù)中只有一個(gè)基本流。

備選流(Alternative Flow),描述可選的或備選的情況,或異常事件流程。在一個(gè)業(yè)務(wù)中可以有多個(gè)。

每個(gè)備選流都源自基本流程,或另一個(gè)備選流,且備選流程是在某個(gè)特定條件下觸發(fā)執(zhí)行的。場(chǎng)景可以遍歷所有從用例開始到結(jié)束的包含基本流和備選流的路徑,如圖1所示。其中,用○表示測(cè)試起始結(jié)點(diǎn),用●表示測(cè)試路徑的終止結(jié)點(diǎn),BF為基本流,AF1、AF2、AF3、AF4分別為備選流1至備選流4。根據(jù)此圖可以構(gòu)建如下8個(gè)基本的場(chǎng)景:

場(chǎng)景1:BF;

場(chǎng)景2:BF-AF1;

場(chǎng)景3:BF-AF1-AF2;

場(chǎng)景4:BF-AF3;

場(chǎng)景5:BF-AF3-AF1;

場(chǎng)景6:BF-AF3-AF1-AF2;場(chǎng)景7:BF-AF4;

場(chǎng)景8:BF-AF3-AF4。

圖1 場(chǎng)景流圖

在上面的場(chǎng)景4、5、6、8中,備選流3(AF3)都只考慮經(jīng)過一次。從測(cè)試覆蓋的原則來看,這8個(gè)場(chǎng)景即可滿足測(cè)試的完備性和無冗余性要求[3]。

選取典型基本場(chǎng)景的原則如下:

1) 最少場(chǎng)景數(shù)等于基本流與備選流的總數(shù);

2) 有且僅有一個(gè)場(chǎng)景僅包含基本流;

3) 對(duì)應(yīng)某個(gè)備選流,至少應(yīng)有一個(gè)場(chǎng)景覆蓋備選流,且在該場(chǎng)景中應(yīng)盡量避免覆蓋其他的備選流。

1.2 場(chǎng)景測(cè)試模型

場(chǎng)景建模是場(chǎng)景測(cè)試最基本的過程,通過模擬被測(cè)軟件中所有可能存在的業(yè)務(wù)來創(chuàng)建場(chǎng)景的過程[4]。場(chǎng)景測(cè)試模型包含兩部分:一是測(cè)試路徑,二是測(cè)試數(shù)據(jù)[5]。

1) 測(cè)試路徑

在測(cè)試場(chǎng)景流圖的基礎(chǔ)上,從業(yè)務(wù)流的入口出發(fā),到出口結(jié)束,遍歷所有的基礎(chǔ)流和備選流,生成的互相獨(dú)立的測(cè)試路徑,稱為測(cè)試路徑。

2) 測(cè)試數(shù)據(jù)

每一個(gè)測(cè)試場(chǎng)景包含多個(gè)測(cè)試用例,場(chǎng)景在測(cè)試中的重要程度確定其測(cè)試強(qiáng)度。測(cè)試強(qiáng)度越高,測(cè)試用例的數(shù)量就越多。這些測(cè)試用例構(gòu)成測(cè)試數(shù)據(jù)。

基于場(chǎng)景的測(cè)試用例(Scene Test Case)可描述為:

STC={ScenelD,CaselD,Input,Output,NextSceneID,WaitTime,Method,ChangeEnv}

其中STC是場(chǎng)景測(cè)試用例,每個(gè)場(chǎng)景測(cè)試用例包括:ScenelD為場(chǎng)景編號(hào);CaselD為測(cè)試用例編號(hào);Input為測(cè)試場(chǎng)景的輸入數(shù)據(jù)或操作;Output為測(cè)試場(chǎng)景在輸入了Input之后的輸出結(jié)果或期望完成的功能;NextSceneID為正確執(zhí)行完測(cè)試用例后下一個(gè)要執(zhí)行的測(cè)試場(chǎng)景編號(hào);WaitTime為測(cè)試場(chǎng)景在本測(cè)試用例下所能容忍的最大等待時(shí)間,單位是毫秒;Method為該測(cè)試用例所執(zhí)行的方法;ChangeEnv用于說明執(zhí)行該測(cè)試用例是否會(huì)改變當(dāng)前的測(cè)試環(huán)境。

場(chǎng)景測(cè)試法不僅從功能層面,而且從業(yè)務(wù)工作流層面對(duì)系統(tǒng)進(jìn)行動(dòng)態(tài)的、全局性的測(cè)試,保證了對(duì)系統(tǒng)中多個(gè)功能交叉點(diǎn)、復(fù)雜約束邏輯以及測(cè)試覆蓋性的充分性和有效性。但是,以什么樣的粒度分析出基本流和備選流,怎樣構(gòu)建出典型的場(chǎng)景集,以及如何運(yùn)用場(chǎng)景來設(shè)計(jì)測(cè)試用例仍然是場(chǎng)景測(cè)試的難點(diǎn)。下面就提取基本流和備選流,構(gòu)建有效測(cè)試場(chǎng)景進(jìn)行研究。

2 場(chǎng)景測(cè)試建模分析

場(chǎng)景測(cè)試遵從W測(cè)試模型,軟件的開發(fā)與測(cè)試同步進(jìn)行。即在軟件系統(tǒng)的需求分析之后,即可進(jìn)行測(cè)試需求分析,提取場(chǎng)景測(cè)試的基本流和備選流。在軟件的概要設(shè)計(jì)之后,即可進(jìn)行場(chǎng)景的構(gòu)件。

2.1 測(cè)試需求(粒度)分析

對(duì)于一個(gè)復(fù)雜而龐大的系統(tǒng),如果不加區(qū)分地對(duì)待每一個(gè)模塊是無法清晰地測(cè)試系統(tǒng)的。我們可參照軟件的設(shè)計(jì)理念,采用分而治之的辦法,首先將系統(tǒng)按照一定的原則分解成若干個(gè)模塊,降低其功能和結(jié)構(gòu)的復(fù)雜程度,然后以模塊為單位,對(duì)其進(jìn)行進(jìn)一步分解。

對(duì)系統(tǒng)的測(cè)試模塊分解可以直接參考開發(fā)設(shè)計(jì)文檔,分解后的模塊可以單獨(dú)地被理解、測(cè)試、查錯(cuò)。模塊分解的細(xì)化程度取決于其在項(xiàng)目中的重要性、開發(fā)的成熟度、邏輯復(fù)雜度、風(fēng)險(xiǎn)程度等因素。如果模塊的重要程度越高、成熟度越低、復(fù)雜度及風(fēng)險(xiǎn)越高,其分解就越細(xì)。

以網(wǎng)上在線購物系統(tǒng)的在線支付模塊為例。用戶進(jìn)入該購物網(wǎng)站選定需購物品后,進(jìn)行在線支付,主要的流程是:支付卡帳號(hào)登錄-支付交易-生成訂購單-完成購物。

在這個(gè)業(yè)務(wù)流中,支付卡帳號(hào)登錄是一個(gè)成熟度較高的設(shè)計(jì)部分,但考慮到其重要性和風(fēng)險(xiǎn)性都較高,因此需要細(xì)分解到登錄這一級(jí)別;支付交易涉及較多的邏輯判斷,和較高的風(fēng)險(xiǎn)性,所以也需要細(xì)分。

2.2 基本流與備選流的提取

對(duì)于每個(gè)模塊,根據(jù)其業(yè)務(wù)畫出其操作流圖。在本文中,對(duì)各類操作給出如下定義。

定義1 一個(gè)操作由一個(gè)二元組OP<OPi[],OPo[]>組成,其中OP表示操作名,OPi[]是輸入變量數(shù)組,OPo[]是輸出變量數(shù)組。可以用圖2表示:

圖2 一個(gè)操作的兩種輸入輸出情形圖示表示

一個(gè)操作的圖示表示不止上述兩種表示法。還可以是一個(gè)輸入變量,多個(gè)輸出變量;多個(gè)輸入變量,一個(gè)輸出變量;多個(gè)輸入變量,多個(gè)輸出變量等情形。

定義2 如果一個(gè)操作有多個(gè)輸出變量,則這個(gè)操作存在邏輯判斷條件,是一個(gè)判斷點(diǎn)。

定義3 基本流是保證業(yè)務(wù)能正常執(zhí)行的操作流。即只有一個(gè)輸出變量,或者多個(gè)輸出變量中使得業(yè)務(wù)正常執(zhí)行下去的輸出變量,構(gòu)成基本流。

定義4 備選流是業(yè)務(wù)執(zhí)行過程中的一些異常執(zhí)行操作流。即當(dāng)操作存在多個(gè)輸出變量時(shí),一些非正常執(zhí)行的輸出變量,構(gòu)成備選流。

對(duì)于上述在線支付流程中的支付卡登錄模塊,可以用圖3描述:

圖3 帳號(hào)登錄的操作流圖

在圖3的帳號(hào)輸入操作和密碼輸入操作之后都存在一個(gè)判斷點(diǎn),判斷輸入的有效性和正解性。每一個(gè)判斷點(diǎn)都可以作為備選流的分支結(jié)點(diǎn)。由此可以提取出基本流與備選流,見表1中描述。

表1 帳號(hào)登錄的基本流與備選流

2.3 構(gòu)建測(cè)試場(chǎng)景

根據(jù)本文2.1中描述的場(chǎng)景流的組成方法,在獲得模塊的基本流和備選流之后,可以方便地得到場(chǎng)景流圖。但是,本文2.2中得到的基本流和備選流只是單一考慮功能層面提取的,由此構(gòu)建的測(cè)試場(chǎng)景不一定能完全符合用戶的需求,軟件仍存在潛在缺陷。

1)完備性補(bǔ)充

基于工作流的場(chǎng)景測(cè)試,不僅要考慮功能測(cè)試的需求,還要考慮非功能測(cè)試的需求[6]。

功能測(cè)試:對(duì)軟件需求說明書中規(guī)劃的模塊,及該模塊與其它模塊之間的約束關(guān)系進(jìn)行測(cè)試。主要的測(cè)試目的是測(cè)試其功能能否正常執(zhí)行。

非功能測(cè)試:根據(jù)工作流的業(yè)務(wù)標(biāo)準(zhǔn),對(duì)其他非功能特性進(jìn)行測(cè)試,檢測(cè)相關(guān)性能是否達(dá)到要求。非功能特性包括性能、可靠性、安全性、一致性和容錯(cuò)等[6]。

備選流的完備性補(bǔ)充:將非功能測(cè)試中測(cè)試項(xiàng)作為備選流,添加到已有的備選流中。

在支付卡登錄模塊中,如果其需求說明書中提出對(duì)登錄響應(yīng)時(shí)間、安全性檢驗(yàn)及容錯(cuò)性能(字母的大小寫區(qū)分)等業(yè)務(wù)標(biāo)準(zhǔn)提出要求,則改進(jìn)后的帳號(hào)登錄基本流與備選流見表2所描述。

由表2的基本流和備選流分析,可以畫出場(chǎng)景流圖,如圖4所示。根據(jù)場(chǎng)景測(cè)試的一般方法,對(duì)所有備選流進(jìn)行路徑遍歷,可得到46不同場(chǎng)景,數(shù)據(jù)相當(dāng)龐大,且存在較大冗余。

2)冗余性控制

模塊的備選流間存在著一定的關(guān)系,有些是因果關(guān)系,有些是前后序關(guān)系,有些則是相互獨(dú)立關(guān)系。為減少冗余場(chǎng)景,需要對(duì)場(chǎng)景的備選流路徑進(jìn)行精簡。下面以兩個(gè)備選流為例給出精簡原則:

表2 完備后的基本流與備選流

●如果備選流A和備選流B是因果關(guān)系,則場(chǎng)景中含有B時(shí)一定含有A;

●如果備選流A和備選流B是前后順關(guān)系時(shí),則只須單獨(dú)包括其中的之一。即包含A,則不包含B,反之亦然;

●如果備選流A和備選流B是相互獨(dú)立關(guān)系時(shí),則基本場(chǎng)景須遍歷A、B備選流。

當(dāng)備選流是兩個(gè)以上者,參照上述原則執(zhí)行。

圖4 帳號(hào)登錄的場(chǎng)景流

運(yùn)用精簡原則分析支付卡登錄模塊的基本場(chǎng)景,備選流1,備選流2、3與備選流4、5、6之間存在前后順序關(guān)系,則基本場(chǎng)景流的路徑分上、中、下三部分;備選流2和備選流3的是因果關(guān)系,所以必存在場(chǎng)景路徑:BF-AF2-AF3;備選流4、5、6是三個(gè)獨(dú)立的備選流,則需要列出這三個(gè)備選流的任意個(gè)數(shù)的組合。精簡后的基本場(chǎng)景為:

場(chǎng)景1:BF;

場(chǎng)景2:BF-AF1;

場(chǎng)景3:BF-AF2;

場(chǎng)景4:BF-AF2-AF3;

場(chǎng)景5:BF-AF4;

場(chǎng)景6:BF-AF4-AF5;

場(chǎng)景7:BF-AF4-AF5-AF6;

場(chǎng)景8:BF-AF4 -AF6;

場(chǎng)景9:BF-AF5;

場(chǎng)景10:BF-AF5-AF6;

場(chǎng)景11:BF-AF6;

構(gòu)建出基本的場(chǎng)景集后,就可以對(duì)每一場(chǎng)景設(shè)計(jì)測(cè)試用例了。

3 結(jié)語

本文在描述了場(chǎng)景測(cè)試的一般方法之后,提出一套關(guān)于場(chǎng)景建模的方法,包括基于需求說明書的模塊細(xì)分原則,基于業(yè)務(wù)工作流的基本流和備選流提取,完備的,少冗余的場(chǎng)景集的構(gòu)建。并以網(wǎng)上在線購物系統(tǒng)的支付卡登錄模塊為案例,說明場(chǎng)景的建模過程。場(chǎng)景測(cè)試無論是用于人工測(cè)試還是自動(dòng)化測(cè)試、本地測(cè)試還是云測(cè)試,都是以場(chǎng)景的構(gòu)建為基礎(chǔ)。本文的研究為場(chǎng)景測(cè)試的實(shí)施提供了一種可行建模方案,具有較重要的理論意義和應(yīng)用價(jià)值。

本文側(cè)重于場(chǎng)景測(cè)試的建模過程分析,對(duì)場(chǎng)景測(cè)試方法的實(shí)踐研究存在不足,如缺乏實(shí)例驗(yàn)證數(shù)據(jù),在生成測(cè)試用例部分也涉及不多,有待于今后進(jìn)一步的深入研究,促進(jìn)場(chǎng)景測(cè)試方法的理論和實(shí)踐的發(fā)展。

[1]潘建勇,陳邦興.基于場(chǎng)景的測(cè)試用例設(shè)計(jì)方法研究[J].通信技術(shù),2011,12(44):77-80.

[2]殷永峰,劉斌,姜同敏.基于場(chǎng)景技術(shù)的嵌入式軟件測(cè)試用例生成方法[J].計(jì)算機(jī)工程與設(shè)計(jì),2008,29(16):4111-4114.

[3]佟偉光,郭菲菲.軟件測(cè)試(第2版)[M].北京:人民郵電出版社,2015:61-62.

[4]Whittaker JA.What is Software Testing? And Why is it So Hard?[J].IEEE Software, 2000,17(1):70-79.

[5]馬春燕,朱怡安,陸偉.Web服務(wù)自動(dòng)化測(cè)試技術(shù)[J].計(jì)算機(jī)科學(xué),2012,39(2):162-169.

[6]吳彩華,朱小冬,劉俊濤等.基于可靠性增長模型的軟件可靠性增長測(cè)試充分性準(zhǔn)則[J].計(jì)算機(jī)科學(xué),2008,35(11):281-283.

主站蜘蛛池模板: 久久国产热| 亚洲美女一级毛片| 国产一二三区视频| 亚洲综合欧美在线一区在线播放| 欧美午夜一区| 五月丁香伊人啪啪手机免费观看| 亚洲三级电影在线播放| 国产成人精品一区二区| 夜夜操天天摸| 久久狠狠色噜噜狠狠狠狠97视色 | 伊人婷婷色香五月综合缴缴情| 亚洲天堂伊人| 亚洲av无码成人专区| 色呦呦手机在线精品| 又黄又湿又爽的视频| 再看日本中文字幕在线观看| 成年免费在线观看| 国产凹凸视频在线观看| 91在线一9|永久视频在线| 亚洲大尺码专区影院| 国产产在线精品亚洲aavv| 黄色网站不卡无码| 国产黄在线免费观看| 日韩精品欧美国产在线| 一级高清毛片免费a级高清毛片| 亚洲女同一区二区| 波多野结衣视频一区二区| 国产精品分类视频分类一区| 国产小视频a在线观看| 成年午夜精品久久精品| 精品久久香蕉国产线看观看gif | 免费国产黄线在线观看| 日韩在线永久免费播放| 久久精品中文字幕少妇| 亚洲男人的天堂久久香蕉| 很黄的网站在线观看| 日韩精品无码免费专网站| 国产性生大片免费观看性欧美| 亚洲精品综合一二三区在线| 亚洲成年网站在线观看| 91精品福利自产拍在线观看| 国产簧片免费在线播放| 亚洲A∨无码精品午夜在线观看| 日韩精品高清自在线| 国产第八页| 一本久道热中字伊人| 国产91线观看| 国产精品三级专区| 国产SUV精品一区二区6| 欧美日韩一区二区在线免费观看| 久久精品娱乐亚洲领先| 国产成人无码综合亚洲日韩不卡| 一本大道香蕉中文日本不卡高清二区| 国产欧美日韩专区发布| 久99久热只有精品国产15| 国产精品亚洲专区一区| 美女一区二区在线观看| 最新国语自产精品视频在| 91麻豆精品国产高清在线| 欧美一区精品| 久久婷婷五月综合色一区二区| 人妻21p大胆| 日韩A级毛片一区二区三区| 日韩欧美高清视频| 亚洲天堂啪啪| 亚洲天堂网2014| 天天摸天天操免费播放小视频| 99这里只有精品在线| 永久免费无码成人网站| 亚洲一区二区三区在线视频| 国产欧美精品午夜在线播放| 久久婷婷五月综合97色| 91欧美在线| 第一区免费在线观看| 国产真实乱子伦精品视手机观看 | 国产成人综合久久| 99热这里只有成人精品国产| 亚洲高清无在码在线无弹窗| 欧类av怡春院| 欧美日本在线| 免费又黄又爽又猛大片午夜| 国产午夜人做人免费视频中文|