《軟件測(cè)試基礎(chǔ)》課件-第6章_第1頁(yè)
《軟件測(cè)試基礎(chǔ)》課件-第6章_第2頁(yè)
《軟件測(cè)試基礎(chǔ)》課件-第6章_第3頁(yè)
《軟件測(cè)試基礎(chǔ)》課件-第6章_第4頁(yè)
《軟件測(cè)試基礎(chǔ)》課件-第6章_第5頁(yè)
已閱讀5頁(yè),還剩51頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第6章自動(dòng)測(cè)試技術(shù)

6.1自動(dòng)測(cè)試技術(shù)簡(jiǎn)介6.2自動(dòng)測(cè)試發(fā)展歷程6.3測(cè)試成熟度模型6.4三代測(cè)試框架6.5自動(dòng)測(cè)試原理6.6自動(dòng)測(cè)試的19條經(jīng)驗(yàn)教訓(xùn)6.7自動(dòng)測(cè)試研究熱點(diǎn)6.8思考與習(xí)題

6.1自動(dòng)測(cè)試技術(shù)簡(jiǎn)介

1.自動(dòng)測(cè)試的前提條件

自動(dòng)測(cè)試是把以人為驅(qū)動(dòng)的測(cè)試行為轉(zhuǎn)化為機(jī)器執(zhí)行的一種過(guò)程。實(shí)施自動(dòng)測(cè)試之前需要對(duì)軟件開(kāi)發(fā)過(guò)程進(jìn)行分析,以觀(guān)察其是否適合使用自動(dòng)測(cè)試。自動(dòng)測(cè)試通常需要滿(mǎn)足以下條件:

1)軟件需求變動(dòng)不頻繁

測(cè)試腳本的穩(wěn)定性決定了自動(dòng)測(cè)試的維護(hù)成本。如果軟件需求變動(dòng)過(guò)于頻繁,測(cè)試人員需要根據(jù)變動(dòng)的需求更新測(cè)試用例以及相關(guān)的測(cè)試腳本,較大的變動(dòng)勢(shì)必會(huì)增加維護(hù)腳本的成本,導(dǎo)致自動(dòng)測(cè)試失敗。一般情況下,對(duì)于需求分析中相對(duì)穩(wěn)定的模塊進(jìn)行自動(dòng)測(cè)試,而變動(dòng)較大的模塊仍采用手工測(cè)試。

2)項(xiàng)目周期足夠長(zhǎng)

自動(dòng)測(cè)試需求的確定、自動(dòng)測(cè)試框架的設(shè)計(jì)、測(cè)試腳本的編寫(xiě)與調(diào)試均需要相當(dāng)長(zhǎng)的時(shí)間來(lái)完成。這樣的過(guò)程本身就是一個(gè)測(cè)試軟件的開(kāi)發(fā)過(guò)程,需要較長(zhǎng)的時(shí)間來(lái)完成。

3)自動(dòng)測(cè)試腳本可重復(fù)使用

在手工測(cè)試無(wú)法完成,需要投入大量時(shí)間成本與人力成本時(shí),可考慮引入自動(dòng)測(cè)試。

2.自動(dòng)測(cè)試過(guò)程

自動(dòng)測(cè)試與軟件開(kāi)發(fā)過(guò)程從本質(zhì)上來(lái)講是一樣的。自動(dòng)測(cè)試過(guò)程可概括為利用自動(dòng)化測(cè)試工具,經(jīng)過(guò)對(duì)測(cè)試需求的分析,設(shè)計(jì)出自動(dòng)測(cè)試用例,搭建自動(dòng)測(cè)試的框架,設(shè)計(jì)與編寫(xiě)自動(dòng)測(cè)試腳本,測(cè)試腳本的正確性,完成該套測(cè)試腳本。具體來(lái)講可分為如下步驟:

1)自動(dòng)測(cè)試需求分析

當(dāng)測(cè)試項(xiàng)目滿(mǎn)足了自動(dòng)化的前提條件,并確定在該項(xiàng)目中需要使用自動(dòng)測(cè)試時(shí),就可進(jìn)行自動(dòng)測(cè)試需求分析。此過(guò)程需要確定自動(dòng)測(cè)試的范圍以及相應(yīng)的測(cè)試用例、測(cè)試數(shù)據(jù),并形成詳細(xì)的文檔,以便于自動(dòng)測(cè)試框架的建立。

2)自動(dòng)測(cè)試框架的搭建

自動(dòng)測(cè)試框架與軟件架構(gòu)一樣,定義了在使用該套腳本時(shí)需要調(diào)用哪些文件、結(jié)構(gòu),調(diào)用的過(guò)程,以及文件結(jié)構(gòu)如何劃分。搭建自動(dòng)測(cè)試框架時(shí)需要將如下典型要素考慮進(jìn)去。

(1)公用的對(duì)象。不同的測(cè)試用例會(huì)有一些相同的對(duì)象被重復(fù)使用,比如窗口、按鈕、頁(yè)面等。這些公用的對(duì)象可被抽取出來(lái),在編寫(xiě)腳本時(shí)調(diào)用。當(dāng)這些對(duì)象的屬性因?yàn)樾枨蟮淖兏淖儠r(shí),只需要修改該對(duì)象屬性即可,無(wú)需修改所有相關(guān)的測(cè)試腳本。

(2)公用的環(huán)境。測(cè)試用例使用相同的測(cè)試環(huán)境,將該測(cè)試環(huán)境獨(dú)立封裝,在各個(gè)測(cè)試用例中靈活調(diào)用,增強(qiáng)腳本的可維護(hù)性。

