国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于等價(jià)類(lèi)劃分的測(cè)試用例設(shè)計(jì)在軟件評(píng)測(cè)中的應(yīng)用

2017-09-23 04:25趙浩強(qiáng)
軟件 2017年6期
關(guān)鍵詞:測(cè)試用例評(píng)測(cè)等價(jià)

趙浩強(qiáng)

引言

軟件評(píng)測(cè)是指對(duì)軟件產(chǎn)品、軟件項(xiàng)目、信息系統(tǒng)等進(jìn)行的評(píng)價(jià)和測(cè)試,其評(píng)測(cè)范圍通常包括功能性、可靠性、易用性、安全保密性、文檔、效率等。作為軟件評(píng)測(cè)最重要部分的功能性測(cè)試,幾乎占整個(gè)測(cè)試用例數(shù)量的70%以上,其通常采用黑盒測(cè)試作為主要的評(píng)測(cè)方法。

黑盒測(cè)試是通過(guò)測(cè)試來(lái)檢測(cè)每個(gè)功能是否都能正常使用。在測(cè)試時(shí),把程序看作一個(gè)不能打開(kāi)的黑盒子,在完全不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性的情況下,只檢查程序功能是否按照需求規(guī)格說(shuō)明書(shū)的規(guī)定正常使用,程序是否能適當(dāng)?shù)亟邮蛰斎霐?shù)據(jù)而產(chǎn)生正確的輸出信息。但用黑盒測(cè)試發(fā)現(xiàn)軟件中的錯(cuò)誤,就必須在所有可能的輸入條件中確定測(cè)試數(shù)據(jù),檢查程序是否都能產(chǎn)生正確的輸出,而測(cè)試一個(gè)程序窮盡所有可能的數(shù)據(jù)是不現(xiàn)實(shí)的。此外,軟件功能性測(cè)試的固有弱點(diǎn)是漏洞和冗余,即有些需求沒(méi)有被測(cè)試到,另外一些需求被測(cè)試了多次。因此,需要某種方法來(lái)實(shí)現(xiàn)用少量測(cè)試用例來(lái)完成高覆蓋率的軟件評(píng)測(cè)。等價(jià)類(lèi)劃分法是一種典型的黑盒測(cè)試方法,基于等價(jià)類(lèi)劃分的測(cè)試用例設(shè)計(jì)方法可以較好地應(yīng)用于此類(lèi)問(wèn)題的軟件評(píng)測(cè)中。

1等價(jià)類(lèi)劃分

1.1方法概述

等價(jià)類(lèi)劃分法是把所有可能的輸入數(shù)據(jù),即程序的輸入域劃分為若干部分(子集),然后從每一個(gè)子集中選取具有代表性的數(shù)據(jù)作為測(cè)試用例。所謂等價(jià)類(lèi)是指某個(gè)輸入域的子集合。在該子集合中,各個(gè)輸入數(shù)據(jù)對(duì)于揭露程序中的錯(cuò)誤都是等效的,它們具有等價(jià)特性,即每一類(lèi)的代表性數(shù)據(jù)在測(cè)試中的作用都等價(jià)于這一類(lèi)中的其它數(shù)據(jù)。這樣,對(duì)于表征該類(lèi)的數(shù)據(jù)輸入將能代表整個(gè)子集合的輸入。

等價(jià)類(lèi)劃分有兩種不同的情況:有效等價(jià)類(lèi)和無(wú)效等價(jià)類(lèi)。有效等價(jià)類(lèi)是指對(duì)于程序的規(guī)格說(shuō)明來(lái)說(shuō)是合理的、有意義的輸入數(shù)據(jù)構(gòu)成的集合。利用有效等價(jià)類(lèi)可檢驗(yàn)程序是否實(shí)現(xiàn)了規(guī)格說(shuō)明中所規(guī)定的功能和性能。而無(wú)效等價(jià)類(lèi)與有效等價(jià)類(lèi)的定義恰巧相反。設(shè)計(jì)測(cè)試用例時(shí),要同時(shí)考慮這兩種等價(jià)類(lèi)。因?yàn)檐浖粌H要能接收合理的數(shù)據(jù),也要能經(jīng)受意外的考驗(yàn)。這樣的測(cè)試才能確保軟件具有更高的可靠性。

