版權(quán)歸原作者所有,如有侵權(quán),請(qǐng)聯(lián)系我們

[科普中國(guó)]-外部功能測(cè)試

科學(xué)百科
原創(chuàng)
科學(xué)百科為用戶提供權(quán)威科普內(nèi)容,打造知識(shí)科普陣地
收藏

簡(jiǎn)介

外部功能測(cè)試是指引導(dǎo)測(cè)試去發(fā)現(xiàn)錯(cuò)誤,并保證定義好的輸入能夠產(chǎn)生與預(yù)期結(jié)果相同的輸出以及接口與調(diào)用關(guān)系,如兼容關(guān)系。在計(jì)算機(jī)程序或軟件系統(tǒng)中,外部功能對(duì)于用戶來(lái)說(shuō)是不可或缺的,用戶一般是通過(guò)軟件系統(tǒng)的外部功能來(lái)獲取系統(tǒng)的有關(guān)服務(wù)。外部功能測(cè)試對(duì)于一個(gè)軟件的可用性和方便性十分重要。外部功能測(cè)試屬于功能測(cè)試。

功能測(cè)試功能測(cè)試又稱為黑盒測(cè)試、數(shù)據(jù)驅(qū)動(dòng)測(cè)試或基于需求規(guī)格說(shuō)明的測(cè)試,是一種常用的測(cè)試方法。黑盒測(cè)試是已知產(chǎn)品的功能設(shè)計(jì)規(guī)格,通過(guò)測(cè)試來(lái)檢測(cè)每個(gè)功能是否都能符合要求。在測(cè)試中,把程序看作一個(gè)不能打開的黑盒子,在完全不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性的情況下,在程序接口進(jìn)行測(cè)試,它只檢查程序功能是否按照需求規(guī)格說(shuō)明書的規(guī)定正常使用,而不考慮實(shí)現(xiàn)功能的方法、途徑,程序是否能適當(dāng)?shù)亟邮蛰斎藬?shù)據(jù)而產(chǎn)生正確的輸出信息。黑盒測(cè)試著眼于程序外部結(jié)構(gòu),不考慮內(nèi)部邏輯結(jié)構(gòu)。主要針對(duì)軟件界面和軟件功能進(jìn)行測(cè)試。

功能黑盒測(cè)試法主要用于測(cè)試軟件的功能需求,通過(guò)測(cè)試可以發(fā)現(xiàn)下列錯(cuò)誤:

是否有不正確或遺漏的功能:在接口上。輸入是否能正確的接受:能否輸出正確的結(jié)果;是否有數(shù)據(jù)結(jié)構(gòu)錯(cuò)誤或外部信息(例如數(shù)據(jù)文件)訪問(wèn)錯(cuò)誤:性能上是否能夠滿足要求;是否有初始化或終止性錯(cuò)誤2。

方法目前常用的比較成熟的黑盒測(cè)試的方法主要有:等價(jià)類劃分法、邊界值分析法、因果圖法和錯(cuò)誤推測(cè)法。下面對(duì)這幾種方法加以介紹并指出其優(yōu)缺點(diǎn)。

(一)等價(jià)類劃分法

等價(jià)類劃分法是一種典型的、重要的黑盒測(cè)試方法,它將程序所有可能的輸入數(shù)據(jù)劃分為若干個(gè)等價(jià)類。然后從每個(gè)部分中選取具有代表性的數(shù)據(jù)當(dāng)做測(cè)試用例。測(cè)試用例由有效等價(jià)類和無(wú)效等價(jià)類的代表數(shù)據(jù)組成,從而保證測(cè)試用例具有完整性和代表性。

使用該方法設(shè)計(jì)測(cè)試用例主要有兩個(gè)步驟:(1)確定等價(jià)類;(2)生成測(cè)試用例。

1.確定等價(jià)類

等價(jià)類是指被測(cè)軟件的一個(gè)輸入數(shù)據(jù)的集合,該集合中的任一元素對(duì)于揭露被測(cè)程序中的錯(cuò)誤而言是等價(jià)的,即若該集合中的一個(gè)元素測(cè)試程序發(fā)現(xiàn)不了某類功能上明顯的錯(cuò)誤,那么其它元素測(cè)試該程序也發(fā)現(xiàn)不了這種錯(cuò)誤。

確定等價(jià)類是將每一個(gè)輸入條件劃分為有效等價(jià)類和無(wú)效等價(jià)類。