(3)公用的方法。編寫(xiě)測(cè)試工具經(jīng)常使用的方法,方便腳本的調(diào)用。

(4)測(cè)試數(shù)據(jù)。一個(gè)測(cè)試用例往往需要執(zhí)行多個(gè)測(cè)試數(shù)據(jù),可將測(cè)試數(shù)據(jù)放在獨(dú)立的文件中,由測(cè)試腳本執(zhí)行到該用例時(shí)自動(dòng)讀取測(cè)試數(shù)據(jù)文件,以達(dá)到數(shù)據(jù)覆蓋的目的。

3)自動(dòng)測(cè)試腳本的編寫(xiě)

自動(dòng)測(cè)試腳本的編寫(xiě)過(guò)程是具體的測(cè)試用例的腳本轉(zhuǎn)換。建議以錄制為參考,以編寫(xiě)腳本為主要行為,避免錄制腳本帶來(lái)的冗余、公用元素的不可調(diào)用、腳本的調(diào)試復(fù)雜等問(wèn)題。

4)腳本的測(cè)試與試運(yùn)行

事實(shí)上,測(cè)試用例形成的腳本通過(guò)測(cè)試后,并不意味著執(zhí)行多個(gè)甚至所有的測(cè)試用例就不會(huì)出錯(cuò)。輸入數(shù)據(jù)以及測(cè)試環(huán)境的改變,都會(huì)導(dǎo)致測(cè)試結(jié)果受到影響甚至失敗。因此,腳本的測(cè)試與試運(yùn)行極為重要,需要檢查多個(gè)腳本不能按計(jì)劃執(zhí)行的原因,并保證其得到修復(fù)。

6.2自動(dòng)測(cè)試發(fā)展歷程

如圖6.1所示,自動(dòng)測(cè)試發(fā)展大致經(jīng)歷了如下四個(gè)階段。圖6.1自動(dòng)測(cè)試發(fā)展階段第一階段:機(jī)械方式實(shí)現(xiàn)人工重復(fù)操作。

最初,自動(dòng)測(cè)試主要研究如何采用自動(dòng)方法來(lái)實(shí)現(xiàn)和替代人工測(cè)試中的繁瑣和機(jī)械重復(fù)的工作。通過(guò)工人設(shè)計(jì)測(cè)試數(shù)據(jù),對(duì)程序進(jìn)行動(dòng)態(tài)執(zhí)行檢測(cè),腳本驅(qū)動(dòng)自動(dòng)執(zhí)行。此時(shí)的自動(dòng)測(cè)試活動(dòng)只是軟件測(cè)試過(guò)程的偶然行為,可在一定程度上提高效率,簡(jiǎn)化測(cè)試人員工作,但對(duì)整體的測(cè)試過(guò)程并無(wú)太大改進(jìn)。

第二階段:統(tǒng)計(jì)分析的自動(dòng)測(cè)試。

只有自動(dòng)測(cè)試結(jié)果具有可靠性,其使用才具有實(shí)際的意義。針對(duì)不同的測(cè)試準(zhǔn)則和測(cè)試策略,指導(dǎo)測(cè)試的自動(dòng)化過(guò)程以及對(duì)測(cè)試的結(jié)果進(jìn)行評(píng)估。第三階段:面向目標(biāo)的自動(dòng)測(cè)試技術(shù)。

軟件測(cè)試并不是機(jī)械和隨機(jī)地發(fā)現(xiàn)錯(cuò)誤,而是帶有很強(qiáng)的目的性。進(jìn)化計(jì)算和人工智能等技術(shù),以及各種高性能的算法被引入自動(dòng)測(cè)試技術(shù)。

第四階段:智能應(yīng)用的自動(dòng)測(cè)試技術(shù)。

能力成熟度模型被引入軟件工程,測(cè)試業(yè)界產(chǎn)生對(duì)應(yīng)的測(cè)試成熟度模型。不同的自動(dòng)測(cè)試等級(jí)成為測(cè)試好壞的一個(gè)衡量依據(jù)。

6.3測(cè)試成熟度模型

1.初始級(jí)

TMM初始級(jí)軟件測(cè)試過(guò)程的特點(diǎn)是測(cè)試過(guò)程無(wú)序,有時(shí)甚至是混亂的,幾乎沒(méi)有妥善定義的。初始級(jí)中軟件的測(cè)試與調(diào)試常常被混為一談,軟件開(kāi)發(fā)過(guò)程中缺乏測(cè)試資源、工具以及訓(xùn)練有素的測(cè)試人員。初始級(jí)的軟件測(cè)試過(guò)程沒(méi)有定義成熟度目標(biāo)。

2.定義級(jí)

TMM的定義級(jí)中,測(cè)試已具備基本的測(cè)試技術(shù)和方法,軟件的測(cè)試與調(diào)試已經(jīng)明確地被區(qū)分開(kāi)。這時(shí),測(cè)試被定義為軟件生命周期中的一個(gè)階段,它緊隨編碼階段之后,由于測(cè)試計(jì)劃往往在編碼之后才得以制訂,這顯然有背于軟件工程的要求。

TMM的定義級(jí)中需實(shí)現(xiàn)3個(gè)成熟度目標(biāo):制訂測(cè)試與調(diào)試目標(biāo),啟動(dòng)測(cè)試計(jì)劃過(guò)程,制度化基本的測(cè)試技術(shù)和方法。

