10自動(dòng)化測試.ppt_第1頁
10自動(dòng)化測試.ppt_第2頁
10自動(dòng)化測試.ppt_第3頁
10自動(dòng)化測試.ppt_第4頁
10自動(dòng)化測試.ppt_第5頁
已閱讀5頁,還剩75頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、ShiZhu_FFH,1,軟件自動(dòng)化測試基礎(chǔ),ShiZhu_FFH,2,軟件自動(dòng)化測試基礎(chǔ),自動(dòng)化測試基礎(chǔ) 軟件自動(dòng)化測試工具簡述 自動(dòng)化測試解決方案舉例,ShiZhu_FFH,3,自動(dòng)化測試基礎(chǔ),自動(dòng)化測試的定義 自動(dòng)化測試的意義 自動(dòng)化測試的引入 自動(dòng)化測試的原理和方法 軟件自動(dòng)化測試生存周期方法學(xué) 軟件自動(dòng)化測試生存周期方法學(xué)的應(yīng)用 自動(dòng)化測試存在的一些問題和限制 建立正確的自動(dòng)化測試目標(biāo),自動(dòng)化測試,什么是自動(dòng)化測試? 一般是指軟件測試的自動(dòng)化。自動(dòng)化測試可理解為測試過程自動(dòng)化和測試結(jié)果分析自動(dòng)化,包括測試活動(dòng)的管理與實(shí)施、測試腳本的開發(fā)與執(zhí)行。 軟件自動(dòng)化測試就是模擬手動(dòng)測試步驟,控

2、制被測軟件的執(zhí)行,完成全自動(dòng)或半自動(dòng)測試的過程。 全自動(dòng)測試:指不需人工干預(yù),由程序自動(dòng)完成測試的全過程。 半自動(dòng)測試:指在測試過程中,需手動(dòng)輸入測試用例或選擇測試路徑,再由自動(dòng)測試程序按照人工指定的要求完成自動(dòng)測試。,ShiZhu_FFH,4,ShiZhu_FFH,5,自動(dòng)化測試的意義,軟件測試工作量大,重復(fù)性高 通常,軟件測試的工作量很大(據(jù)統(tǒng)計(jì),測試會(huì)占用到40%的開發(fā)時(shí)間;一些可靠性要求非常高的軟件,測試時(shí)間甚至占到開發(fā)時(shí)間的60%)。而測試中的許多操作是重復(fù)性的、非智力性的和非創(chuàng)造性的,并要求做準(zhǔn)確細(xì)致的工作,計(jì)算機(jī)就最適合于代替人工去完成這樣的任務(wù)。 要理解為什么要進(jìn)行自動(dòng)化測試,

3、可以從兩個(gè)方面考慮: 一是手工測試的局限性; 二是軟件自動(dòng)化測試所帶來的好處。,ShiZhu_FFH,6,手工測試的局限性,手工測試優(yōu)點(diǎn) 具有創(chuàng)造性; 可舉一反三,從一個(gè)測試用例想到另一些測試用例,特別是可考慮測試用例不能覆蓋的一些特殊或邊界情況; 對(duì)那些復(fù)雜的邏輯判斷、界面是否友好,手工測試有明顯優(yōu)勢(shì)。 手工測試的局限性 通過手工測試無法做到覆蓋所有代碼路徑。 簡單的功能性測試用例在每一輪測試中都不能少,而且具有一定的機(jī)械性、重復(fù)性,工作量往往較大。 許多與時(shí)序、死鎖、資源沖突、多線程等有關(guān)的錯(cuò)誤,通過手工測試很難捕捉到。 (接下頁),ShiZhu_FFH,7,手工測試的局限性,手工測試的局

4、限性 進(jìn)行系統(tǒng)負(fù)載、性能測試時(shí),需要模擬大量數(shù)據(jù)或大量并發(fā)用戶等各種應(yīng)用場合時(shí),很難通過于工測試來進(jìn)行。 進(jìn)行系統(tǒng)可靠性測試時(shí),需要模擬系統(tǒng)運(yùn)行10年、幾十年,以驗(yàn)證系統(tǒng)能否穩(wěn)定運(yùn)行,這也是手工測試無法模擬的。 如果有大量(幾千)的測試用例,需要在短時(shí)間內(nèi)(1天)完成,手工測試幾乎不可能做到。,ShiZhu_FFH,8,自動(dòng)化測試帶來的好處,縮短軟件開發(fā)測試周期,可讓產(chǎn)品更快投放市場。 提高測試效率,充分利用硬件資源。 節(jié)省人力資源,降低測試成本。 增強(qiáng)測試的穩(wěn)定性和可靠性。 提高軟件測試的準(zhǔn)確度和精確度,增加軟件信任度。 測試工具使測試工作相對(duì)較容易,且能產(chǎn)生更高質(zhì)量的測試結(jié)果。 手工不能做

5、的事情,自動(dòng)化測試能做,如負(fù)載、性能測試。 軟件測試實(shí)行自動(dòng)化進(jìn)程,絕不是因?yàn)閰挓┝酥貜?fù)的測試工作,而是因?yàn)闇y試工作的需要,更準(zhǔn)確地說是回歸測試和系統(tǒng)測試的需要。,ShiZhu_FFH,9,自動(dòng)化測試的引入,正確的認(rèn)識(shí)觀 在進(jìn)行自動(dòng)化測試前,首先要建立一個(gè)對(duì)軟件測試自動(dòng)化的認(rèn)識(shí)觀。 軟件測試工具能提高測試效率、覆蓋率和可靠性等,自動(dòng)化測試雖然具有很多優(yōu)點(diǎn),但它只是測試工作的一部分,是對(duì)手工測試的一種補(bǔ)充。,自動(dòng)化測試的引入,前提條件 通常需要同時(shí)滿足以下條件: 1) 軟件需求變動(dòng)不頻繁 從維護(hù)成本考慮:相對(duì)穩(wěn)定的模塊進(jìn)行自動(dòng)化測試,而變動(dòng)較大的仍是用手工測試。 2) 項(xiàng)目周期足夠長 自動(dòng)化測試

6、本身就是一個(gè)測試軟件的開發(fā)過程,需較長時(shí)間完成。如項(xiàng)目周期較短,就沒足夠的時(shí)間去支持這個(gè)過程。 3) 自動(dòng)化測試腳本可重復(fù)使用 成本應(yīng)不大于所創(chuàng)造的經(jīng)濟(jì)價(jià)值,ShiZhu_FFH,10,ShiZhu_FFH,11,自動(dòng)化測試的引入,自動(dòng)化測試和手工測試的范圍 自動(dòng)化測試絕不能代替手工測試,它們各有各自的特點(diǎn),其測試對(duì)象和測試范圍都不一樣: 在系統(tǒng)功能邏輯測試、驗(yàn)收測試、適用性測試、涉及物理交互性測試時(shí),多采用黑盒測試的手工測試方法。 單元測試、集成測試、系統(tǒng)負(fù)載測試、性能測試、穩(wěn)定性測試、可靠性測試等比較適合采用自動(dòng)化測試。 那種不穩(wěn)定軟件的測試、開發(fā)周期很短的軟件、一次性的軟件等不適合自動(dòng)化