有效等價(jià)類指程序規(guī)格說(shuō)明書中規(guī)定的、合理的、有意義的輸入數(shù)據(jù)。通過(guò)測(cè)試有效等價(jià)類中的數(shù)據(jù)可以測(cè)試被測(cè)軟件是否實(shí)現(xiàn)了規(guī)格說(shuō)明書中預(yù)先規(guī)定的功能和性能。無(wú)效等價(jià)類是有效等價(jià)類的補(bǔ)集,指軟件規(guī)格說(shuō)明書中沒有規(guī)定的、沒有意義的、不合理的輸入數(shù)據(jù)集合。

2.生成測(cè)試用例

①為每一個(gè)等價(jià)類設(shè)置一個(gè)唯一的編號(hào)。

②設(shè)計(jì)新的測(cè)試用例,盡可能多地覆蓋那些尚未被覆蓋的有效等價(jià)類,直到所有的有效等價(jià)類都被測(cè)試用例所覆蓋(包含進(jìn)去)。

③設(shè)計(jì)新的測(cè)試用例,覆蓋一個(gè)僅一個(gè)尚未被覆蓋的無(wú)效等價(jià)類,直到所有的無(wú)效等價(jià)類都被測(cè)試用例所覆蓋。

(二)邊界值分析法

邊界值分析法是對(duì)程序輸入或輸出的邊界值進(jìn)行測(cè)試的一種黑盒測(cè)試方法。實(shí)際的測(cè)試工作證明,考慮了邊界條件的測(cè)試用例比那些沒有考慮邊界條件的測(cè)試用例具有更高的測(cè)試回報(bào)率。這里所說(shuō)的邊界條件,是指輸入和輸入等價(jià)類中那些恰好處于邊界、或超過(guò)邊界、或在邊界以下的狀態(tài)。

利用邊界值分析法設(shè)計(jì)測(cè)試用例的原則:

1.如果輸入條件規(guī)定了值的范圍,那么應(yīng)針對(duì)范圍的邊界設(shè)計(jì)有效的等價(jià)類測(cè)試用例,針對(duì)剛剛越界的情況設(shè)計(jì)無(wú)效等價(jià)類輸入測(cè)試用例。

2.如果輸入條件規(guī)定了輸入值的數(shù)量(包括個(gè)數(shù)的多少,時(shí)間的長(zhǎng)短),則應(yīng)對(duì)該數(shù)量的最大值、最小值及比最大值小一、最小值大一的情況分別設(shè)計(jì)有效的輸入測(cè)試用例。

3.如果程序中使用了一個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu),則應(yīng)該內(nèi)部數(shù)據(jù)機(jī)構(gòu)的邊界值設(shè)計(jì)測(cè)試用例。

4.如果程序的規(guī)格說(shuō)明給出的輸入域或輸出域是有序集合,則應(yīng)該取集合的第一個(gè)元素和最后一個(gè)元素設(shè)計(jì)測(cè)試用例。

(三)因果圖法

因果圖法也是較常用的一種黑盒測(cè)試方法,是一種簡(jiǎn)化了的邏輯圖。因果圖能直觀地表明輸入條件和輸出動(dòng)作之間的因果關(guān)系,能幫助測(cè)試人員把注意力集中到與程序功能有關(guān)的輸入組合上。

因果圖法是一種適合于描述對(duì)于多種輸入條件組合的測(cè)試方法,根據(jù)輸入條件的組合、約束關(guān)系和輸出條件的因果關(guān)系,分析輸入條件的各種組合情況,從而設(shè)計(jì)測(cè)試用例的方法,它適合于檢查程序輸入條件的各種組合情況。

利用因果圖法設(shè)計(jì)測(cè)試用例的步驟:

1.將規(guī)格說(shuō)明分解為可執(zhí)行的片段。該步驟必不可少,因?yàn)橐蚬麍D不善于處理較大的規(guī)格說(shuō)明。

2.分析并確定可執(zhí)行片段中哪些是原因,哪些是結(jié)果。原因是指輸入條件或者輸入條件的等價(jià)類,而結(jié)果指輸出條件。

3.為每一個(gè)原因和結(jié)果賦予唯一的標(biāo)號(hào),并根據(jù)規(guī)格說(shuō)明書中的描述,畫出因果圖。

4.通過(guò)仔細(xì)地跟蹤圖中的狀態(tài)變化情況,將因果圖轉(zhuǎn)換成一個(gè)有限項(xiàng)的判定表。表中的每一列代表一個(gè)測(cè)試用例。

(四)錯(cuò)誤推測(cè)法

錯(cuò)誤推測(cè)法是基于以往的經(jīng)驗(yàn)和直覺,參照以往的軟件系統(tǒng)出現(xiàn)的錯(cuò)誤,推測(cè)當(dāng)前被測(cè)程序中可能存在的缺陷和錯(cuò)誤,有針對(duì)性地設(shè)計(jì)測(cè)試用例。