1)制訂測(cè)試與調(diào)試目標(biāo)

軟件組織必須區(qū)分軟件開(kāi)發(fā)的測(cè)試過(guò)程與調(diào)試過(guò)程,識(shí)別各自的目標(biāo)、任務(wù)和活動(dòng)。正確區(qū)分這兩個(gè)過(guò)程是提高軟件組織測(cè)試能力的基礎(chǔ)。與調(diào)試工作不同,測(cè)試工作是一種有計(jì)劃的活動(dòng),可以進(jìn)行管理和控制。這種管理和控制活動(dòng)需要制訂相應(yīng)的策略和政策,以確定和協(xié)調(diào)這兩個(gè)過(guò)程。

制訂測(cè)試與調(diào)試目標(biāo)包含5個(gè)子成熟度目標(biāo):

(1)分別形成測(cè)試組織和調(diào)試組織,并有經(jīng)費(fèi)支持。

(2)規(guī)劃并記錄測(cè)試目標(biāo)。

(3)規(guī)劃并記錄調(diào)試目標(biāo)。

(4)將測(cè)試和調(diào)試目標(biāo)形成文檔,并分發(fā)至項(xiàng)目涉及的所有管理人員和開(kāi)發(fā)人員。

(5)將測(cè)試目標(biāo)反映在測(cè)試計(jì)劃中。

2)啟動(dòng)測(cè)試計(jì)劃過(guò)程

測(cè)試計(jì)劃作為過(guò)程可重復(fù)、可定義和可管理的基礎(chǔ),包括測(cè)試目的、風(fēng)險(xiǎn)分析、測(cè)試策略以及測(cè)試設(shè)計(jì)規(guī)格說(shuō)明和測(cè)試用例。此外,測(cè)試計(jì)劃還應(yīng)說(shuō)明如何分配測(cè)試資源,如何劃分單元測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試和驗(yàn)收測(cè)試。啟動(dòng)測(cè)試計(jì)劃過(guò)程包含5個(gè)子目標(biāo):

(1)建立組織內(nèi)的測(cè)試計(jì)劃組織并予以經(jīng)費(fèi)支持。

(2)建立組織內(nèi)的測(cè)試計(jì)劃政策框架并予以管理上的支持。

(3)開(kāi)發(fā)測(cè)試計(jì)劃模板并分發(fā)至項(xiàng)目的管理者和開(kāi)發(fā)者。

(4)建立一種機(jī)制,使用戶(hù)需求成為測(cè)試計(jì)劃的依據(jù)之一。

(5)評(píng)價(jià)、推薦和獲得基本的計(jì)劃工具并從管理上支持工具的使用。

3)制度化基本的測(cè)試技術(shù)和方法

改進(jìn)測(cè)試過(guò)程能力,組織中應(yīng)用基本的測(cè)試技術(shù)和方法,并說(shuō)明何時(shí)和怎樣使用這些技術(shù)、方法和支持工具。基本測(cè)試技術(shù)和方法制度化有如下2個(gè)子目標(biāo):

(1)在組織范圍內(nèi)成立測(cè)試技術(shù)組,研究、評(píng)價(jià)和推薦基本的測(cè)試技術(shù)和測(cè)試方法,推薦支持這些技術(shù)與方法的基本工具。

(2)制訂管理方針以保證在全組織范圍內(nèi)一致使用所推薦的技術(shù)和方法。

3.集成級(jí)

TMM的集成級(jí)中,測(cè)試不再是編碼階段之后的階段,已被擴(kuò)展成與軟件生命周期融為一體的一組活動(dòng)。測(cè)試活動(dòng)遵循V字模型。測(cè)試人員在需求分析階段便開(kāi)始著手制訂測(cè)試計(jì)劃,根據(jù)用戶(hù)需求建立測(cè)試目標(biāo)和設(shè)計(jì)測(cè)試用例。軟件測(cè)試組織提供測(cè)試技術(shù)培訓(xùn),測(cè)試工具支持關(guān)鍵測(cè)試活動(dòng)。但是,集成級(jí)沒(méi)有正式的評(píng)審程序,沒(méi)有建立質(zhì)量過(guò)程和產(chǎn)品屬性的測(cè)試度量。

集成級(jí)要實(shí)現(xiàn)如下4個(gè)成熟度目標(biāo):建立軟件測(cè)試組織,制訂技術(shù)培訓(xùn)計(jì)劃,測(cè)試軟件生命周期,控制和監(jiān)視測(cè)試過(guò)程。

1)建立軟件測(cè)試組織

軟件測(cè)試過(guò)程對(duì)軟件產(chǎn)品質(zhì)量有直接影響。測(cè)試往往是在時(shí)間緊、壓力大的情況下完成一系列復(fù)雜活動(dòng),測(cè)試組完成與測(cè)試有關(guān)的活動(dòng),包括制訂測(cè)試計(jì)劃,實(shí)施測(cè)試執(zhí)行,記錄測(cè)試結(jié)果,制訂與測(cè)試有關(guān)的標(biāo)準(zhǔn)和測(cè)試度量,建立測(cè)試數(shù)據(jù)庫(kù),測(cè)試重用,測(cè)試跟蹤以及測(cè)試評(píng)價(jià)等。

建立軟件測(cè)試組織要實(shí)現(xiàn)4個(gè)子目標(biāo):

(1)建立全組織范圍內(nèi)的測(cè)試組,并得到上級(jí)管理層的領(lǐng)導(dǎo)和各方面的支持,包括經(jīng)費(fèi)支持。