7、測試。 工具本身并沒有想象力和靈活性,根據(jù)報(bào)道,自動(dòng)化測試只能發(fā)現(xiàn)15的缺陷,而手工測試可以發(fā)現(xiàn)85的缺陷。 (接下頁),ShiZhu_FFH,12,自動(dòng)化測試的引入,自動(dòng)化測試和手工測試的范圍(續(xù)) 自動(dòng)化測試工具在進(jìn)行功能測試時(shí),其準(zhǔn)確的含義是回歸測試工具,這時(shí)工具不能發(fā)現(xiàn)更多的新問題,但可以保證對(duì)已經(jīng)測試過部分的準(zhǔn)確性和客觀性。 多數(shù)情況下,手工測試和自動(dòng)化測試應(yīng)該相結(jié)合,以最有效的方法來完成測試任務(wù)。,ShiZhu_FFH,13,自動(dòng)化測試的引入,通常,當(dāng)軟件開發(fā)過程具有下列情況時(shí),就需要考慮引入自動(dòng)化測試: 1)測試用例的生成:包括測試輸入、測試輸出、測試操作指令等; 2)測試的執(zhí)行

8、與控制:包括單機(jī)運(yùn)行和網(wǎng)絡(luò)多機(jī)分布式的運(yùn)行,在節(jié)假日的運(yùn)行,測試個(gè)案調(diào)用控制,測試對(duì)象、測試范圍與測試版本的控制等; 3)測試結(jié)果與標(biāo)準(zhǔn)輸出進(jìn)行對(duì)比; 4)不吻合預(yù)期的測試結(jié)果的分析、記錄、分類和通報(bào) 5)總體測試狀況的統(tǒng)計(jì)及報(bào)表的產(chǎn)生。,ShiZhu_FFH,14,自動(dòng)化測試的原理和方法,軟件測試自動(dòng)化實(shí)現(xiàn)的基礎(chǔ) 是通過設(shè)計(jì)的特殊程序模擬測試人員對(duì)計(jì)算機(jī)的操作過程、操作行為; 或者類似于編譯系統(tǒng)那樣對(duì)計(jì)算機(jī)程序進(jìn)行檢查。 軟件測試自動(dòng)化實(shí)現(xiàn)的原理和方法 主要有:直接對(duì)代碼進(jìn)行靜態(tài)和動(dòng)態(tài)分析、測試過程的捕獲和回放、測試腳本技術(shù)、虛擬用戶技術(shù)和測試管理技術(shù)。,自動(dòng)化測試的原理和方法,1)代碼分析

9、 代碼分析類似于高級(jí)語言編譯系統(tǒng),一般針對(duì)不同的高級(jí)語言去構(gòu)造分析工具,在工具中定義類、對(duì)象、函數(shù)、變量等定義規(guī)則、語法規(guī)則; 在分析時(shí)對(duì)代碼進(jìn)行語法掃描,找出不符合編碼規(guī)范的地方; 根據(jù)某種質(zhì)量模型評(píng)價(jià)代碼質(zhì)量,生成系統(tǒng)的調(diào)用關(guān)系圖等。,ShiZhu_FFH,15,ShiZhu_FFH,16,自動(dòng)化測試的原理和方法,2)捕獲和回放 代碼分析是一種白盒測試的自動(dòng)化方法,捕獲和回放則是一種黑盒測試的自動(dòng)化方法。 捕獲是將用戶每一步操作都記錄下來。這種記錄的方式有兩種:程序用戶界面的像素坐標(biāo)或程序顯示對(duì)象(窗口、按鈕、滾動(dòng)條等)的位置,以及相對(duì)應(yīng)的操作、狀態(tài)變化或是屬性變化。所有的記錄轉(zhuǎn)換為一種腳

10、本語言所描述的過程,以模擬用戶的操作。 回放時(shí),將腳本語言所描述的過程轉(zhuǎn)換為屏幕上的操作,然后將被測系統(tǒng)的輸出記錄下來同預(yù)先給定的標(biāo)準(zhǔn)結(jié)果比較。 捕獲和回放可以大大減輕黑盒測試的工作量,在迭代開發(fā)的過程中,能夠很好地進(jìn)行回歸測試。,ShiZhu_FFH,17,自動(dòng)化測試的原理和方法,關(guān)于自動(dòng)化測試中的“錄制回放”技術(shù) 所謂的“錄制-回放”技術(shù),就是先由手工完成一遍需要測試的流程,同時(shí)由計(jì)算機(jī)記錄下這個(gè)流程期間客戶端和服務(wù)器端之間的通信信息,這些信息通常是一些協(xié)議和數(shù)據(jù),并形成特定的腳本程序 (Script) 。 然后在系統(tǒng)的統(tǒng)一管理下同時(shí)生成多個(gè)虛擬用戶,并運(yùn)行該腳本,監(jiān)控硬件和軟件平臺(tái)的性能

11、,提供分析報(bào)告或相關(guān)資料。這樣,通過幾臺(tái)機(jī)器就可以模擬出成百上千的用戶對(duì)應(yīng)用系統(tǒng)進(jìn)行負(fù)載能力的測試。,ShiZhu_FFH,18,自動(dòng)化測試的原理和方法,3)腳本技術(shù) 腳本是一組測試工具執(zhí)行的指令集,也是計(jì)算機(jī)程序的一種形式。 腳本可通過錄制測試的操作產(chǎn)生,然后再做修改,這樣可減少腳本編程的工作量。當(dāng)然,也可以直接用腳本語言編寫腳本。腳本中包含的是測試數(shù)據(jù)和指令,一般包括如下信息: 同步(何時(shí)進(jìn)行下一個(gè)輸入)。 比較信息(比較什么,比較標(biāo)準(zhǔn))。 埔獲何種屏幕數(shù)據(jù)及存儲(chǔ)在何處。 從哪個(gè)數(shù)據(jù)源或從何處讀取數(shù)據(jù)。 控制信息等。,ShiZhu_FFH,19,自動(dòng)化測試的原理和方法,腳本技術(shù)可以分為以下

12、幾類: 線性腳本是錄制手工執(zhí)行的測試用例得到的腳本。 結(jié)構(gòu)化腳本類似于結(jié)構(gòu)化程序設(shè)計(jì),具有各種邏輯結(jié)構(gòu)(順序、分支、循環(huán)),而且具有函數(shù)調(diào)用功能。 共享腳本是指某個(gè)腳本可被多個(gè)測試用例使用,即腳本語言允許一個(gè)腳本調(diào)用另一個(gè)腳本。 數(shù)據(jù)驅(qū)動(dòng)腳本將測試輸入存儲(chǔ)在獨(dú)立的數(shù)據(jù)文件中。 關(guān)鍵字驅(qū)動(dòng)腳本是數(shù)據(jù)驅(qū)動(dòng)腳本的邏輯擴(kuò)展,將數(shù)據(jù)文件變?yōu)闇y試用例描述,用一系列關(guān)鍵字指定要執(zhí)行的任務(wù)。,自動(dòng)化測試的原理和方法,例:以下語句指示 QTP 選中 Itinerary 網(wǎng)頁上的所有復(fù)選框: Set MyDescrption = Descrption.Create() MyDescrption(html tag)