用錯(cuò)誤推測(cè)法設(shè)計(jì)測(cè)試用例的基本思想是:列舉出程序中可能犯出現(xiàn)的錯(cuò)誤或容易發(fā)生錯(cuò)誤的特殊情況的清單,然后根據(jù)清單和已經(jīng)設(shè)計(jì)好的測(cè)試用例來(lái)編寫特定的測(cè)試用例。例如,程序中出現(xiàn)的輸入數(shù)據(jù)為“0”或者字符為空就是一種錯(cuò)誤易發(fā)情況;在出現(xiàn)輸入或輸出的數(shù)量不定的地方,數(shù)量為“沒有”和“一個(gè)”也是錯(cuò)誤易發(fā)情況。特別需要注意的是,在閱讀規(guī)格說(shuō)明時(shí)聯(lián)系程序員可能做的假設(shè)來(lái)確定測(cè)試用例,測(cè)試人員要站在用戶的角度來(lái)考慮輸入信息,而不必去管這些信息對(duì)于被測(cè)程序是合理還是不合理的輸入。

外部功能測(cè)試的內(nèi)容可用性測(cè)試可用性測(cè)試(Usability testing),是一項(xiàng)通過(guò)用戶的使用來(lái)評(píng)估產(chǎn)品的技術(shù),由于它反應(yīng)了用戶的真實(shí)使用經(jīng)驗(yàn),所以可以視為一種不可或缺的可用性檢驗(yàn)過(guò)程。也就是說(shuō),可用性測(cè)試是指讓用戶使用產(chǎn)品(服務(wù))的設(shè)計(jì)原型或者成品,通過(guò)觀察,記錄和分析用戶的行為和感受,以改善產(chǎn)品(服務(wù))可用性的一系列方法。它適用于產(chǎn)品(服務(wù))前期設(shè)計(jì)開發(fā),中期改進(jìn)和后期維護(hù)完善的各個(gè)階段,是用戶中心設(shè)計(jì)的思想的重要體現(xiàn)。

可用性測(cè)試是可用性評(píng)估方法中最為常用的一種,作為人機(jī)交互研究的一個(gè)重要領(lǐng)域,已經(jīng)被廣泛研究。

方便性配置 OS 后可使計(jì)算機(jī)系統(tǒng)更容易使用。一個(gè)未配置 OS 的計(jì)算機(jī)系統(tǒng)是極難使用的,因?yàn)橛?jì)算機(jī)硬件只能識(shí)別 0 和 1 這樣的機(jī)器代碼。用戶要直接在計(jì)算機(jī)硬件上運(yùn)行自己所編寫的程序,就必須用機(jī)器語(yǔ)言書寫程序;用戶要想輸入數(shù)據(jù)或打印數(shù)據(jù),也都必須自己用機(jī)器語(yǔ)言書寫相應(yīng)的輸入程序或打印程序。如果我們?cè)谟?jì)算機(jī)硬件上配置了 OS,用戶便可通過(guò) OS 所提供的各種命令來(lái)使用計(jì)算機(jī)系統(tǒng)。比如,用編譯命令可方便地把用戶用高級(jí)語(yǔ)言書寫的程序翻譯成機(jī)器代碼,大大地方便了用戶,從而使計(jì)算機(jī)變得易學(xué)易用。

兼容性評(píng)價(jià)計(jì)算機(jī)性能的一個(gè)指標(biāo)。指計(jì)算機(jī)設(shè)備或程序能兼用于多種不同系統(tǒng)的性能.下面分別說(shuō)明硬件兼容性和軟件兼容性。

硬件兼容性指一種機(jī)器的目標(biāo)碼可以在另一種機(jī)器上執(zhí)行,所得結(jié)果與原機(jī)器的執(zhí)行結(jié)果完全相同.實(shí)現(xiàn)硬件兼容性有兩種途徑:一是兩種機(jī)器采用完全相同的指令系統(tǒng);二是在第二種機(jī)器中設(shè)置一些專用指令,遇到該機(jī)器所沒有的指令時(shí),就將其翻譯成對(duì)應(yīng)的指令,使執(zhí)行結(jié)果完全相同.經(jīng)過(guò)少許調(diào)整或不需調(diào)整就能用于其他系統(tǒng)中的部件、外部設(shè)備或其他設(shè)備,稱為兼容硬件。

軟件兼容性指用某種語(yǔ)言編寫的源程序可在兩種不同的機(jī)器上分別進(jìn)行翻譯并加以執(zhí)行,所得的結(jié)果基本相同,但兩種機(jī)器的指令系統(tǒng)可能有很大差異。