(2)定義測(cè)試組的作用和職責(zé)。

(3)由訓(xùn)練有素的人員組成測(cè)試組。

(4)建立與用戶(hù)或客戶(hù)的聯(lián)系,收集他們對(duì)測(cè)試的需求和建議。

2)制訂技術(shù)培訓(xùn)計(jì)劃

為高效率地完成好測(cè)試工作,測(cè)試人員必須經(jīng)過(guò)適當(dāng)?shù)呐嘤?xùn)。

制訂技術(shù)培訓(xùn)規(guī)劃有3個(gè)子目標(biāo):

(1)制訂組織的培訓(xùn)計(jì)劃,并在管理上提供包括經(jīng)費(fèi)在內(nèi)的支持。

(2)制訂培訓(xùn)目標(biāo)和具體的培訓(xùn)計(jì)劃。

(3)成立培訓(xùn)組,配備相應(yīng)的工具、設(shè)備和教材。

3)測(cè)試軟件生命周期

提高測(cè)試成熟度和改善軟件產(chǎn)品質(zhì)量都要求將測(cè)試工作與軟件生命周期中的各個(gè)階段聯(lián)系起來(lái)。該階段有4個(gè)子目標(biāo):

(1)將測(cè)試階段劃分為子階段,并與軟件生命周期的各階段相聯(lián)系。

(2)基于已定義的測(cè)試子階段,采用軟件生命周期V字模型。

(3)制訂與測(cè)試相關(guān)的工作產(chǎn)品的標(biāo)準(zhǔn)。

(4)建立測(cè)試人員與開(kāi)發(fā)人員共同工作的機(jī)制。這種機(jī)制有利于將測(cè)試活動(dòng)集成于軟件生命周期中。

4)控制和監(jiān)視測(cè)試過(guò)程

軟件組織采取如下措施:制訂測(cè)試產(chǎn)品的標(biāo)準(zhǔn),制訂與測(cè)試相關(guān)的偶發(fā)事件的處理預(yù)案,確定測(cè)試?yán)锍瘫?,確定評(píng)估測(cè)試效率的度量,建立測(cè)試日志等??刂坪捅O(jiān)視測(cè)試過(guò)程有3個(gè)子目標(biāo):

(1)制訂控制和監(jiān)視測(cè)試過(guò)程的機(jī)制和政策。

(2)定義、記錄并分配一組與測(cè)試過(guò)程相關(guān)的基本測(cè)量。

(3)開(kāi)發(fā)、記錄并文檔化一組糾偏措施和偶發(fā)事件處理預(yù)案,以備實(shí)際測(cè)試嚴(yán)重偏離計(jì)劃時(shí)使用。

4.管理和測(cè)量級(jí)

TMM的管理和測(cè)量級(jí)中,測(cè)試活動(dòng)包括軟件生命周期中各個(gè)階段的評(píng)審、審查和追查,使得測(cè)試活動(dòng)涵蓋軟件驗(yàn)證和確認(rèn)活動(dòng)。因?yàn)闇y(cè)試是可以量化并度量的過(guò)程,根據(jù)管理和測(cè)量級(jí)要求,與軟件測(cè)試相關(guān)的活動(dòng),如測(cè)試計(jì)劃、測(cè)試設(shè)計(jì)和測(cè)試步驟都要經(jīng)過(guò)評(píng)審。為了測(cè)量測(cè)試過(guò)程,建立測(cè)試數(shù)據(jù)庫(kù),用于收集和記錄測(cè)試用例,應(yīng)記錄缺陷并按缺陷的嚴(yán)重程度劃分等級(jí)。

管理和測(cè)量級(jí)有3個(gè)要實(shí)現(xiàn)的成熟度目標(biāo):建立組織范圍內(nèi)的評(píng)審程序,建立測(cè)試過(guò)程的測(cè)量程序和軟件質(zhì)量評(píng)價(jià)。

1)建立組織范圍內(nèi)的評(píng)審程序

軟件組織應(yīng)在軟件生命周期的各階段實(shí)施評(píng)審,以便盡早有效地識(shí)別、分類(lèi)和消除軟件中的缺陷。建立評(píng)審程序有3個(gè)子目標(biāo):

(1)管理層要制訂評(píng)審政策支持評(píng)審過(guò)程。

(2)測(cè)試組和軟件質(zhì)量保證組要確定并文檔化整個(gè)軟件生命周期中的評(píng)審目標(biāo)、評(píng)審計(jì)劃、評(píng)審步驟以及評(píng)審記錄機(jī)制。

(3)評(píng)審項(xiàng)由上層組織指定。通過(guò)培訓(xùn)參加評(píng)審的人員,使他們理解和遵循相關(guān)的評(píng)審政策和評(píng)審步驟。

2)建立測(cè)試過(guò)程的測(cè)量程序

測(cè)試過(guò)程的測(cè)量程序是評(píng)價(jià)測(cè)試過(guò)程質(zhì)量、改進(jìn)測(cè)試過(guò)程的基礎(chǔ),對(duì)監(jiān)視和控制測(cè)試過(guò)程至關(guān)重要。測(cè)量包括測(cè)試進(jìn)展、測(cè)試費(fèi)用、軟件錯(cuò)誤和缺陷數(shù)據(jù)以及產(chǎn)品測(cè)量等。建立測(cè)試測(cè)量程序有3個(gè)子目標(biāo):