13、.Value = INPUT MyDescrption(type).Value = checkbox Set Checkboxes = Browser(Itinerary).Page(Itinerary).ChildObjects(MyDescrption) NoOfChildObjs = Checkboxes.Count For Counter=0 to NoOfChildObjs-1 Checkboxes(Counter).Set ON Next,ShiZhu_FFH,20,ShiZhu_FFH,21,自動(dòng)化測試的原理和方法,4)自動(dòng)比較 靜態(tài)比較和動(dòng)態(tài)比較 靜態(tài)比較,在測試過程中不比較,

14、而是將結(jié)果存入文件或數(shù)據(jù)庫,最后比較結(jié)果; 動(dòng)態(tài)測試,在測試過程中比較。 簡單比較和復(fù)雜比較 簡單比較,實(shí)際結(jié)果和預(yù)期結(jié)果完全相同; 復(fù)雜比較,允許有一定誤差。,ShiZhu_FFH,22,自動(dòng)化測試的原理和方法,4)自動(dòng)比較 敏感性測試比較和健壯性測試比較 敏感性測試比較,比較盡可能多的信息。如測試用例的每一步都比較; 健壯性測試比較,只比較最需要的信息。如最后結(jié)果。 比較過濾器 對(duì)預(yù)期輸出進(jìn)行預(yù)處理,執(zhí)行過濾任務(wù)后,再比較。 5)測試管理,ShiZhu_FFH,23,軟件自動(dòng)化測試生存周期方法學(xué),圖 自動(dòng)化測試生存周期方法學(xué)結(jié)構(gòu),ShiZhu_FFH,24,軟件自動(dòng)化測試生存周期方法學(xué),采

15、用自動(dòng)化測試方法的確認(rèn) 自動(dòng)化測試工具的獲取 自動(dòng)化測試的引入階段 包括測試過程分析和測試工具的考查。 測試計(jì)劃與測試設(shè)計(jì) 包括制訂測試計(jì)劃、建立測試環(huán)境、測試設(shè)計(jì)和設(shè)計(jì)開發(fā)。 測試執(zhí)行與管理 測試活動(dòng)評(píng)審與評(píng)估,ShiZhu_FFH,25,自動(dòng)化測試生存周期方法的應(yīng)用,ShiZhu_FFH,26,自動(dòng)化測試存在的一些問題,不正確的觀念或不現(xiàn)實(shí)的期望 缺乏具有良好素質(zhì)和有經(jīng)驗(yàn)的測試人才 測試工具本身的問題影響測試的質(zhì)量 沒有進(jìn)行有效、充分的培訓(xùn) 不考慮公司的實(shí)際情況、盲目引入測試工具 沒有形成一個(gè)良好的測試工具使用環(huán)境 其他技術(shù)問題和組織問題,ShiZhu_FFH,27,測試自動(dòng)化限制,測試自

16、動(dòng)化可以帶來非常明顯的收益,但也有以下限制: 不能取代手工測試 手工測試比自動(dòng)測試發(fā)現(xiàn)的缺陷更多 對(duì)測試質(zhì)量的依賴性極大 測試自動(dòng)化不能提高有效性 測試自動(dòng)化可能會(huì)制約軟件開發(fā)。 工具本身并無想象力 另外,人工測試比測試工具更優(yōu)越的另一個(gè)方面是可以處理意外事件。雖然工具也能處理部分異常事件,但是對(duì)真正的突發(fā)事件和不能由軟件解決的問題就無能為力。,ShiZhu_FFH,28,建立正確的自動(dòng)化測試目標(biāo),克服不正確的觀念,需要建立正確的自動(dòng)化測試目標(biāo)。 測試計(jì)劃產(chǎn)生:主要靠測試工程師與軟件生產(chǎn)質(zhì)量保證專家的合作,自動(dòng)化工具只能起到一定的輔助作用。 一種測試工具不完全適用于所有測試 自動(dòng)測試不一定會(huì)減

17、輕工作量 測試進(jìn)度可能不一定會(huì)縮短 測試工具不一定易于使用 自動(dòng)化測試的普遍應(yīng)用存在局限 測試覆蓋率不會(huì)達(dá)到百分之百,ShiZhu_FFH,29,軟件自動(dòng)化測試工具簡述,自動(dòng)化測試工具的作用及優(yōu)勢(shì) 自動(dòng)化測試工具的特征 自動(dòng)化測試工具的分類 選擇自動(dòng)化測試工具 使用測試工具和自動(dòng)化的實(shí)質(zhì) 常用測試工具概要,ShiZhu_FFH,30,自動(dòng)化測試工具的作用及優(yōu)勢(shì),軟件測試自動(dòng)化通常借助測試工具進(jìn)行。 測試工具可以進(jìn)行部分的測試設(shè)計(jì)、實(shí)現(xiàn)、執(zhí)行和比較的工作。 部分的測試工具可以實(shí)現(xiàn)測試用例的自動(dòng)生成,但通常的工作方式為人工設(shè)計(jì)測試用例,使用工具進(jìn)行用例的執(zhí)行和比較。 自動(dòng)化測試工具的作用: (1)

18、確定系統(tǒng)最優(yōu)的硬件配置。虛擬硬件進(jìn)行配置測試。 (2)檢查系統(tǒng)的可靠性。大負(fù)載,長時(shí)間。 (3)檢查系統(tǒng)硬件和軟件的升級(jí)情況。軟硬件對(duì)系統(tǒng)性能的影響。 (4)評(píng)估新產(chǎn)品。,ShiZhu_FFH,31,自動(dòng)化測試工具的作用及優(yōu)勢(shì),自動(dòng)化測試工具的優(yōu)勢(shì)主要體現(xiàn)在以下幾個(gè)方面: (1)記錄業(yè)務(wù)流程并生成腳本程序的能力。 (2)對(duì)各種網(wǎng)絡(luò)設(shè)備(客戶機(jī)或服務(wù)器、其它網(wǎng)絡(luò)設(shè)備)的模仿能力。 (3)用有限的資源生成高質(zhì)量虛擬用戶的能力。 (4)對(duì)于整個(gè)軟件和硬件系統(tǒng)中各個(gè)部分的監(jiān)控能力。 (5)對(duì)于測試結(jié)果的表現(xiàn)和分析能力。,ShiZhu_FFH,32,自動(dòng)化測試工具的特征,支持腳本化語言(Scriptin

19、g Language) 對(duì)程序界面中對(duì)象的識(shí)別能力 支持函數(shù)的可重用 支持外部函數(shù)庫 抽象層將程序界面中的對(duì)象實(shí)體映射成邏輯對(duì)象 分布式測試(Distributed Test)的支持 支持?jǐn)?shù)據(jù)驅(qū)動(dòng)測試(Data-Driven Test) 錯(cuò)誤處理 調(diào)試器(Debugger) 源代碼管理 支持腳本的命令行(Command Line)方式,ShiZhu_FFH,33,自動(dòng)化測試工具的分類,測試工具可以從多個(gè)不同的方面去分類。 從入侵角度,分入侵式工具和非入侵式工具: 非入侵式工具:如果工具僅用于監(jiān)視和檢查軟件而不對(duì)其進(jìn)行修改,就認(rèn)為是非入侵式工具。 入侵式工具:如果工具以任何方式修改了程序代碼或者