1.2等價(jià)關(guān)系與集合劃分

等價(jià)類(lèi)測(cè)試基于等價(jià)關(guān)系和劃分。等價(jià)關(guān)系是現(xiàn)實(shí)世界中廣泛存在的一種關(guān)系,許多應(yīng)用問(wèn)題可以歸結(jié)為按給定的等價(jià)關(guān)系劃分某集合為等價(jià)類(lèi)問(wèn)題;劃分是互不相交的一組子集,這些子集的并是整個(gè)集合。從測(cè)試的角度而言,整個(gè)集合提供了形式的完備性,互不相交保證形式的無(wú)冗余性。為此,做如下定義:

定義1給定集合A,R.AxA是定義在A上的關(guān)系,若R是自反的、對(duì)稱(chēng)和可傳遞的,則R稱(chēng)為等價(jià)關(guān)系。

定義2給定集合A和A的子集A1,A2,…,An,當(dāng)且僅當(dāng):

(1)Au Au…An=A,且(2)i≠j_AjnAj=0時(shí),稱(chēng)這些子集是A的一個(gè)劃分。其中,(1)保證了集合A的每個(gè)元素都會(huì)出現(xiàn)在某個(gè)子集中;(2)保證了A中沒(méi)有任何元素會(huì)同時(shí)出現(xiàn)在兩個(gè)子集中。

等價(jià)關(guān)系和集合劃分密切相關(guān),其可以相互轉(zhuǎn)換。通過(guò)集合劃分來(lái)定義的關(guān)系被稱(chēng)為由劃分所導(dǎo)出的等價(jià)關(guān)系;其逆過(guò)程也同樣成立:從集合上定義的等價(jià)關(guān)系出發(fā),可以根據(jù)彼此相關(guān)的元素定義子集,這就形成了一個(gè)劃分,稱(chēng)為由等價(jià)關(guān)系導(dǎo)出的劃分。這個(gè)劃分中的集合稱(chēng)為等價(jià)類(lèi)。

1.3劃分原則

等價(jià)類(lèi)劃分測(cè)試方法的根本思想就是在每個(gè)等價(jià)類(lèi)中只選取一個(gè)元素來(lái)構(gòu)造測(cè)試用例。這樣只要恰當(dāng)?shù)剡x擇了等價(jià)類(lèi),就能大大降低測(cè)試用例之間的冗余。因此,如何恰當(dāng)?shù)剡x擇等價(jià)關(guān)系是等價(jià)類(lèi)劃分的關(guān)鍵,其劃分原則如下:

(1)在輸入條件規(guī)定了取值范圍或值的個(gè)數(shù)的情況下,則可以確立一個(gè)有效等價(jià)類(lèi)和兩個(gè)無(wú)效等價(jià)類(lèi)。

(2)在輸入條件規(guī)定了輸入值的集合或者規(guī)定了“必須如何”的條件的情況下,可以確立一個(gè)有效等價(jià)類(lèi)和一個(gè)無(wú)效等價(jià)類(lèi)。

(3)在輸入條件是一個(gè)布爾量的情況下,可以確定一個(gè)有效等價(jià)類(lèi)和一個(gè)無(wú)效等價(jià)類(lèi)。

(4)在規(guī)定了輸入數(shù)據(jù)的一組值(假定n個(gè)),并且程序要對(duì)每一個(gè)輸入值分別處理時(shí),可以確立n個(gè)有效等價(jià)類(lèi)和一個(gè)無(wú)效等價(jià)類(lèi)。

(5)在規(guī)定了輸入數(shù)據(jù)必須遵守的規(guī)則的情況下,可以確立一個(gè)有效等價(jià)類(lèi)(符合規(guī)則)和若干個(gè)無(wú)效等價(jià)類(lèi)(從不同角度違反規(guī)則)。

(6)在確知已劃分的等價(jià)類(lèi)中各元素在程序處理中的方式不同的情況下,則應(yīng)再將該等價(jià)類(lèi)進(jìn)一步地劃分為更小的等價(jià)類(lèi)。

1.4等價(jià)類(lèi)形式