(1)定義組織范圍內(nèi)的測(cè)試過(guò)程測(cè)量政策和目標(biāo)。

(2)制訂測(cè)試過(guò)程測(cè)量計(jì)劃。測(cè)量計(jì)劃中應(yīng)給出收集、分析和應(yīng)用測(cè)量數(shù)據(jù)的方法。

(3)應(yīng)用測(cè)量結(jié)果制訂測(cè)試過(guò)程改進(jìn)計(jì)劃。

3)軟件質(zhì)量評(píng)價(jià)

軟件質(zhì)量評(píng)價(jià)內(nèi)容包括定義可測(cè)量的軟件質(zhì)量屬性,定義評(píng)價(jià)軟件工作產(chǎn)品的質(zhì)量目標(biāo)等項(xiàng)工作。軟件質(zhì)量評(píng)價(jià)有2個(gè)子目標(biāo):

(1)管理層、測(cè)試組和軟件質(zhì)量保證組要制訂與質(zhì)量有關(guān)的政策、質(zhì)量目標(biāo)和軟件產(chǎn)品質(zhì)量屬性。

(2)測(cè)試過(guò)程應(yīng)是結(jié)構(gòu)化、已測(cè)量和已評(píng)價(jià)的,以保證達(dá)到質(zhì)量目標(biāo)。

5.優(yōu)化、預(yù)防缺陷和質(zhì)量控制級(jí)

本級(jí)的測(cè)試過(guò)程是可重復(fù)、可定義、可管理的,因此軟件組織優(yōu)化調(diào)整和持續(xù)改進(jìn)測(cè)試過(guò)程。測(cè)試過(guò)程的管理為持續(xù)改進(jìn)產(chǎn)品質(zhì)量和過(guò)程質(zhì)量提供指導(dǎo),并提供必要的基礎(chǔ)

設(shè)施。

優(yōu)化、預(yù)防缺陷和質(zhì)量控制級(jí)有3個(gè)要實(shí)現(xiàn)的成熟度目標(biāo)。

1)應(yīng)用過(guò)程數(shù)據(jù)預(yù)防缺陷

此時(shí)的軟件組織能夠記錄軟件缺陷,分析缺陷模式,識(shí)別錯(cuò)誤根源,制訂防止缺陷再次發(fā)生的計(jì)劃,提供跟蹤這種活動(dòng)的辦法,并將這些活動(dòng)貫穿于全組織的各個(gè)項(xiàng)目中。應(yīng)用過(guò)程數(shù)據(jù)預(yù)防缺陷的成熟度有如下4個(gè)子目標(biāo):

(1)成立缺陷預(yù)防組。

(2)識(shí)別和記錄在軟件生命周期各階段引入的軟件缺陷和消除的缺陷。

(3)建立缺陷原因分析機(jī)制,確定缺陷原因。

(4)管理、開(kāi)發(fā)和測(cè)試人員互相配合制訂缺陷預(yù)防計(jì)劃,防止已識(shí)別的缺陷再次發(fā)生。缺陷預(yù)防計(jì)劃要具有可跟蹤性。

2)支持軟件質(zhì)量控制

軟件組織通過(guò)采用統(tǒng)計(jì)采樣技術(shù),測(cè)量組織的自信度,測(cè)量用戶(hù)對(duì)組織的信賴(lài)度以及設(shè)定軟件可靠性目標(biāo)來(lái)推進(jìn)測(cè)試過(guò)程。為了加強(qiáng)軟件質(zhì)量控制,測(cè)試組和質(zhì)量保證組要有負(fù)責(zé)質(zhì)量的人員參加,他們應(yīng)掌握能減少軟件缺陷和改進(jìn)軟件質(zhì)量的技術(shù)和工具。支持統(tǒng)計(jì)質(zhì)量控制的子目標(biāo)有:

(1)軟件測(cè)試組和軟件質(zhì)量保證組建立軟件產(chǎn)品的質(zhì)量目標(biāo),如產(chǎn)品的缺陷密度、組織的自信度以及可信賴(lài)度等。

(2)測(cè)試管理者要將這些質(zhì)量目標(biāo)納入測(cè)試計(jì)劃中。

(3)培訓(xùn)測(cè)試組學(xué)習(xí)和使用統(tǒng)計(jì)學(xué)方法。

(4)收集用戶(hù)需求以建立使用模型。

3)優(yōu)化測(cè)試過(guò)程

優(yōu)化測(cè)試過(guò)程在測(cè)試成熟度的最高級(jí),已能夠量化測(cè)試過(guò)程。這樣就可以依據(jù)量化結(jié)果來(lái)調(diào)整測(cè)試過(guò)程,不斷提高測(cè)試過(guò)程能力,并且軟件組織具有支持這種能力持續(xù)增長(zhǎng)的基礎(chǔ)設(shè)施?;A(chǔ)設(shè)施包括政策、標(biāo)準(zhǔn)、培訓(xùn)、設(shè)備、工具以及組織結(jié)構(gòu)等。優(yōu)化測(cè)試過(guò)程包含:

(1)識(shí)別需要改進(jìn)的測(cè)試活動(dòng)。

(2)實(shí)施改進(jìn)。

(3)跟蹤改進(jìn)進(jìn)程。

(4)不斷評(píng)估所采用的與測(cè)試相關(guān)的新工具和新方法。

(5)支持技術(shù)更新。優(yōu)化測(cè)試過(guò)程所需子成熟度目標(biāo)包括:

(1)建立測(cè)試過(guò)程改進(jìn)組,監(jiān)視測(cè)試過(guò)程并識(shí)別其需要改進(jìn)的部分。

(2)建立適當(dāng)?shù)臋C(jī)制以評(píng)估改進(jìn)測(cè)試過(guò)程能力和測(cè)試成熟度的新工具和新技術(shù)。

(3)持續(xù)評(píng)估測(cè)試過(guò)程的有效性,確定測(cè)試終止準(zhǔn)則。終止測(cè)試的準(zhǔn)則要與質(zhì)量目標(biāo)相聯(lián)系。

總之,TMM的5個(gè)階段可總結(jié)如下:

第一階段:測(cè)試和調(diào)試沒(méi)有區(qū)別,除了支持調(diào)試外,測(cè)試沒(méi)有其它目的。

第二階段:測(cè)試的目的是表明軟件能夠工作。第三階段:測(cè)試的目的是表明軟件能夠正常工作。

第四階段:測(cè)試的目的不是要證明什么,而是要把軟件不能正常工作的預(yù)知風(fēng)險(xiǎn)降低到能夠接受的程度。

第五階段:測(cè)試成為了自覺(jué)的約束,不用太多的測(cè)試投入即可產(chǎn)生低風(fēng)險(xiǎn)的軟件。

綜上所述,表6.1給出了測(cè)試成熟度模型的基本描述。

6.4三代測(cè)試框架

測(cè)試框架是為自動(dòng)化軟件測(cè)試提供支持的集合。測(cè)試框架經(jīng)歷了如下發(fā)展過(guò)程:

第一代,無(wú)測(cè)試框架。

無(wú)測(cè)試框架幾乎沒(méi)有起到自動(dòng)化測(cè)試管理作用,測(cè)試需求與測(cè)試用例關(guān)聯(lián)非常弱,對(duì)自動(dòng)化測(cè)試人員的編程水平以及對(duì)測(cè)試方面的整體知識(shí)把握要求都非常高。

第二代,部分的測(cè)試框架。

部分的測(cè)試框架完成部分自動(dòng)化測(cè)試管理,實(shí)現(xiàn)對(duì)測(cè)試用例的管理和缺陷跟蹤,面向業(yè)務(wù)流,實(shí)現(xiàn)自動(dòng)化測(cè)試需編寫(xiě)程序。第三代,完整的測(cè)試框架。

完整的測(cè)試框架具有如下功能:

(1)基于完整的BPT的測(cè)試框架;

(2)擁有數(shù)據(jù)場(chǎng)景管理;

(3)企業(yè)級(jí)的面向工作流的缺陷管理;

(4)業(yè)務(wù)流復(fù)用框架,輕松完成;

(5)高伸縮的自動(dòng)執(zhí)行框架。

6.5自動(dòng)測(cè)試原理

自動(dòng)測(cè)試模擬人工對(duì)計(jì)算機(jī)的操作過(guò)程和操作行為,采用類(lèi)似于編譯的方法對(duì)程序代碼進(jìn)行檢查。自動(dòng)測(cè)試原理可概括如下:直接對(duì)代碼進(jìn)行靜態(tài)和動(dòng)態(tài)分析、測(cè)試過(guò)程的捕獲和回放、測(cè)試腳本技術(shù)和虛擬用戶(hù)技術(shù)。

1.代碼分析

代碼分析是白盒測(cè)試的自動(dòng)化方法,類(lèi)似于高級(jí)編譯系統(tǒng),一般針對(duì)高級(jí)語(yǔ)言構(gòu)造分析工具,定義類(lèi)、對(duì)象、函數(shù)、變量等定義規(guī)則和語(yǔ)法規(guī)則,對(duì)代碼進(jìn)行語(yǔ)法掃描,找出不符合編碼規(guī)范的地方,根據(jù)某種質(zhì)量模型評(píng)價(jià)代碼質(zhì)量,生成系統(tǒng)的調(diào)用關(guān)系圖等。

2.錄制回放

錄制回放是黑盒測(cè)試的自動(dòng)化方法,通過(guò)捕獲用戶(hù)的每一步操作,如用戶(hù)界面的像素坐標(biāo)或程序顯示對(duì)象(窗口、按鈕、滾動(dòng)條等)的位置以及相應(yīng)操作、狀態(tài)變化或?qū)傩宰兓靡环N腳本語(yǔ)言記錄描述,模擬用戶(hù)操作?;胤艜r(shí),將腳本語(yǔ)言轉(zhuǎn)換為屏幕操作,比較被測(cè)系統(tǒng)的輸出記錄與預(yù)先給定的標(biāo)準(zhǔn)結(jié)果。

目前的自動(dòng)化負(fù)載測(cè)試解決方案幾乎都是采用“錄制—回放”的技術(shù)。所謂“錄制—回放”技術(shù),就是先由手工完成一遍測(cè)試流程,由計(jì)算機(jī)記錄下這個(gè)流程期間客戶(hù)端和服務(wù)器端之間的通信信息(這些信息通常是一些協(xié)議和數(shù)據(jù)),并形成特定的腳本程序。然后在系統(tǒng)的統(tǒng)一管理下同時(shí)生成多個(gè)虛擬用戶(hù),并運(yùn)行該腳本,監(jiān)控硬件和軟件平臺(tái)的性能,提供分析報(bào)告或相關(guān)資料。通過(guò)模擬出成百上千的用戶(hù)對(duì)應(yīng)用系統(tǒng)進(jìn)行負(fù)載能力的測(cè)試。