20、控制了操作環(huán)境,就屬于入侵式工具。 由于入侵的程度各有不同,測試員通常設(shè)法使用侵入性盡量小的工具,以減少工具影響測試結(jié)果的可能性。 根據(jù)測試方法不同,自動(dòng)化測試工具可以分為: 白盒測試工具、黑盒測試工具 (Continue),ShiZhu_FFH,34,自動(dòng)化測試工具的分類,測試工具可以從多個(gè)不同的方面去分類。(續(xù)) 根據(jù)測試的對(duì)象和目的,自動(dòng)化測試工具可以分為: 單元測試工具、功能測試工具、負(fù)載測試工具、性能測試工具、Web測試工具、數(shù)據(jù)庫測試工具、回歸測試工具、嵌入式測試工具、頁面鏈接測試工具、測試設(shè)計(jì)與開發(fā)工具、測試執(zhí)行和評(píng)估工具、測試管理工具等 根據(jù)使用方式,自動(dòng)化測試工具可以分為:

21、查看器和監(jiān)視器、驅(qū)動(dòng)程序、樁、壓力和負(fù)載工具、干擾注入器和噪聲發(fā)生器和分析工具。,ShiZhu_FFH,35,自動(dòng)化測試工具的分類,測試工具可以從多個(gè)不同的方面去分類。(續(xù)) 按測試工具的收費(fèi)方式,又可分為以下幾類。 商業(yè)測試工具。 開源測試工具。 免費(fèi)測試工具。,ShiZhu_FFH,36,白盒測試工具,白盒測試工具一般是針對(duì)被測源程序進(jìn)行的測試,測試所發(fā)現(xiàn)的故障可以定位到代碼級(jí)。根據(jù)測試工具工作原理的不同,白盒測試的自動(dòng)化工具可分為靜態(tài)測試工具和動(dòng)態(tài)測試工具。 靜態(tài)測試工具是在不執(zhí)行程序的情況下,分析軟件的特性。靜態(tài)分析主要集中在需求文檔、設(shè)計(jì)文檔以及程序結(jié)構(gòu)方面。按照完成的職能不同,靜態(tài)

22、測試工具包括以下幾種類型: (1)代碼審查 (2)一致性檢查 (3)錯(cuò)誤檢查 (4)接口分析 (5)輸入輸出規(guī)格說明分析檢查 (6)數(shù)據(jù)流分析 (7)類型分析 (8)單元分析 (9)復(fù)雜度分析,ShiZhu_FFH,37,白盒測試工具,動(dòng)態(tài)測試工具是直接執(zhí)行被測程序以提供測試活動(dòng)。它需要實(shí)際運(yùn)行被測系統(tǒng),并設(shè)置斷點(diǎn),向代碼生成的可執(zhí)行文件中插入一些監(jiān)測代碼,掌握斷點(diǎn)這一時(shí)刻程序運(yùn)行數(shù)據(jù)(對(duì)象屬性、變量的值等),具有功能確認(rèn)、接口測試、覆蓋率分析、性能分析等性能。動(dòng)態(tài)測試工具可以分為以下幾種類型: (1)功能確認(rèn)與接口測試 (2)覆蓋測試 (3)性能測試 (4)內(nèi)存分析 常用的動(dòng)態(tài)工具有: Co

23、mpuware公司的DevPartner IBM公司的 Rational Purify,ShiZhu_FFH,38,黑盒測試工具,黑盒測試工具是在明確軟件產(chǎn)品應(yīng)具有的功能的條件下,完全不考慮被測程序的內(nèi)部結(jié)構(gòu)和內(nèi)部特性,通過測試來檢驗(yàn)軟件功能是否按照軟件需求規(guī)格的說明正常工作。 按照完成的職能不同,黑盒測試工具可以分為: 功能測試工具用于檢測程序能否達(dá)到預(yù)期的功能要求并正常運(yùn)行。 性能測試工具用于確定軟件和系統(tǒng)的性能。 常用的黑盒測試工具有: Compuware公司的QACenter IBM公司的Rational TeamTest,ShiZhu_FFH,39,測試設(shè)計(jì)與開發(fā)工具,測試設(shè)計(jì)是說明

24、被測軟件特征或特征組合的方法,并確定選擇相關(guān)測試用例的過程。 測試開發(fā)是將測試設(shè)計(jì)轉(zhuǎn)換成具體的測試用例的過程。 測試設(shè)計(jì)和開發(fā)需要的工具類型有: 測試數(shù)據(jù)生成器 基于需求的測試設(shè)計(jì)工具 捕獲/回放 覆蓋分析,ShiZhu_FFH,40,測試執(zhí)行和評(píng)估工具,測試執(zhí)行和評(píng)估是執(zhí)行測試用例并對(duì)測試結(jié)果進(jìn)行評(píng)估的過程,包括選擇用于執(zhí)行的測試用例、設(shè)置測試環(huán)境、運(yùn)行所選擇的測試用例、記錄測試執(zhí)行過程、分析潛在的故障,并檢查測試工作的有效性。 評(píng)估類工具對(duì)執(zhí)行測試用例和評(píng)估測試結(jié)果過程起到輔助作用。 測試執(zhí)行和評(píng)估類工具有: 捕獲/回放 覆蓋分析 存儲(chǔ)器測試,ShiZhu_FFH,41,測試管理工具,測試

25、管理工具用于對(duì)測試過程進(jìn)行管理,幫助完成制定測試計(jì)劃,跟蹤測試運(yùn)行結(jié)果。通常,測試管理工具對(duì)測試計(jì)劃、測試用例、測試實(shí)施進(jìn)行管理,還包括缺陷跟蹤管理等。 常用的測試管理工具有: IBM公司的Rational Test Manager 測試管理工具包括以下內(nèi)容: 測試用例管理 缺陷跟蹤管理(問題跟蹤管理) 配置管理,測試工具分類,查看器(viewer)和監(jiān)視器(monitor) 查看器或監(jiān)視器:測試工具能看到正常情況下看不到的運(yùn)行的細(xì)節(jié)。如: 1)代碼覆蓋率分析器就是查看器的一個(gè)例子。 代碼覆蓋率分析器是如何提供一種方式來查看哪些代碼行得以運(yùn)行、什么函數(shù)正在運(yùn)行、執(zhí)行測試時(shí)所運(yùn)行的代碼分支的。大