根據(jù)健壯性和單/多缺陷假設(shè),可以將等價(jià)類(lèi)組合為4種形式,弱一般等價(jià)類(lèi)、強(qiáng)一般等價(jià)類(lèi)、弱健壯等價(jià)類(lèi)和強(qiáng)健壯等價(jià)類(lèi)。其中:強(qiáng)與弱是基于單/多缺陷假設(shè),健壯性是指測(cè)試考慮到了無(wú)效值。

(1)弱一般等價(jià)類(lèi):基于單缺陷假設(shè),每個(gè)測(cè)試用例只使用一個(gè)等價(jià)類(lèi)中的一個(gè)變量,一個(gè)測(cè)試用例盡可能多的覆蓋多個(gè)有效區(qū)間,是一種直觀的、程式化的測(cè)試用例構(gòu)造方法。事實(shí)上,在弱等價(jià)類(lèi)測(cè)試中,測(cè)試用例的數(shù)量同最大子集數(shù)劃分中所包含的類(lèi)數(shù)是一樣的。

(2)強(qiáng)一般等價(jià)類(lèi):對(duì)應(yīng)多缺陷假設(shè),其測(cè)試用例應(yīng)覆蓋等價(jià)類(lèi)笛卡爾積的每個(gè)元素,從而保證兩種意義上的“完備性”——一是覆蓋了所有等價(jià)類(lèi),二是覆蓋了所有可能的輸入組合。

(3)弱健壯等價(jià)類(lèi):是一種基于單缺陷假設(shè)的考慮了無(wú)效值的等價(jià)類(lèi)測(cè)試形式,也稱(chēng)為傳統(tǒng)的等價(jià)類(lèi)測(cè)試。其測(cè)試用例主要構(gòu)造策略是對(duì)于有效輸入,在每個(gè)有效等價(jià)類(lèi)中僅取一個(gè)值,使其盡可能多地覆蓋有效區(qū)間;對(duì)于無(wú)效輸入,每個(gè)測(cè)試用例中要包含一個(gè)無(wú)效值,其余為有效值,直至所有無(wú)效區(qū)間被覆蓋。

(4)強(qiáng)健壯等價(jià)類(lèi):是一種對(duì)應(yīng)于多缺陷假設(shè)的考慮了無(wú)效值的等價(jià)類(lèi)測(cè)試形式。對(duì)于強(qiáng)健壯等價(jià)類(lèi)來(lái)說(shuō),測(cè)試用例的構(gòu)建應(yīng)覆蓋到所有等價(jià)類(lèi)(包括無(wú)效類(lèi))的笛卡爾積的各個(gè)元素。

由此可以看出,選擇等價(jià)關(guān)系對(duì)等價(jià)類(lèi)測(cè)試的好壞至關(guān)重要。在經(jīng)典的輸入、處理、輸出的結(jié)構(gòu)化程序體系中,輸入部分占源程序的80%,強(qiáng)調(diào)輸入及輸入數(shù)據(jù)的檢驗(yàn);輸出部分占源程序的20%。因此,一般來(lái)說(shuō),等價(jià)類(lèi)測(cè)試在輸入域上定義等價(jià)類(lèi),但同樣也可以根據(jù)輸出域來(lái)定義等價(jià)關(guān)系。下文僅針對(duì)基于輸入域上定義等價(jià)類(lèi)進(jìn)行測(cè)試用例的設(shè)計(jì)應(yīng)用。

2測(cè)試用例設(shè)計(jì)步驟

在分析需求規(guī)格說(shuō)明的基礎(chǔ)上,依據(jù)劃分原則確立了等價(jià)類(lèi)之后,應(yīng)首先建立等價(jià)類(lèi)表,列出所有劃分出的等價(jià)類(lèi),然后進(jìn)行測(cè)試用例的設(shè)計(jì)。在設(shè)計(jì)測(cè)試用例時(shí),應(yīng)同時(shí)考慮有效等價(jià)類(lèi)和無(wú)效等價(jià)類(lèi)測(cè)試用例的設(shè)計(jì)。用最少的測(cè)試用例盡可能多地覆蓋有效等價(jià)類(lèi),但對(duì)每一個(gè)無(wú)效等價(jià)類(lèi),一個(gè)測(cè)試用例僅覆蓋一個(gè)無(wú)效等價(jià)類(lèi)。有了等價(jià)類(lèi)表后,等價(jià)類(lèi)測(cè)試用例的設(shè)計(jì)步驟如下:

(1)為每個(gè)等價(jià)類(lèi)規(guī)定一個(gè)惟一的編號(hào)。

(2)設(shè)計(jì)一個(gè)新的測(cè)試用例,使其盡可能多地覆蓋尚未覆蓋的有效等價(jià)類(lèi)。重復(fù)這一步,最后使得所有有效等價(jià)類(lèi)均被測(cè)試用例所覆蓋。

(3)設(shè)計(jì)一個(gè)新的測(cè)試用例,使其只覆蓋一個(gè)無(wú)效等價(jià)類(lèi)。重復(fù)這一步,使所有無(wú)效等價(jià)類(lèi)均被覆蓋。

3實(shí)例分析

某軟件評(píng)測(cè)項(xiàng)目中,公共服務(wù)平臺(tái)用戶(hù)注冊(cè)時(shí),需求規(guī)格說(shuō)明要求“企業(yè)統(tǒng)一社會(huì)信用代碼”一項(xiàng)為必填項(xiàng),由固定18位數(shù)字或大寫(xiě)英文字母組成,規(guī)定前8位必須是數(shù)字,且不允許與已注冊(cè)代碼重復(fù)。

雖然有要求限定,但窮盡18位字符的測(cè)試數(shù)據(jù)組合是不現(xiàn)實(shí)的,可應(yīng)用等價(jià)類(lèi)劃分法設(shè)計(jì)測(cè)試用例。首先建立等價(jià)類(lèi)劃分表,見(jiàn)表1。

4結(jié)束語(yǔ)

眾所周知,軟件質(zhì)量的好壞直接影響著軟件企業(yè)的發(fā)展進(jìn)程,隨著信息技術(shù)的蓬勃發(fā)展,軟件產(chǎn)品和信息系統(tǒng)項(xiàng)目數(shù)量層幾何式的爆發(fā)增長(zhǎng),軟件評(píng)測(cè)需求強(qiáng)烈。同時(shí),軟件系統(tǒng)架構(gòu)日趨集中和復(fù)雜,以及軟件評(píng)測(cè)從業(yè)人員數(shù)量相對(duì)有限,給軟件評(píng)測(cè)行業(yè)帶來(lái)了前所未有的挑戰(zhàn)。本文希望通過(guò)對(duì)于等價(jià)類(lèi)劃分法設(shè)計(jì)測(cè)試用例的介紹,給軟件評(píng)測(cè)工作在提高測(cè)試效率的同時(shí)盡可能的覆蓋需求規(guī)格說(shuō)明要求提供一種思路。當(dāng)然,沒(méi)有一種方法能設(shè)計(jì)出全部測(cè)試方案,在對(duì)軟件進(jìn)行實(shí)際評(píng)測(cè)時(shí),可配合使用多種方法,形成一種綜合策略,如可再增加邊界值分析法域特殊值測(cè)試補(bǔ)充邊界值數(shù)據(jù)和特殊輸入數(shù)據(jù)的用例,使軟件評(píng)測(cè)用例設(shè)計(jì)更充分更完整。endprint

猜你喜歡
測(cè)試用例評(píng)測(cè)等價(jià)
等價(jià)轉(zhuǎn)化
次時(shí)代主機(jī)微軟XSX全方位評(píng)測(cè)(下)
次時(shí)代主機(jī)微軟XSX全方位評(píng)測(cè)(上)
基于SmartUnit的安全通信系統(tǒng)單元測(cè)試用例自動(dòng)生成
攻坡新利器,TOKEN VENTOUS評(píng)測(cè)
基于混合遺傳算法的回歸測(cè)試用例集最小化研究
Canyon Ultimate CF SLX 8.0 DI2評(píng)測(cè)
收斂的非線性迭代數(shù)列xn+1=g(xn)的等價(jià)數(shù)列
基于依賴(lài)結(jié)構(gòu)的測(cè)試用例優(yōu)先級(jí)技術(shù)
環(huán)Fpm+uFpm+…+uk-1Fpm上常循環(huán)碼的等價(jià)性