3.腳本技術(shù)

1)腳本概述

腳本是一組測(cè)試工具執(zhí)行的指令集合,也是計(jì)算機(jī)程序的另一種表現(xiàn)形式。腳本至少具有如下的功能:

(1)支持多種常用的變量和數(shù)據(jù)類(lèi)型;

(2)支持各種條件邏輯和循環(huán)結(jié)構(gòu);

(3)支持函數(shù)的創(chuàng)建和調(diào)用。

腳本有兩種:一種是手動(dòng)編寫(xiě)或嵌入源代碼;一種是通過(guò)測(cè)試工具提供的錄制功能,運(yùn)行程序自動(dòng)錄制生成腳本。錄制生成腳本簡(jiǎn)單且智能化,容易操作,但僅靠自動(dòng)錄制腳本無(wú)法滿(mǎn)足用戶(hù)復(fù)雜的要求,因此需要手工添加函數(shù)進(jìn)行參數(shù)設(shè)置,增強(qiáng)腳本的實(shí)用性。

2)腳本分類(lèi)

腳本分為以下幾種類(lèi)型:

(1)線(xiàn)性腳本。錄制手工執(zhí)行的測(cè)試用例得到的線(xiàn)性腳本,包含用戶(hù)鍵盤(pán)和鼠標(biāo)輸入,用于檢查某個(gè)窗口是否彈出等操作。

(2)結(jié)構(gòu)化腳本。結(jié)構(gòu)化腳本類(lèi)似于結(jié)構(gòu)化程序設(shè)計(jì),包含控制腳本執(zhí)行指令,具有順序、循環(huán)和分支等結(jié)構(gòu)。結(jié)構(gòu)化腳本的優(yōu)點(diǎn)是健壯性好,通過(guò)循環(huán)和調(diào)用減少工作量,缺點(diǎn)是較復(fù)雜,而且測(cè)試數(shù)據(jù)仍然與腳本“捆綁”在一起。

(3)共享腳本。共享腳本側(cè)重描述腳本中共享的特性,腳本可以被多個(gè)測(cè)試用例使用,一個(gè)腳本可以被另一個(gè)腳本調(diào)用。當(dāng)重復(fù)任務(wù)發(fā)生變化時(shí),只需修改一個(gè)腳本,便可達(dá)到腳本共享的目的。

(4)數(shù)據(jù)驅(qū)動(dòng)腳本。數(shù)據(jù)驅(qū)動(dòng)腳本將測(cè)試輸入到獨(dú)立的數(shù)據(jù)文件(數(shù)據(jù)庫(kù))中,而不是綁定在腳本中。執(zhí)行時(shí)是從數(shù)據(jù)文件中讀數(shù)據(jù),使得同一個(gè)腳本執(zhí)行不同的測(cè)試,只需對(duì)數(shù)據(jù)進(jìn)行修改,不必修改執(zhí)行腳本。通過(guò)一個(gè)測(cè)試腳本指定不同的測(cè)試數(shù)據(jù)文件,實(shí)現(xiàn)較多的測(cè)試用例,將數(shù)據(jù)文件單獨(dú)列出,選擇合適的數(shù)據(jù)格式和形式,達(dá)到簡(jiǎn)化數(shù)據(jù)、減少出錯(cuò)的目的。

(5)關(guān)鍵字驅(qū)動(dòng)腳本。關(guān)鍵字驅(qū)動(dòng)作為比較復(fù)雜的數(shù)據(jù)驅(qū)動(dòng)技術(shù)的邏輯擴(kuò)展,是將數(shù)據(jù)文件變成測(cè)試用例的描述,用一系列關(guān)鍵字指定要執(zhí)行的任務(wù)。關(guān)鍵字驅(qū)動(dòng)技術(shù)假設(shè)測(cè)試者具有與被測(cè)系統(tǒng)相關(guān)的知識(shí)和技術(shù),不必告之如何進(jìn)行詳細(xì)動(dòng)作,以及測(cè)試用例如何執(zhí)行,只說(shuō)明測(cè)試用例即可。關(guān)鍵字驅(qū)動(dòng)腳本多使用說(shuō)明性方法和描述性方法。

4.虛擬用戶(hù)技術(shù)

虛擬用戶(hù)技術(shù)通過(guò)模擬真實(shí)用戶(hù)行為對(duì)被測(cè)程序(ApplicationUnderTest,AUT)施加負(fù)載,測(cè)量AUT的性能指標(biāo)值,如事務(wù)的響應(yīng)時(shí)間、服務(wù)器吞吐量等。虛擬用戶(hù)技術(shù)以真實(shí)用戶(hù)的“商務(wù)處理”(用戶(hù)為完成一個(gè)商業(yè)業(yè)務(wù)而執(zhí)行的一系列操作)作為負(fù)載的基本組成單位,用“虛擬用戶(hù)”(模擬用戶(hù)行為的測(cè)試腳本)模擬真實(shí)用戶(hù)。

負(fù)載需求(例如并發(fā)虛擬用戶(hù)數(shù)、處理的執(zhí)行頻率等)通過(guò)人工收集和分析系統(tǒng)使用信息來(lái)獲得,負(fù)載測(cè)試工具模擬成千上萬(wàn)個(gè)來(lái)自不同IP地址、不同瀏覽器類(lèi)型以及不同網(wǎng)絡(luò)連接方式的虛擬用戶(hù)同時(shí)訪(fǎng)問(wèn)AUT,并實(shí)時(shí)監(jiān)視系統(tǒng)性能,幫助測(cè)試人員分析測(cè)試結(jié)果。虛擬用戶(hù)技術(shù)具有成熟測(cè)試工具支持,但確定負(fù)載的信息要依靠人工收集,因此準(zhǔn)確性不高。