26、多數(shù)的代碼覆蓋率分析器是入侵式工具,因?yàn)樗鼈冃枰幾g并鏈接到原程序中才能獲得所需信息。,ShiZhu_FFH,42,測試工具分類,查看器(viewer)和監(jiān)視器(monitor)(續(xù)) 2)通信分析器(communications analyzer)是另一種查看器的例子。 它只是監(jiān)聽線路,提取經(jīng)過的數(shù)據(jù),在另一臺(tái)計(jì)算機(jī)上顯示。利用該系統(tǒng)可以查看通信數(shù)據(jù)的正確性以及觀察軟件缺陷為什么會(huì)產(chǎn)生。 通過查看從線上提取的數(shù)據(jù),就可以確定問題是出于創(chuàng)建數(shù)據(jù)的機(jī)器還是解釋數(shù)據(jù)的機(jī)器。這種類型的系統(tǒng)對(duì)軟件是非入侵式的。 在網(wǎng)絡(luò)中,真正監(jiān)視器被稱為嗅探器(sniffer)。 3)大多數(shù)編譯器所帶的代碼調(diào)試器也可

27、以看做是查看器,看到一般用戶看不到的數(shù)據(jù)的工具都可以歸類為查看測試工具。,ShiZhu_FFH,43,測試工具分類,驅(qū)動(dòng)程序 驅(qū)動(dòng)程序是控制和操作被測試軟件的工具。 在設(shè)法驅(qū)動(dòng)被測軟件時(shí),想一想從外部控制程序的所有可行方法,然后,想方法用自動(dòng)提供測試輸入的方式代替外部控制。 樁 樁接收或者響應(yīng)被測軟件發(fā)送的數(shù)據(jù)。 當(dāng)軟件需要與外部設(shè)備進(jìn)行通信時(shí)經(jīng)常要用到樁。一般在開發(fā)過程中不能得到某些設(shè)備,或這些設(shè)備很少,樁就可以使測試在沒有硬件的條件下進(jìn)行,使測試更加有效。 仿真器(emulator):仿真器是在實(shí)際使用中用來代替真正設(shè)備的設(shè)備。 仿真器和樁的區(qū)別在于樁還給測試程序提供手段來查看和解釋發(fā)送給

28、它的數(shù)據(jù),樁是仿真器的超集。,ShiZhu_FFH,44,測試工具分類,壓力和負(fù)載工具 壓力(stress)和負(fù)載(load)工具用于向被測試軟件增加壓力和負(fù)載。 一般的壓力測試軟件可以分別設(shè)置內(nèi)存量、磁盤空間大小、文件數(shù)量,以及在該機(jī)器上運(yùn)行軟件的其它可用資源。 把這些值設(shè)置為零或者近似為零,會(huì)使軟件執(zhí)行不同的代碼分支以試圖處理這種緊迫限制。理想情況是軟件運(yùn)行不發(fā)生崩潰或者數(shù)據(jù)丟失。它可能會(huì)運(yùn)行得很慢,或者宣布在內(nèi)存不足情況下運(yùn)行,但是無論如何它會(huì)正確運(yùn)行,或者正常地降級(jí)運(yùn)行。 負(fù)載工具和壓力工具的相似之處在于,它們?yōu)檐浖?chuàng)造了用其它方式難以創(chuàng)造的環(huán)境條件。 如,運(yùn)行在web服務(wù)器上的商用程

29、序可以通過模擬一定數(shù)量的鏈接和單擊次數(shù)來增大負(fù)載,使其不堪重負(fù)。,ShiZhu_FFH,45,測試工具分類,干擾注入器和噪聲發(fā)生器 干擾注入器(interference injectors)和噪聲發(fā)生器(noise generators)是類似于壓力和負(fù)載工具的另一類工具。它們?cè)谛袨樯细哂须S機(jī)性。 如,掛在通信線路上的干擾注入器可以測試軟件能否處理由噪聲引起的錯(cuò)誤情況。 決定在哪里和如何使用干擾注入器和噪聲發(fā)生器時(shí),考慮何種外部因素會(huì)影響測試軟件,然后設(shè)法改變和操縱這些影響因素看軟件如何應(yīng)付。,ShiZhu_FFH,46,測試工具分類,分析工具 用于分析測試。軟件的復(fù)雜性和方向性總是在變,要

30、視具體情況來決定最有效的工具是什么,以及如何運(yùn)用它們。 1)文字處理軟件 2)電子表格軟件 3)數(shù)據(jù)庫軟件 4)文件比較軟件 5)抓屏和比較軟件 6)調(diào)試器 7)二進(jìn)制十六進(jìn)制計(jì)算器 8)秒表 9)錄象機(jī)或者照相機(jī),ShiZhu_FFH,47,隨機(jī)測試,隨機(jī)測試:猴子和大猩猩 有一類測試工具不是為幫助執(zhí)行或者自動(dòng)執(zhí)行測試用例而設(shè)計(jì)的,其目標(biāo)是模擬用戶可能的操作,此類自動(dòng)化工具稱為測試猴子(test monkey)。 測試猴子的來源:如果讓一百萬只猴子在一百萬只鍵盤上敲一百萬年,從統(tǒng)計(jì)的角度上講,它們最終就可能寫出莎士比亞話劇Adventures of Curious George(好奇喬治歷險(xiǎn)

31、記)等巨著。 1、笨拙的猴子 最簡單、最直接的測試猴子是笨拙的猴子:只是隨機(jī)地單擊鼠標(biāo)或者敲擊按鍵。 不停重復(fù)和使用笨拙的猴子可能會(huì)暴露內(nèi)存泄漏等軟件缺陷。,ShiZhu_FFH,48,隨機(jī)測試,隨機(jī)測試:猴子和大猩猩( 續(xù)) 2、半聰明的猴子 在笨拙的猴子的基礎(chǔ)上加上日志記錄,將猴子的所有操作記錄到一個(gè)文件中。 當(dāng)猴子發(fā)現(xiàn)軟件缺陷時(shí),只需查看日志文件,找出在失敗前猴子做了些什么。 另外一個(gè)解決方法時(shí)用攝像機(jī)錄下屏幕上的內(nèi)容。當(dāng)發(fā)現(xiàn)軟件出現(xiàn)故障時(shí),就倒回去重新看看。 3、聰明的猴子 不僅限于查找崩潰缺陷,同時(shí)還查看數(shù)據(jù)、檢查操作結(jié)果、找出其與預(yù)期結(jié)果的差別。,ShiZhu_FFH,49,Shi