6.6自動(dòng)測(cè)試的19條經(jīng)驗(yàn)教訓(xùn)

ElfriedeDustin在總結(jié)了多年的自動(dòng)測(cè)試項(xiàng)目經(jīng)驗(yàn)后,提出了19條經(jīng)驗(yàn)教訓(xùn):

(1)在軟件開(kāi)發(fā)周期中使用的各種工具不能夠很輕易地整合在一起(Thevarioustoolsusedthroughoutthedevelopmentlifecycledidnoteasilyintegrate)。

(2)很多冗余的信息被存儲(chǔ)在多個(gè)庫(kù)中(Duplicateinformationwaskeptinmultiplerepositories)。

(3)被測(cè)試工具牽著鼻子走(Theautomatedtestingtooldrovethetestingeffort)。

(4)整個(gè)測(cè)試組的每個(gè)人都在忙著編寫(xiě)自動(dòng)測(cè)試腳本(Everyoneonthetestingstaffwasbusytryingtoautomatescripts)。

(5)重復(fù)開(kāi)發(fā)的勞動(dòng),嘗試編寫(xiě)一些非常復(fù)雜的測(cè)試腳本(Elaboratetestscriptsweredeveloped,duplicatingthedevelopmenteffort)。

(6)自動(dòng)測(cè)試腳本的創(chuàng)建往往會(huì)很麻煩,而不像工具廠(chǎng)商所吹噓的那樣簡(jiǎn)單易用(Automatedtestscriptcreationwascumbersome)。

(7)工具的培訓(xùn)開(kāi)展得太遲,測(cè)試工程師缺乏工具方面的知識(shí)(Trainingwastoolateintheprocess,sotestengineerslackedtoolknowledge)。

(8)測(cè)試工具在系統(tǒng)測(cè)試前兩周才引入(Thetesttoolwasintroducedtothetestingprogramwithtwoweeksleftforsystemtesting)。

(9)測(cè)試人員對(duì)工具有抵觸情緒(Testersresistedthetool)。

(10)對(duì)自動(dòng)化測(cè)試的期待值過(guò)高,期待及早得到回報(bào)(Therewereexpectationsofearlypayback)。

(11)工具在識(shí)別第三方控件方面存在問(wèn)題(Thetoolhadproblemsrecognizingthird-partycontrols(widgets))。

(12)缺乏測(cè)試腳本開(kāi)發(fā)的規(guī)范性指南(Alackoftestdevelopmentguidelineswasnoted)。

(13)某些測(cè)試工具需要插入代碼到被測(cè)試程序中,但是開(kāi)發(fā)人員直到測(cè)試后期才被告知這個(gè)問(wèn)題(Thetoolwasintrusive,butthedevelopmentstaffwasn’tinformedofthisproblemuntillateinthetestinglifecycle)。

(14)工具創(chuàng)建的報(bào)告沒(méi)什么用處(Reportsproducedbythetoolwereuseless)。

(15)在尚未確定系統(tǒng)工程環(huán)境之前就選擇和購(gòu)買(mǎi)工具(Toolswereselectedandpurchasedbeforeasystemengineeringenvironmentwasdefined)。

(16)工具的不同版本都在使用(Varioustoolversionswereinuse)。

(17)工具的升級(jí)與現(xiàn)有的系統(tǒng)工程環(huán)境不兼容(Thenewtoolupgradewasn’tcompatiblewiththeexistingsystemengineeringenvironment)。

(18)工具的數(shù)據(jù)庫(kù)不允許擴(kuò)展(Thetool’sdatabasedidn’tallowforscalability)。

(19)未能正確地使用測(cè)試工具的管理功能,導(dǎo)致時(shí)間的浪費(fèi)(Incorrectuseofatesttool’smanagementfunctionalityresultsinwastedtime)。

6.7自動(dòng)測(cè)試研究熱點(diǎn)

目前,軟件自動(dòng)測(cè)試研究的主要熱點(diǎn)如下。

1.測(cè)試自動(dòng)化框架

實(shí)際測(cè)試情況中,項(xiàng)目開(kāi)發(fā)中同時(shí)包含了可實(shí)現(xiàn)自動(dòng)化的測(cè)試活動(dòng)以及難以完全實(shí)現(xiàn)自動(dòng)化的測(cè)試活動(dòng)。在自動(dòng)測(cè)試與軟件開(kāi)發(fā)過(guò)程相融合的過(guò)程中,自動(dòng)測(cè)試技術(shù)或測(cè)試方法難以完全匹配到整個(gè)項(xiàng)目中。而且,由于項(xiàng)目開(kāi)發(fā)的動(dòng)態(tài)特性,也難以使用通用的、普適的自動(dòng)測(cè)試模型來(lái)完成測(cè)試,這就要求設(shè)計(jì)出具有較大可塑性的自動(dòng)測(cè)試模型,在較少改動(dòng)或者配置的情況下,最大化適應(yīng)自動(dòng)化測(cè)試的需求。

2.測(cè)試自動(dòng)化腳本技術(shù)

在測(cè)試過(guò)程中,大量的測(cè)試行為被自動(dòng)化,測(cè)試人員指定一些簡(jiǎn)單的腳本,指導(dǎo)測(cè)試的自

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論