32、Zhu_FFH,50,選擇自動(dòng)化測試工具,測試人員在選擇和使用自動(dòng)化測試工具時(shí),可以從以下角度來考慮: 按照用途選擇匹配的測試工具 在適當(dāng)?shù)纳芷谶x擇測試工具 按照測試人員的實(shí)際技能選擇匹配的測試工具 選擇一個(gè)可提供的測試工具,使用測試工具和自動(dòng)化的實(shí)質(zhì),如正確規(guī)劃和執(zhí)行,自動(dòng)化測試可提高測試效率并能發(fā)現(xiàn)其它方式不能發(fā)現(xiàn)的缺陷。 如自動(dòng)化測試步入歧途,會(huì)導(dǎo)致無數(shù)的自動(dòng)化測試努力被放棄,項(xiàng)目成本大大增加。考慮以下因素: 1)軟件變更;2)人眼和自覺是不可替代的; 3)驗(yàn)證難以實(shí)現(xiàn);4)容易過分依賴自動(dòng)化; 5)不要花費(fèi)太多時(shí)間使用達(dá)不到測試軟件目的的測試工具和自動(dòng)化; 6)編寫宏、開發(fā)工具和編

33、制猴子都屬于開發(fā)工作; 7)某些工具是入侵式的。,ShiZhu_FFH,51,ShiZhu_FFH,52,常用測試工具,目前,軟件測試方面的工具很多,主要有HP MercuryInteractive(MI)、IBM Rational、 Compuware、Segue和Empirix等公司的產(chǎn)品,而HP MI公司和IBM Rational公司的產(chǎn)品占了主流。,ShiZhu_FFH,53,Mercury公司測試工具,HP Mercury(美科利)質(zhì)量中心:提供一個(gè)全面的、基于Web的集成系統(tǒng),可在廣泛的應(yīng)用環(huán)境下自動(dòng)執(zhí)行軟件質(zhì)量管理和測試。其主要產(chǎn)品如下: Winrunner:是一種企業(yè)級(jí)的用于檢

34、驗(yàn)應(yīng)用程序是否如期運(yùn)行的功能性測試工具。通過自動(dòng)捕獲,檢測,和重復(fù)用戶交互的操作,WinRunner 能夠辨認(rèn)缺陷并且確保那些跨越多個(gè)應(yīng)用程序和數(shù)據(jù)庫的業(yè)務(wù)流程在初次發(fā)布就能避免出現(xiàn)故障,并且保持長期可靠運(yùn)行。 Loadrunner:是一種預(yù)測系統(tǒng)行為和性能的負(fù)載測試工具。通過以模擬上千萬用戶實(shí)施并發(fā)負(fù)載及實(shí)時(shí)性能監(jiān)測的方式來確認(rèn)和查找問題,LoadRunner 能夠?qū)φ麄€(gè)企業(yè)架構(gòu)進(jìn)行測試。通過使用LoadRunner ,企業(yè)能最大限度地縮短測試時(shí)間,優(yōu)化性能和加速應(yīng)用系統(tǒng)的發(fā)布周期。,ShiZhu_FFH,54,Mercury公司測試工具,TestDirector:是基于Web的測試管理解決

35、方案,它可以在公司內(nèi)部進(jìn)行全球范圍的測試協(xié)調(diào)。TestDirector能夠在一獨(dú)立的應(yīng)用系統(tǒng)中提供需求管理功能,并且可以把測試需求管理于測試計(jì)劃、測試日程控制、測試執(zhí)行和錯(cuò)誤跟蹤等功能融合為一體,因此極大地加速了測試的進(jìn)程。 TestDirector提供完整且無限制的測試管理框架,實(shí)現(xiàn)對(duì)應(yīng)用測試全部階段的管理與控制。 QuickTest Professional::是一個(gè)功能測試自動(dòng)化工具,主要應(yīng)用在回歸測試中。QuickTest針對(duì)的是GUI應(yīng)用程序,包括傳統(tǒng)的Windows應(yīng)用程序,以及現(xiàn)在越來越流行的Web應(yīng)用。它可以覆蓋絕大多數(shù)的軟件開發(fā)技術(shù),簡單高效,并具備測試用例可重用的特點(diǎn)。其中

36、包括:創(chuàng)建測試、插入檢查點(diǎn)、檢驗(yàn)數(shù)據(jù)、增強(qiáng)測試、運(yùn)行測試、分析結(jié)果和維護(hù)測試等方面。,ShiZhu_FFH,55,Rational公司測試工具,Rational( Rational Functional Tester:對(duì) Java、Web 和基于 VS.NET WinForm 的應(yīng)用程序進(jìn)行高級(jí)自動(dòng)化功能測試。 Rational Functional Tester Extension for Terminal-based Applications:擴(kuò)展了Rational Functional Tester,以支持基于終端的應(yīng)用程序的測試。 Rational Manual Tester:使用新測

37、試設(shè)計(jì)技術(shù)來改進(jìn)人工測試設(shè)計(jì)和執(zhí)行工作。 Rational Performance Tester:檢查可變多用戶負(fù)載下可接受的應(yīng)用程序響應(yīng)時(shí)間和可伸縮性。 Rational Purify for Linux and UNIX:為 Linux 和 UNIX提供了內(nèi)存泄漏和內(nèi)存損壞檢測。 Rational Purify for Windows:為 Windows 提供了內(nèi)存泄漏和內(nèi)存損壞檢測。,ShiZhu_FFH,56,Rational公司測試工具,Rational PurifyPlus 企業(yè)版:為 Windows、Linux 和 UNIX 提供了運(yùn)行時(shí)分析。 Rational PurifyPl

38、us for Linux and UNIX:為 基于 Linux 和 Unix 的 Java 和 C/C+ 開發(fā)提供了分析工具集。 Rational PurifyPlus for Windows:為基于 Windows的Java、C/C+、Visual Basic 和 托管 .NET 開發(fā)提供了運(yùn)行時(shí)分析。 Rational Robot:客戶機(jī)/服務(wù)器應(yīng)用程序的通用測試自動(dòng)化工具。可以對(duì)使用各種集成開發(fā)環(huán)境 (IDE) 和語言建立的軟件應(yīng)用程序,創(chuàng)建、修改并執(zhí)行自動(dòng)化的功能測試、分布式功能測試、回歸測試和集成測試。 Rational TestManager:提供開放、可擴(kuò)展的測試管理。 Rat

39、ional Test RealTime:支持嵌入式和實(shí)時(shí)的跨平臺(tái)軟件的組件測試和運(yùn)行時(shí)分析。,ShiZhu_FFH,57,Compuware公司測試工具,Compuware()公司的QACenter家族集成了一些強(qiáng)大的自動(dòng)工具,這些工具符合大型機(jī)應(yīng)用的測試要求,使開發(fā)組獲得一致而可靠的應(yīng)用性能。QACenter幫助所有的測試人員創(chuàng)建一個(gè)快速,可重用的測試過程。這些測試工具自動(dòng)幫助管理測試過程,快速分析和調(diào)試程序,包括針對(duì)回歸,強(qiáng)度,單元,并發(fā),集成,移植,容量和負(fù)載建立測試用例,自動(dòng)執(zhí)行測試和產(chǎn)生文檔結(jié)果。QACenter主要包括以下幾個(gè)模塊: QARun:應(yīng)用的功能測試工具。 QALoad:

40、強(qiáng)負(fù)載下應(yīng)用的性能測試工具。 QADirector:測試的組織設(shè)計(jì)和創(chuàng)建以及管理工具。 TrackRecord:集成的缺陷跟蹤管理工具。 EcoTools:高層次的性能監(jiān)測工具。,ShiZhu_FFH,58,其他公司測試工具,segue 公司的SilkTest():是業(yè)界領(lǐng)先的、用于對(duì)企業(yè)級(jí)應(yīng)用進(jìn)行功能測試的產(chǎn)品,可用于測試Web、Java或是傳統(tǒng)的C/S結(jié)構(gòu)。SilkTest提供了許多功能,使用戶能夠高效率地進(jìn)行軟件自動(dòng)化測試。這些功能包括:測試的計(jì)劃和管理;直接的數(shù)據(jù)庫訪問及校驗(yàn);靈活、強(qiáng)大的4Test腳本語言,內(nèi)置的恢復(fù)系統(tǒng)(Recovery System);以及具有使用同一套腳本進(jìn)行跨

41、平臺(tái)、跨瀏覽器和技術(shù)進(jìn)行測試的能力。,ShiZhu_FFH,59,其他公司測試工具,AdventNet公司的 QEngine():是一個(gè)應(yīng)用廣泛且獨(dú)立于平臺(tái)的自動(dòng)化軟件測試工具,可用于Web功能測試、web性能測試、Java應(yīng)用功能測試、Java API測試、SOAP測試、回歸測試和Java應(yīng)用性能測試。支持對(duì)于使用HTML、JSP、ASP、.NET、PHP、JavaScript/VBScript、XML、SOAP、WSDL、e-commerce、傳統(tǒng)客戶端/服務(wù)器等開發(fā)的應(yīng)用程序進(jìn)行測試。此工具以Java開發(fā),因此便于移植和提供多平臺(tái)支持。,ShiZhu_FFH,60,其他公司測試工具,Ra

42、dview公司的TestView系列Web性能測試工具和WebLoad Analyzer性能分析工具,旨在測試Web應(yīng)用和Web服務(wù)的功能、性能、程序漏洞、兼容性、穩(wěn)定性和抗攻擊性,并且能夠在測試的同時(shí)分析問題原因和定位故障點(diǎn)。 整套Web性能測試和分析工具包含兩個(gè)相對(duì)獨(dú)立的子系統(tǒng):Web性能測試子系統(tǒng)、Web性能分析子系統(tǒng)。其中Web性能測試子系統(tǒng)包含3個(gè)模塊:TestView Manager、WebFT以及WebLoad。Web性能分析子系統(tǒng)只有WebLoad Analyzer。,ShiZhu_FFH,61,其他公司測試工具,美國IXIA公司的應(yīng)用層性能測試軟件IxChariot是一個(gè)獨(dú)特

43、的測試工具,也是在應(yīng)用層性能測試領(lǐng)域得到業(yè)界認(rèn)可的測試系統(tǒng)。對(duì)于企業(yè)網(wǎng)而言,IxChariot可應(yīng)用于設(shè)備選型、網(wǎng)絡(luò)建設(shè)及驗(yàn)收、日常維護(hù)等3個(gè)階段,提供設(shè)備網(wǎng)絡(luò)性能評(píng)估、故障定位和SLA基準(zhǔn)等服務(wù)。 IxChariot由兩部分組成:控制端(Console)和遠(yuǎn)端(Endpoint),兩者都可安裝在普通PC或者服務(wù)器上,控制端安裝在Windows操作系統(tǒng)上,遠(yuǎn)端支持各種主流的操作系統(tǒng)??刂贫藶樵摦a(chǎn)品的核心部分,控制界面(也可采用命令行方式)、測試設(shè)計(jì)界面、腳本選擇及編制、結(jié)果顯示、報(bào)告生成以及API接口提供等都由控制端提供。遠(yuǎn)端根據(jù)實(shí)際測試的需要,安裝在分布的網(wǎng)絡(luò)中,負(fù)責(zé)從控制端接收指令、完成測

44、試并將測試數(shù)據(jù)上報(bào)到控制端。,ShiZhu_FFH,62,一些開源測試工具,功能測試工具 Linux Test Project( ):Linux Test Project是一個(gè)測試Linux內(nèi)核和內(nèi)核相關(guān)特性的工具集合。該工具的目的是通過把測試自動(dòng)化引入到Linux內(nèi)核測試,提高Linux的內(nèi)核質(zhì)量。 使用環(huán)境: Linux MaxQ(/):MaxQ是一個(gè)免費(fèi)的功能測試工具。它包括一個(gè)HTTP代理工具,可以錄制測試腳本,并提供回放測試過程的命令行工具。測試結(jié)果的統(tǒng)計(jì)圖表類似于商用測試工具,比如Astra QuickTest和Empirix e-Test

45、,這些商用工具都很昂貴。MaxQ希望能夠提供一些關(guān)鍵的功能,比如HTTP測試錄制回放功能,并支持腳本。 使用環(huán)境: Java 1.2以上版本 WebInject(/):WebInject是一個(gè)針對(duì)Web應(yīng)用程序和服務(wù)的免費(fèi)測試工具。 它可以通過HTTP接口測試任意一個(gè)單獨(dú)的系統(tǒng)組件??梢宰鳛闇y試框架管理功能自動(dòng)化測試和回歸自動(dòng)化測試的測試套。 使用環(huán)境: Windows, OS Independent, Linux,ShiZhu_FFH,63,一些開源測試工具,單元測試工具 JUNIT(CppUnit):JUnit是一個(gè)開源的java測試框架,它是

46、Xuint測試體系架構(gòu)的一種實(shí)現(xiàn)。在JUnit單元測試框架的設(shè)計(jì)時(shí),設(shè)定了三個(gè)總體目標(biāo),第一個(gè)是簡化測試的編寫,這種簡化包括測試框架的學(xué)習(xí)和實(shí)際測試單元的編寫;第二個(gè)是使測試單元保持持久性;第三個(gè)則是可以利用既有的測試來編寫相關(guān)的測試。 使用環(huán)境: Windows, OS Independent, Linux,ShiZhu_FFH,64,一些開源測試工具,性能測試工具 Apache JMeter (/jmeter/ ):Apache JMeter是100的Java桌面應(yīng)用程序,它被設(shè)計(jì)用來加載被測試軟件功能特性、度量被測試軟件的性能。設(shè)計(jì)Jmet

47、er的初衷是測試Web應(yīng)用,后來又?jǐn)U充了其它的功能。Jmeter可以完成針對(duì)靜態(tài)資源和動(dòng)態(tài)資源(訛誤女監(jiān), Servlets, Perl腳本, Java對(duì)象, 數(shù)據(jù)查詢s, FTP服務(wù)等)的性能測試。 Jmeter可以模擬大量的服務(wù)器負(fù)載、網(wǎng)絡(luò)負(fù)載、軟件對(duì)象負(fù)載,通過不同的加載類型全面測試軟件的性能。Jmeter提供圖形化的性能分析。 使用環(huán)境: Solaris, Linux, Windows (98, NT, 2000). JDK1.4以上. DBMonster (http:/dbmonster.kernelpanic.pl/ ):DBMonster是一個(gè)生成隨機(jī)數(shù)據(jù),用來測試SQL數(shù)據(jù)庫的

48、壓力測試工具。 使用環(huán)境: OS Independent,ShiZhu_FFH,65,一些開源測試工具,OpenSTA (Open System Testing Architecture) (/index.php):基于CORBA的分布式軟件測試構(gòu)架。使用OpenSTA,測試人員可以模擬大量的虛擬用戶。OpenSTA的結(jié)果分析包括虛擬用戶響應(yīng)時(shí)間、web服務(wù)器的資源使用情況、數(shù)據(jù)庫服務(wù)器的使用情況,可以精確的度量負(fù)載測試的結(jié)果。 使用環(huán)境: OS Independent TPTEST( TPTest的提供測試Internet連接速度的簡單方法。

49、使用環(huán)境: MacOS/Carbon、 Win32 Web Application Load Simulator(/loadsim/index.html):LoadSim是一個(gè)網(wǎng)絡(luò)應(yīng)用程序的負(fù)載模擬器。 使用環(huán)境: JDK 1.3以上,ShiZhu_FFH,66,一些開源測試工具,缺陷管理工具 Mantis ( ):Mantis是一款基于WEB的軟件缺陷管理工具,配置和使用都很簡單,適合中小型軟件開發(fā)團(tuán)隊(duì)。 使用環(huán)境: MySQL, PHP Bugzilla (/projects/bugzilla/ ):一款

50、軟件缺陷管理工具。 使用環(huán)境: TBC,ShiZhu_FFH,67,一些開源測試工具,測試管理工具 TestLink( 使用環(huán)境: Apache, MySQL, PHP Bugzilla Test Runner( ):Bugzilla Test Runner基于Bugzilla缺陷管理系統(tǒng)的測試用例管理系統(tǒng)。 使用環(huán)境: Bugzilla 2.16.3 or above (bugzilla是一個(gè)可以發(fā)布bug以及跟蹤報(bào)告bug進(jìn)展情況的開源軟件),自動(dòng)化測試解決方案舉例,(來源:百度百科) 公司背景介紹 公司應(yīng)用系統(tǒng)的情況 公司軟件測試現(xiàn)狀 可供選擇的方案 方案評(píng)價(jià),ShiZhu_FFH,68

51、,自動(dòng)化測試解決方案舉例,公司背景介紹 A公司是一家大型保險(xiǎn)公司,擁有近20個(gè)城市的分公司,并在其中5個(gè)城市建立了IT支持中心。平均每年的上線應(yīng)用數(shù)量在20個(gè)左右(新業(yè)務(wù)系統(tǒng)和原有業(yè)務(wù)系統(tǒng)的主要版本發(fā)布)。 目前A公司的專職測試團(tuán)隊(duì)人數(shù)不足30人,而且測試團(tuán)隊(duì)的測試人員技能參差不齊,目前測試只是作為項(xiàng)目上線前的一道工序而已。在測試團(tuán)隊(duì)內(nèi)部也幾乎沒有自動(dòng)化的手段,主要依靠手工測試。 由于已上線應(yīng)用系統(tǒng)的問題,開發(fā)團(tuán)隊(duì)必須分出一部分資源去維護(hù)和修復(fù)上線應(yīng)用,而同時(shí)測試團(tuán)隊(duì)的測試成果和效率卻無法和這些應(yīng)用質(zhì)量掛鉤,也更無從談起對(duì)軟件質(zhì)量的控制。所以,A公司決定在軟件質(zhì)量和測試方面進(jìn)行投入,他們考慮以

52、下幾方面:,ShiZhu_FFH,69,自動(dòng)化測試解決方案舉例,公司背景介紹 引進(jìn)軟件測試流程管理的自動(dòng)化,提高軟件測試過程的管理水平,使軟件測試和軟件開發(fā)一樣可被評(píng)估、被衡量。 實(shí)現(xiàn)性能測試自動(dòng)化,所有應(yīng)用上線之前必須有應(yīng)用性能風(fēng)險(xiǎn)評(píng)估報(bào)告和相關(guān)部門的確認(rèn) 逐步實(shí)現(xiàn)功能測試的自動(dòng)化,在目前人員配置的情況下,把部分手工測試變成自動(dòng)化測試,提高測試可信度,降低人為錯(cuò)誤。 通過軟件測試自動(dòng)化,管理軟件測試中的案例、缺陷、報(bào)告等資產(chǎn),進(jìn)一步提升軟件測試的效率并建立測試基礎(chǔ)庫。 在規(guī)劃中,將來的23年內(nèi)使所有的應(yīng)用系統(tǒng)上線都必須有數(shù)字化的測試數(shù)據(jù)作為依據(jù)。,ShiZhu_FFH,70,自動(dòng)化測試解決方

53、案舉例,公司應(yīng)用系統(tǒng)的情況 由于保險(xiǎn)公司的業(yè)務(wù)種類繁多,同時(shí)在經(jīng)過了幾十年的經(jīng)營后,公司內(nèi)的應(yīng)用系統(tǒng)從早期的終端方式到現(xiàn)代的J2EE和.NET等應(yīng)有盡有,魚龍混雜。 IT部門已建立3年規(guī)劃,即在未來的3年時(shí)間內(nèi)將所有終端和C/S方式的應(yīng)用轉(zhuǎn)換成B/S架構(gòu),但當(dāng)前仍然需要對(duì)這些舊應(yīng)用系統(tǒng)進(jìn)行維護(hù),以保證業(yè)務(wù)的順利進(jìn)行。 對(duì)于開發(fā)部門來說,目前新應(yīng)用開發(fā)基本上以B/S架構(gòu)為主,主要是WebHTTP應(yīng)用和部分.NET Form應(yīng)用。,ShiZhu_FFH,71,自動(dòng)化測試解決方案舉例,公司軟件測試現(xiàn)狀 企業(yè)機(jī)構(gòu)在做測試自動(dòng)化選型時(shí)一定要考慮清楚企業(yè)內(nèi)部哪些部分可以實(shí)施自動(dòng)化、哪些部分暫不實(shí)施自動(dòng)化、哪些部分僅在某幾個(gè)項(xiàng)目做自動(dòng)化試點(diǎn)。切忌匆忙上馬或盲目否定,缺乏實(shí)事求是的理性思考。,ShiZhu_FFH,72,自動(dòng)化測試解決方案舉例,公司軟件測試現(xiàn)狀 測試部門目前僅負(fù)責(zé)系統(tǒng)測試和對(duì)用戶驗(yàn)證測試進(jìn)行管理,對(duì)于之前的單元測試和集成測試主要

溫馨提示

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

評(píng)論

0/150

提交評(píng)論