(計(jì)算機(jī)應(yīng)用技術(shù)專業(yè)論文)軟件自動(dòng)化測(cè)試混合框架的研究與實(shí)現(xiàn).pdf_第1頁(yè)
(計(jì)算機(jī)應(yīng)用技術(shù)專業(yè)論文)軟件自動(dòng)化測(cè)試混合框架的研究與實(shí)現(xiàn).pdf_第2頁(yè)
(計(jì)算機(jī)應(yīng)用技術(shù)專業(yè)論文)軟件自動(dòng)化測(cè)試混合框架的研究與實(shí)現(xiàn).pdf_第3頁(yè)
(計(jì)算機(jī)應(yīng)用技術(shù)專業(yè)論文)軟件自動(dòng)化測(cè)試混合框架的研究與實(shí)現(xiàn).pdf_第4頁(yè)
(計(jì)算機(jī)應(yīng)用技術(shù)專業(yè)論文)軟件自動(dòng)化測(cè)試混合框架的研究與實(shí)現(xiàn).pdf_第5頁(yè)
已閱讀5頁(yè),還剩72頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

(計(jì)算機(jī)應(yīng)用技術(shù)專業(yè)論文)軟件自動(dòng)化測(cè)試混合框架的研究與實(shí)現(xiàn).pdf.pdf 免費(fèi)下載

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

文檔簡(jiǎn)介

中文摘要 中文摘要 隨著信息技術(shù)的飛速發(fā)展,軟件產(chǎn)品已經(jīng)深入到社會(huì)的各個(gè)領(lǐng)域,軟件產(chǎn)品 的質(zhì)量成為人們共同關(guān)注的焦點(diǎn),因此軟件測(cè)試就成為保證軟件質(zhì)量的重要方法 之一,它貫穿了軟件工程的全過程。隨著軟件規(guī)模的擴(kuò)大,軟件復(fù)雜性的提高, 軟件測(cè)試技術(shù)的不斷發(fā)展,越來越多的測(cè)試人員發(fā)現(xiàn)傳統(tǒng)手工測(cè)試成本高、執(zhí)行 繁瑣、效率低等特點(diǎn)已遠(yuǎn)遠(yuǎn)不能滿足現(xiàn)實(shí)的需求。為了克服手工測(cè)試的這些缺點(diǎn), 自動(dòng)化測(cè)試技術(shù)被廣泛地引入進(jìn)來,并逐漸成為軟件測(cè)試的發(fā)展方向。自動(dòng)化測(cè) 試框架的出現(xiàn)表明軟件自動(dòng)化測(cè)試技術(shù)正在趨于成熟,早期使用錄制回放和腳本 工具的不足正在被克服,使得自動(dòng)化測(cè)試更加經(jīng)濟(jì)、有效,更加有利于實(shí)施維護(hù) 本文首先介紹課題背景,軟件測(cè)試的歷史與現(xiàn)狀;然后闡述軟件自動(dòng)化測(cè)試 的概念,介紹軟件自動(dòng)化測(cè)試生命周期,并通過與手工測(cè)試的比較,指出自動(dòng)化 測(cè)試的優(yōu)點(diǎn)與局限;接著介紹現(xiàn)有各種自動(dòng)化測(cè)試框架的概念,包括測(cè)試腳本模 塊化框架,測(cè)試庫(kù)架構(gòu)框架,數(shù)據(jù)驅(qū)動(dòng)測(cè)試框架,關(guān)鍵字驅(qū)動(dòng)測(cè)試框架,并利用 這些自動(dòng)化測(cè)試框架對(duì)被測(cè)應(yīng)用程序進(jìn)行測(cè)試,從而比較各種框架的優(yōu)缺點(diǎn);然 后在對(duì)各種自動(dòng)化測(cè)試框架比較的基礎(chǔ)上提出一種軟件自動(dòng)化測(cè)試混合框架,該 框架將現(xiàn)有各種自動(dòng)化測(cè)試框架的優(yōu)點(diǎn)有效地結(jié)合在一起,采用模塊化結(jié)構(gòu)組織 測(cè)試列表,提高測(cè)試列表的復(fù)用性,運(yùn)用數(shù)據(jù)驅(qū)動(dòng)和關(guān)鍵字驅(qū)動(dòng)技術(shù)降低測(cè)試腳 本維護(hù)開銷。文章著重闡述了軟件自動(dòng)化測(cè)試混合框架的結(jié)構(gòu)以及設(shè)計(jì)方法,并 結(jié)合自動(dòng)化測(cè)試生命周期介紹運(yùn)用此測(cè)試框架在決策信息管理系統(tǒng)上進(jìn)行測(cè)試的 詳細(xì)步驟。最后,總結(jié)出軟件自動(dòng)化測(cè)試混合框架的優(yōu)點(diǎn),提出設(shè)計(jì)自動(dòng)化測(cè)試 框架的原則。 關(guān)鍵詞:軟件測(cè)試;軟件自動(dòng)化測(cè)試;軟件自動(dòng)化測(cè)試框架;w 瑚妯如c r 分類號(hào):t p 3 1 1 5 6 a b s t r a c t w i t ht h ef 印i dd l d 叩蜘僦o fi n 如咖咖nt e c h o l o g 弘f t w a i sl l s 。di ne v a y 矗e l d o f s o c i 啊m m a n d m m 俐e 脅b 刪t o 腳恤刪姆o f 腳鷗 f 啊躺t e s d n gw 1 | i c hi 枷唧鋤炯t ew h o kp r o 懶so f f t 啪m 伽百撒砥l l gb 。o 嘲囂 伽eo f _ i h em o n i n 單m t a d lw a y 8f b fq l l a l 時(shí)勰酬啪o e w i t ht h e 伽d a r 蓼m e n to f f t w a 船0 p e ,m ci m p w m to f s o f t w a c o m p l 嘶a n dt h ed 硎o p m 讎to f s o n w a 托t e s t h 鶘 m 呲觚dm m 蛔t e fi s 蛐t h a t 也e 缸a i tt h a th i 曲c o 慨向s s y 齜di n c 伍c i 鈕t e x e 砌o f m 刪a lt e s ti s 舯ts a h s 匆w i t ht h er c q l | i r 啪e n t w ho r d 貫t oo v t 嬲舢 伯黜陽(yáng)s p 吡戳l t m 刪t c 咖i s b e i n g i n 心0 d t l c c d i n 協(xié)s o f t 哪t e 咖鋤d b 呲i n g l h ed i 刪蛐o f f t w 粥t c s lt h e 叩l p 嘲嘲咀o(hù) f f 晡a 鋤l t 呲a t i t c s t 在赳翔r o 出 砌i c a t e sl h a t 也et c c b l 】m o g yo f f t w a 鵬鋤曲叭n 砷c dt e s t i n gi sg o i n gt ob em a t i l 他 a u t o m 刪t e s d n gw i l lb 鯽em o 鋤dm o “刪刪c a l 勰de m d t 距db em o 他 a d v 鋤協(xié)寥枷瞄t ob ei i n p l 鋤e n t o dm a i n t a i n 。d t h i sp a p 盯矗l _ s ti n 仃i 砌u 懈t l l eb i 比k 薹即哪! do f t a s k h i g t o r y 鋤da c t i l a l i t ) ,o f s o 腳a t c s 血瑤沁o l l d l 弘d i s c u 鼴也ec c e p to f a u t o m a t e d 僦1 1 9 觚dt l l 加哪g ht h e 伽衄p a r i s o n w i 也m 鋤m a l 缸t 協(xié)i n d i 主e 也ep i e d o m i 柵鋤dd t 庇c to f 鋤l t o m a t e dt 鶴t i n 昏t l l i f d l 弘 d i s 啷啪c e p b o no fs o m e 腳a ma 咖m a t i t e s t 鼬l e 、釉呔s ,s u c h 鸛t e s ts c r i p m o 叫撕t y 硒哪哪f i 【,t e s tl i b r a f y 孤枷t e c t i 珊,出血i - d r i v t e s t i n gf h m 鍘r l 【a n d k 町啊m 幽如t c s 吐n g e w o 呔t h e n ,u s ct h 岱c 療m n 唧收sf b f 孤埔m m t c dt c 吼a n d c 0 曲p a m 剎l v 鋤l 扭雩$ 鋤dd i 韶小,鋤協(xié)g 鶴鋤o n gt h e m a c l a s t ,t h i sp 印_ e rb r i n g sf b 刑a r da h l r b r i ds o 矗w a 糟a l l t ( ,m a 婦lt c s t e w m l 【w b i c hi i l l l e f ! i t st h ea d v 越m l g 鶴o fd i 丘孤t f h 棚地制脅m a t i t e s t 如m e w o r k s t h i s 翱,o 出a d o p t sm o d m 孤燦c t l l t o 講印n i 弱惻h 咄a p p l i 岱d a 衄也i v 鋤dk e y w “場(chǎng)v t e i h l o g y t o i n l p m c 伍d e n c yo f t e s ta n dr e d u c o s to f s c r i p tm a i n l a i n s t h i sp a p e fm a i l l l yd i s c u s 螂t h e 蛐c t i h 鋤dd e 酊g nw a yo fh y b r i ds o 脅a l 瓤岫m a 虹o nt e s t 朗v o f i 【雒d 甑p a d a t ct 量l ep l o 鼴o f u s i n gt l l i s 觚e w o r kf b ft c s t i n g i n 捌s i o ni n a l i o nm 缸a g 鋤ts y s t 鼬a tl a s t 群驢盯吼蛐m a r i z 鶴t h ea d v 鋤t a g eo f h y b i i ds o 侍w a 孤曲咖嗡t i o nt e s t 鼬倒陽(yáng)l f l cm l dp u 把如“啊r dt l l ep r i n c i p l eo fs o n w a r e 鋤n 呲a 虹o nt e s t 丘a m m 出d 韶i g m k e y w o r d s ;s o r w a 磚1 韜血g ;s o f h a a l n o m a 自e dt c 8 緬gs o 腳a 他a 1 怕m a 曲n t e s tf 翔m 剖i t :w i l l 】h m 塒。r c l a s s n o :t p 3 1 1 5 6 致謝 兩年半的研究生生活轉(zhuǎn)眼聞就要結(jié)束了,回顧這段難忘的時(shí)光讓我充滿了眷 顧與感激。在這段時(shí)間里我學(xué)到了更多的知識(shí),參與了更多的實(shí)踐,認(rèn)識(shí)了許多 同學(xué)、老師和朋友在這里我要對(duì)他們給予我的幫助、關(guān)心與鼓勵(lì)表示衷心的感 謝 首先我要感謝我的導(dǎo)師須德教授。在研究生學(xué)習(xí)期間,須老師不僅在研究上 給予指導(dǎo),更在生活上無微不至的關(guān)心和照顧我們。須老師嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度,為 我們樹立了榜樣從他身上我們不僅學(xué)到了知識(shí),更重要的是學(xué)會(huì)了做人、治學(xué) 的道理。論文撰寫期間,須老師經(jīng)常給我提出指導(dǎo)和修改意見,論文的順利完成 離不開他的悉心指導(dǎo)。 其次我要感謝北京交通大學(xué)計(jì)算機(jī)研究所多媒體數(shù)據(jù)庫(kù)實(shí)驗(yàn)室老師和同學(xué)。 感謝徐保明老師、李曦老師和王濤老師在項(xiàng)目中給予的指導(dǎo)和幫助,感謝宋澤海 老師在科研環(huán)境以及科研設(shè)備中給予的大力支持,感謝實(shí)驗(yàn)室,以及研究生班上 和我朝夕相處的所有同學(xué)在學(xué)習(xí)和生活中給予的關(guān)心和幫助。 此外我還要感謝我的父母和家人,感謝他們多年的養(yǎng)育之恩,感謝他們?yōu)槲?求學(xué)付出的種種艱辛,是他們的教誨伴我健康成長(zhǎng),是他們的關(guān)心讓我有了戰(zhàn)勝 困難的勇氣。 最后,衷心地感謝在百忙之中審閱論文的各位老師和專家,懇請(qǐng)各位老師多 多批評(píng)指正,并提出寶貴的意見。 引言 1 1課題背景 1 引言 信息技術(shù)的飛速發(fā)展,使軟件產(chǎn)品應(yīng)用到社會(huì)的各個(gè)領(lǐng)域,上千萬行的大型 系統(tǒng)軟件及百萬行的應(yīng)用軟件已屢見不鮮,然而軟件的質(zhì)量卻一直是令所有人頭 痛的問題,因?yàn)殡S著規(guī)模的擴(kuò)大,對(duì)于質(zhì)量的保證己經(jīng)成為了一項(xiàng)異常艱苦的工 作,而對(duì)軟件進(jìn)行測(cè)試就是保證軟件質(zhì)量最重要和最有效的方法。 軟件危機(jī)曾經(jīng)是軟件界甚至整個(gè)計(jì)算機(jī)界的熱門話題。為了解決這場(chǎng)危機(jī), 軟件從業(yè)人員、專家和學(xué)者做出了大量的努力。現(xiàn)在人們己經(jīng)逐步認(rèn)識(shí)到所謂的 軟件危機(jī)實(shí)際上僅是一種狀況,那就是軟件中存在缺陷,正是這些缺陷導(dǎo)致了軟 件開發(fā)在成本、進(jìn)度和質(zhì)量上的失控。有缺陷是軟件的屬性,而且是無法改變的, 因?yàn)檐浖怯扇藖硗瓿傻模杏扇藖硗瓿傻墓ぷ鞫疾粫?huì)是完美無缺的。闖題是 在于應(yīng)如何盡量去避免缺陷的產(chǎn)生和消除已經(jīng)產(chǎn)生的缺陷,使程序中的缺陷密度 達(dá)到盡可能低的程度。給軟件帶來缺陷的原因很多,具體地說,主要有以下幾點(diǎn): ( 1 ) 交流不夠,交流上有誤解或者根本不進(jìn)行交流在進(jìn)行軟件開發(fā)時(shí),沒 有做充分的需求分析。即在不清楚該做什么或不該做什么的細(xì)節(jié)( 應(yīng)用的) 的情況 下,進(jìn)行軟件設(shè)計(jì)。 ( 2 ) 軟件復(fù)雜性。圖形用戶界面( ( 町i ) ,客戶服務(wù)器結(jié)構(gòu),分布式應(yīng)用,數(shù) 據(jù)通信,超大型關(guān)系型數(shù)據(jù)庫(kù)以及龐大的系統(tǒng)規(guī)模,使得軟件及系統(tǒng)的復(fù)雜性呈 指數(shù)增長(zhǎng),沒有現(xiàn)代軟件開發(fā)經(jīng)驗(yàn)的人很難理解它。 ( 3 ) 程序設(shè)計(jì)錯(cuò)誤像所有的人一樣,程序員也會(huì)出錯(cuò)。 ( 4 ) 需求變化。需求變化的影響是多方面的,客戶可能不了解需求變化帶來 的影響,也可能知道但又不得不那么做。需求變化的后果可能是造成系統(tǒng)的重新 設(shè)計(jì),設(shè)計(jì)人員的日程的重新安捧,已經(jīng)完成的工作可能要重做或者完全拋棄, 對(duì)其他項(xiàng)目產(chǎn)生影響,硬件需求可能要因此改變,等等。如果有許多小的改變或 者一次大的變化,項(xiàng)目各部分之間已知或未知的依賴性可能會(huì)相互影響而導(dǎo)致更 多問題的出現(xiàn),需求改變帶來的復(fù)雜性可能導(dǎo)致錯(cuò)誤,還可能影響工程參與者的 積極性。 ( 5 ) 時(shí)間壓力。軟件項(xiàng)目的日程表很難做到準(zhǔn)確,很多時(shí)候需要預(yù)計(jì)和猜測(cè) 當(dāng)最終期限迫近和關(guān)鍵時(shí)刻到來之際,錯(cuò)誤也就跟著來了。 要解決上述問題,即保證軟件的質(zhì)量,提高產(chǎn)品的可靠性和有效性,軟件在 北京交通大學(xué)碩士論文 開發(fā)的過程中必須進(jìn)行測(cè)試,而且要盡早測(cè)試、經(jīng)常測(cè)試、充分測(cè)試和全面測(cè)試 正如任何生產(chǎn)過程都離不開產(chǎn)品質(zhì)量檢驗(yàn)一樣,測(cè)試工作也是軟件開發(fā)過程中必 不可少的環(huán)節(jié)測(cè)試是迄今為止人們所能找到的保證軟件質(zhì)量的最好方法。測(cè)試 的目的是要發(fā)現(xiàn)軟件中的錯(cuò)誤,降低軟件運(yùn)行時(shí)的風(fēng)險(xiǎn)。軟件測(cè)試在開發(fā)成本中 占有4 0 以上的比例,它是保證軟件質(zhì)量的重要手段【l 】 隨著軟件應(yīng)用范圍的擴(kuò)大,軟件復(fù)雜度的提高,以及軟件設(shè)計(jì)技術(shù)的不斷發(fā) 展,軟件開發(fā)規(guī)模越來越大,處理的問題愈來愈復(fù)雜。相對(duì)來說傳統(tǒng)的軟件測(cè)試 技術(shù)和方法以及測(cè)試工具已無法滿足大型的,復(fù)雜的軟件測(cè)試需要。軟件自動(dòng)化 測(cè)試己成為當(dāng)前軟件測(cè)試技術(shù)研究的重點(diǎn)和難點(diǎn),有關(guān)軟件自動(dòng)化測(cè)試技術(shù)、理 論的研究和軟件自動(dòng)化測(cè)試工具的研發(fā)越來越受到軟件界的重視。 1 2課題意義 隨著軟件規(guī)模的擴(kuò)大,軟件復(fù)雜度的提高,無論是軟件開發(fā)商還是最終使用 軟件的用戶對(duì)軟件質(zhì)量的要求越來越高。軟件測(cè)試成為軟件工程的重要環(huán)節(jié),在 軟件生存周期中占有非常突出的位置,它直接關(guān)系到軟件的質(zhì)量、開發(fā)速度和成 本。為了提高軟件開發(fā)的效率和軟件的質(zhì)量,將自動(dòng)化測(cè)試代替一部分手工測(cè)試 是實(shí)現(xiàn)這一目標(biāo)的行之有效的方法。然而要更好地實(shí)現(xiàn)軟件自動(dòng)化測(cè)試,就必須 有一個(gè)理想的自動(dòng)化測(cè)試框架,來保證自動(dòng)化測(cè)試有效地進(jìn)行。 本文在比較了幾種常用的軟件自動(dòng)化測(cè)試框架的利弊之后,提出了一種混合 各個(gè)軟件自動(dòng)化測(cè)試框架優(yōu)點(diǎn)的新的測(cè)試框架,該框架既能夠?qū)崿F(xiàn)測(cè)試描述與測(cè) 試實(shí)現(xiàn)的分離,又能夠?qū)崿F(xiàn)測(cè)試數(shù)據(jù)與測(cè)試用例的分離,此外還實(shí)現(xiàn)了測(cè)試腳本 的模塊化管理,從而提高了測(cè)試腳本可復(fù)用性和可維護(hù)性,進(jìn)而提高軟件自動(dòng)化 測(cè)試的效率,減少軟件自動(dòng)化測(cè)試的成本。 1 3 軟件測(cè)試歷史與現(xiàn)狀 1 3 1軟件測(cè)試的歷史 e d w 越k i t 在他的暢銷書“s o 1 b t i l l g l nt h er e a lw 面d :1 i i i p r o v i l 嗚n 蝣 p 懈”中將整個(gè)軟件開發(fā)歷史分為三個(gè)階段【2 j : 第一個(gè)階段是6 0 年代及其以前,那時(shí)軟件規(guī)模都很小、復(fù)雜程度低,軟件開 發(fā)的過程隨意。開發(fā)人員的d t 加g 過程被認(rèn)為是唯一的測(cè)試活動(dòng)其實(shí)這并不是 現(xiàn)代意義上的軟件測(cè)試,當(dāng)然這一階段也還沒有專門測(cè)試人員的出現(xiàn)。 2 引言 第二個(gè)階段是7 0 年代,這個(gè)階段開發(fā)的軟件仍然不復(fù)雜,但人們已開始思考 開發(fā)流程問題,并提出“軟件工程s o r w 鋤他e n g i n f i l i g ”的概念。把軟件工程分 為需求分析、設(shè)計(jì)、編碼、測(cè)試和維護(hù)幾個(gè)階段的軟件生存期的概念同時(shí),在 軟件開發(fā)的實(shí)踐中,人們還認(rèn)識(shí)到,在開發(fā)初期發(fā)現(xiàn)并排除軟件錯(cuò)誤所付出的代 價(jià),遠(yuǎn)比在完成編碼以后經(jīng)過測(cè)試發(fā)現(xiàn)錯(cuò)誤并加以改正的代價(jià)小得多。但是這一 階段人們對(duì)軟件測(cè)試的理解僅限于基本的功能驗(yàn)證和b u g 搜尋,而且測(cè)試活動(dòng)僅 出現(xiàn)在整個(gè)軟件開發(fā)流程的后期,雖然測(cè)試由專門的測(cè)試人員來承擔(dān),但測(cè)試人 員都是行業(yè)和軟件專業(yè)的入門新手1 9 7 2 年6 月在美國(guó)北卡羅來納大學(xué)召開了首 屆軟件測(cè)試正式技術(shù)會(huì)議,成為軟件測(cè)試技術(shù)發(fā)展中的一個(gè)重要里程碑。1 9 7 5 年 w c h e t z e l 將在北卡羅來納大學(xué)召開的軟件測(cè)試會(huì)議上發(fā)表的論文整理出版了 p l o 彤瞄豫tm e l l l o d s 一書,書中縱覽了測(cè)試方法以及各種自動(dòng)測(cè)試工具,這 是專題論述軟件測(cè)試的第一本著作。7 0 年代中期j b g o o d e n 曲和s l - g e m a r t 首 先提出軟件測(cè)試的理論,從而把軟件測(cè)試這一實(shí)踐性很強(qiáng)的學(xué)科提高到理論的高 度,被認(rèn)為是軟件測(cè)試技術(shù)發(fā)展過程中具有開創(chuàng)性的工作。此后w e h 鉀舊e n g 呵b r t 進(jìn)一步總結(jié)原有的測(cè)試?yán)碚摬⑦M(jìn)一步加以完善,使軟件測(cè)試成為有理論指 導(dǎo)的實(shí)踐性學(xué)科參考。 第三個(gè)階段是8 0 年代及其以后,軟件和r r 行業(yè)進(jìn)入了大發(fā)展。軟件趨向大 型化。與之相應(yīng),人們?yōu)檐浖_發(fā)設(shè)計(jì)了各種復(fù)雜而精密的流程和管理方法( 比 如c m m 和m s f ) ,并將“質(zhì)量”的概念融入其中。軟件測(cè)試已有了行業(yè)標(biāo)準(zhǔn) ( e 彤a(chǎn) n s i ) ,它再也不是一個(gè)一次性的,而且只是開發(fā)后期的活動(dòng),而是與整 個(gè)開發(fā)流程融合成一體。軟件測(cè)試已成為一個(gè)專業(yè),需要運(yùn)用專門的方法和手段, 需要專門人才和專家來承擔(dān)軟件公司為了保證產(chǎn)品質(zhì)量,提高產(chǎn)品在市場(chǎng)上的 競(jìng)爭(zhēng)力,成立了獨(dú)立的測(cè)試部門,承擔(dān)軟件測(cè)試的任務(wù)。9 0 年代,測(cè)試工具的出 現(xiàn),測(cè)試支持度、測(cè)試成熟度等新概念的提出進(jìn)一步表明軟件測(cè)試技術(shù)的不斷發(fā) 展。 1 3 2國(guó)內(nèi)外研究現(xiàn)狀 軟件測(cè)試作為軟件工程學(xué)科的一個(gè)重要分支,隨著軟件的發(fā)展而發(fā)展。自從 2 0 世紀(jì)7 0 年代以來,國(guó)內(nèi)外許多學(xué)者和組織在軟件測(cè)試方面進(jìn)行了大量的研究工 作,形成許多經(jīng)典的軟件測(cè)試技術(shù)和軟件測(cè)試流程管理規(guī)范。 目前軟件測(cè)試技術(shù)的研究主要向網(wǎng)絡(luò)化、大型化和自動(dòng)化方面發(fā)展,主要包 括c l i e 州s e n ,盯系統(tǒng)、基于蛔c t 的w 曲應(yīng)用系統(tǒng)、嵌入式系統(tǒng)的軟件測(cè)試技術(shù) 的研究和測(cè)試工具的研制。 北京交通大學(xué)碩士論文 美國(guó)的m e e a c m 等組織制定了一系列軟件測(cè)試規(guī)范,國(guó)外的許多大學(xué)( 如 c 鋤e g i em d l ,華盛頓大學(xué)等) 、研究機(jī)構(gòu)( 如n a 硒n a ls o r w a 塢t c s t i 昭l 曲等) 和公司( 如s o f t 啪e a f c h ,m 刪f ym 刪v e ,m i t 劬a lc 0 叩鋤舡等) 進(jìn)行了大 量軟件測(cè)試的研究和應(yīng)用工作其中c 鋤e g i cm e l l 大學(xué)側(cè)重于回歸測(cè)試和 c l i 雌吣e 盯測(cè)試技術(shù)的研究,g r g cm o s 側(cè)重于基于規(guī)范的測(cè)試自動(dòng)生成和面 向?qū)ο鬁y(cè)試技術(shù)比較流行的軟件測(cè)試工具集有s o f 啊a r 囂哪- c h 的枷詘s 、 r 盤n i o n a l 的r o b o t 、m e 豫l r yh 魄a c l i v e 的晰n i j 衄珊耐l o a d 毗瞰暇等。 國(guó)內(nèi)的軟件產(chǎn)品測(cè)試技術(shù)研究起步晚,在人力、物力上投入與國(guó)外相比差距 較大1 4 】。 ( 1 ) 上海市軟件評(píng)測(cè)中心( s h s l ) 嘲。評(píng)測(cè)環(huán)境:s o l a r i s 平臺(tái)、a 平臺(tái), o s4 0 0 平臺(tái)、h p - u x 平臺(tái)、n t 和l i n 峨平臺(tái)、網(wǎng)絡(luò)環(huán)境;評(píng)測(cè)業(yè)務(wù)包括軟件評(píng) 測(cè)和網(wǎng)絡(luò)評(píng)測(cè),軟件評(píng)測(cè)包括:軟件產(chǎn)品登記測(cè)試、軟件產(chǎn)品性能測(cè)試、單項(xiàng)功 能確認(rèn)測(cè)試、標(biāo)準(zhǔn)符合性測(cè)試、開發(fā)過程中的單元測(cè)試和集成測(cè)試、信息工程項(xiàng) 目驗(yàn)收測(cè)試、信息工程監(jiān)理;網(wǎng)絡(luò)評(píng)測(cè)包括:網(wǎng)絡(luò)布線認(rèn)證測(cè)試、網(wǎng)絡(luò)系統(tǒng)性能測(cè) 試。 ( 2 ) 中國(guó)軟件評(píng)測(cè)中心( c s l ) 嘲。它是國(guó)家級(jí)第三方計(jì)算機(jī)軟件產(chǎn)品檢測(cè)機(jī) 構(gòu)。對(duì)軟件從功能上、兼容性、可擴(kuò)充性、性能、安全穩(wěn)定性、速度、易用性、 用戶文檔、資源占用率等九個(gè)方面進(jìn)行全面測(cè)試。 ( 3 ) i 舵s t 測(cè)試管理系統(tǒng)川。m s t 測(cè)試管理系統(tǒng)專注于測(cè)試流程的管理, 管理功能全面,對(duì)測(cè)試流程的設(shè)計(jì)科學(xué)、規(guī)范、合理。結(jié)合了開發(fā)人員在業(yè)界的 經(jīng)驗(yàn)和對(duì)國(guó)內(nèi)軟件開發(fā)現(xiàn)狀的把握等基礎(chǔ)上開發(fā)而成,非常貼近國(guó)內(nèi)用戶的需求: 具有強(qiáng)大的測(cè)試用例、測(cè)試步驟的編輯和管理功能,b u g 的跟蹤處理功能,所有輸 出結(jié)果自動(dòng)生成w o r d 文檔的功能,同時(shí)有強(qiáng)大的統(tǒng)計(jì)分析、決策支持能力,使用 維護(hù)方便,具有良好的性價(jià)比,是目前國(guó)內(nèi)市場(chǎng)不可多得的測(cè)試流程管理軟件。 ( 4 ) 北京大學(xué)、北京航空航天大學(xué)進(jìn)行了一系列軟件分析和測(cè)試工具的研究 和開發(fā),研制了一系列的程序理解工具和測(cè)試工具,比較具有代表性的工具有 s a 鉚c ,c + 十,s a 矗小m j a v 航空計(jì)算機(jī)研究所、南京大學(xué)在嵌入式系統(tǒng)測(cè)試方 面進(jìn)行較多工作,開發(fā)了一些靜態(tài)分析工具和測(cè)試用例自動(dòng)生成工具。西北工業(yè) 大學(xué)在航空軟件仿真測(cè)試以及c ,s 系統(tǒng)的測(cè)試方面進(jìn)行許多研究工作并取得了一 系列成果。 隨著面向?qū)ο蠹夹g(shù)、軟件重用技術(shù)以及瑚舶c t 的廣泛應(yīng)用,軟件測(cè)試技術(shù)面 臨著新的挑戰(zhàn)。目前軟件測(cè)試技術(shù)領(lǐng)域內(nèi)的研究熱點(diǎn)有p 1 : ( 1 ) 針對(duì)新的軟件開發(fā)技術(shù)開展的軟件測(cè)試技術(shù)研究,包括面向?qū)ο蠹夹g(shù)、 k b m 俄結(jié)構(gòu)、j a v a 語(yǔ)言、自動(dòng)生成軟件等軟件測(cè)試技術(shù)的研究; 引言 ( 2 ) 對(duì)某類軟件的特點(diǎn)開展的實(shí)用軟件測(cè)試技術(shù)和方法的研究。如實(shí)對(duì)軟件、 系統(tǒng)軟件、嵌入式軟件等不同類型軟件的特點(diǎn)開展測(cè)試技術(shù)研究; ( 3 ) 測(cè)試自動(dòng)化技術(shù)的研究,即以提高測(cè)試各階段工作的自動(dòng)化程度,減輕 人工測(cè)試負(fù)擔(dān)為耳的開展的研究,如回歸測(cè)試,覆蓋測(cè)試等 ( 4 ) 測(cè)試工具與測(cè)試環(huán)境的研究,依據(jù)軟件測(cè)試的技術(shù)和方法開發(fā)相應(yīng)的測(cè) 試工具與環(huán)境,如測(cè)試計(jì)劃工具,測(cè)試設(shè)計(jì)工具、測(cè)試管理工具、靜態(tài)分析工具、 回歸測(cè)試工具、性能及網(wǎng)絡(luò)負(fù)載測(cè)試工具為提高工具使用的有效性、工具聞互 操作性以及信息的共享性而開發(fā)的、由若干工具經(jīng)過有機(jī)結(jié)合形成的測(cè)試環(huán)境等 1 4 論文組織安排 本文在分析,借鑒、吸收大量文獻(xiàn)資料的科研成果的基礎(chǔ)上,設(shè)計(jì)了一種軟 件自動(dòng)化測(cè)試混合框架,并利用該框架進(jìn)行了軟件自動(dòng)化測(cè)試的實(shí)踐。論文組織 結(jié)構(gòu)如下: 第一章引言介紹課題研究的背景及意義,軟件測(cè)試的歷史以及國(guó)內(nèi)外的研 究現(xiàn)狀,論文的組織安排。 第二章軟件自動(dòng)化測(cè)試概述介紹軟件自動(dòng)化測(cè)試的基礎(chǔ)知識(shí),包括軟件自 動(dòng)化測(cè)試的概念,自動(dòng)化測(cè)試生命周期,并通過與手工測(cè)試的比較,指出軟件自 動(dòng)化測(cè)試的優(yōu)勢(shì)與局限。 第三章軟件自動(dòng)化測(cè)試框架比較通過具體測(cè)試實(shí)例介紹現(xiàn)有的四種自動(dòng) 化測(cè)試框架的概念,并比較了這四種測(cè)試框架的優(yōu)缺點(diǎn) 第四章軟件自動(dòng)化測(cè)試混合框架的設(shè)計(jì)提出一種結(jié)合現(xiàn)有自動(dòng)化測(cè)試框 架優(yōu)點(diǎn)的軟件自動(dòng)化測(cè)試混合框架,并主要介紹該框架的組成,具體設(shè)計(jì)方法, 以及該框架的執(zhí)行流程。 第五章軟件自動(dòng)化測(cè)試混合框架在d n 喱s 中的應(yīng)用介紹了按照自動(dòng)化測(cè)試 生命周期的步驟,運(yùn)用自行設(shè)計(jì)的軟件自動(dòng)化測(cè)試混合框架在決策信息管理系統(tǒng) ( d m 蝎) 進(jìn)行自動(dòng)化測(cè)試的詳細(xì)過程。 第六章結(jié)論結(jié)合所做工作,總結(jié)軟件自動(dòng)化測(cè)試混合框架的優(yōu)點(diǎn)以及需要 改進(jìn)的地方,提出設(shè)計(jì)自動(dòng)化測(cè)試框架的應(yīng)遵循的原則。 5 北京交通大學(xué)碩士論文 2 軟件自動(dòng)化測(cè)試概述 軟件測(cè)試的工作量雖然很大f 據(jù)統(tǒng)計(jì),會(huì)用到4 0 的開發(fā)時(shí)間,些可靠性要 求高的軟件測(cè)試時(shí)間甚至占到總開發(fā)時(shí)間的6 0 ) ,但是許多操作是重復(fù)性的、非 智力創(chuàng)造性的工作。以往大多采用手工調(diào)試和測(cè)試的方法,或編制測(cè)試程序進(jìn)行 測(cè)試,即耗去大量時(shí)間又不規(guī)范,在將軟件分發(fā)給用戶使用時(shí),常常發(fā)生問題, 嚴(yán)重時(shí)導(dǎo)致系統(tǒng)癱瘓,這樣不僅無法收回投資,而且造成巨大經(jīng)濟(jì)損失。采用自 動(dòng)化測(cè)試的方法可以大大提高軟件測(cè)試的效率,因此應(yīng)用自動(dòng)化測(cè)試,企業(yè)在這 方面的投資,會(huì)對(duì)整個(gè)開發(fā)工作的質(zhì)量、成本、和周期帶來非常明顯的效果。 2 1 軟件自動(dòng)化測(cè)試的概念 軟件自動(dòng)化測(cè)試就是執(zhí)行某種程序設(shè)計(jì)語(yǔ)言編制的自動(dòng)測(cè)試程序,控制被測(cè) 軟件的執(zhí)行,模擬手動(dòng)澳4 試步驟,完成全自動(dòng)或半自動(dòng)測(cè)試【3 1 。其目的在于縮短測(cè) 試周期,增強(qiáng)對(duì)軟件性能方面的測(cè)試能力等,從而達(dá)到保證軟件質(zhì)量并使軟件能 夠提前上線。 全自動(dòng)測(cè)試就是指在自動(dòng)測(cè)試過程中,根本不需要人工干預(yù),由程序自動(dòng)完 成測(cè)試的全過程悼j 。 半自動(dòng)測(cè)試就是指在自動(dòng)測(cè)試過程中,需要人工手動(dòng)輸入測(cè)試用例或選擇測(cè) 試路徑,再由自動(dòng)測(cè)試程序按照人工指定的要求完成自動(dòng)測(cè)試【舯。 軟件自動(dòng)化測(cè)試是一門技術(shù)。對(duì)于任何軟件系統(tǒng),測(cè)試者希望通過有限的測(cè) 試用例發(fā)現(xiàn)軟件中的大部分缺陷。自動(dòng)化測(cè)試使得所取得的測(cè)試用例得以重復(fù)測(cè) 試,并能保障測(cè)試的科學(xué)性、嚴(yán)密性、組織性。其次,自動(dòng)化測(cè)試是一種機(jī)制, 它不僅是指運(yùn)用自動(dòng)工具進(jìn)行測(cè)試,而且包括如何管理測(cè)試自動(dòng)化,如何確定自 動(dòng)化測(cè)試的方法以及如何組織測(cè)試等。 高效的自動(dòng)化測(cè)試來源予好的測(cè)試軟件,這些測(cè)試軟件是由經(jīng)驗(yàn)豐富的測(cè)試 人員精心設(shè)計(jì)的,在此基礎(chǔ)上再應(yīng)用自動(dòng)化測(cè)試技術(shù)就可以實(shí)現(xiàn)自動(dòng)測(cè)試。自動(dòng) 化測(cè)試通常要比手工測(cè)試經(jīng)濟(jì)得多,其開銷只是手工測(cè)試的一小部分。自動(dòng)化測(cè) 試的方法越好,長(zhǎng)期使用獲得的收益就越大。 軟件自動(dòng)化測(cè)試概述 2 2自動(dòng)化測(cè)試生命周期 軟件自動(dòng)化測(cè)試是一個(gè)復(fù)雜的過程,為了確保自動(dòng)化測(cè)試的成功,就必須遵 循軟件開發(fā)流程我們需要像開發(fā)軟件項(xiàng)目一樣把自動(dòng)化測(cè)試作為一個(gè)項(xiàng)目來執(zhí) 行,自動(dòng)化測(cè)試必須被視為一個(gè)完整的軟件開發(fā)過程。因此自動(dòng)化測(cè)試的執(zhí)行應(yīng) 經(jīng)過需求定義、測(cè)試計(jì)劃、測(cè)試設(shè)計(jì)、測(cè)試開發(fā)等一系列的活動(dòng)。為此,d u s t h l 、 m 曲k a 和p 卸l 合作公布了自動(dòng)化測(cè)試生命周期方法學(xué)( a m o m 緬nt e s tu 蠡鼢r c l c m e l l 烈l o l o g y ,刪) 這是一種經(jīng)過調(diào)整的結(jié)構(gòu)化方法學(xué),能確保自動(dòng)化酒 試的成功實(shí)現(xiàn)1 9 l 。它定義了以下六個(gè)階段方法學(xué):自動(dòng)化測(cè)試的決定;自動(dòng)化測(cè)試 工具的選擇;自動(dòng)化測(cè)試的引入;自動(dòng)化測(cè)試計(jì)劃、設(shè)計(jì)和開發(fā);自動(dòng)化測(cè)試的 執(zhí)行和管理;自動(dòng)化測(cè)試項(xiàng)目評(píng)審。 ( 1 ) 自動(dòng)化測(cè)試的決定。在這一階段,測(cè)試團(tuán)隊(duì)?wèi)?yīng)該找出能自動(dòng)化的軟件測(cè) 試過程以及應(yīng)該自動(dòng)化的軟件測(cè)試過程;知道自動(dòng)化測(cè)試的預(yù)期結(jié)果和列出在正 確執(zhí)行自動(dòng)化測(cè)試后的益處;同時(shí),需要列出自動(dòng)化測(cè)試工具的備選方案,這對(duì) 于獲得管理層的支持是非常有幫助的 ( 2 ) 自動(dòng)化測(cè)試工具的選擇。測(cè)試工具是用于促進(jìn)測(cè)試過程的。測(cè)試工具能 被用于實(shí)現(xiàn)一個(gè)過程并執(zhí)行測(cè)試過程的各種規(guī)范。在很多情況下,測(cè)試工具自帶 的內(nèi)建程序可以被理解為過程。然而,它們往往是不完整的,不能正確反映過程。 一個(gè)最好的軟件測(cè)試工具使你能夠?qū)⑺湍愕臏y(cè)試需求達(dá)成一致。而且它們提供 高度可自定義的工作流程和跟蹤報(bào)告能力。因此,這一階段用于指導(dǎo)測(cè)試人員對(duì) 自動(dòng)化測(cè)試工具進(jìn)行評(píng)估,并確定使用的測(cè)試工具。 ( 3 ) 自動(dòng)化測(cè)試的弓l 入這個(gè)階段概括了成功引入自動(dòng)化測(cè)試到一個(gè)新的項(xiàng) 目中所必須的步驟:測(cè)試過程分析確保整個(gè)測(cè)試過程和測(cè)試策略適當(dāng),必要時(shí)可 以加以改進(jìn),以便成功地引入自動(dòng)化測(cè)試;測(cè)試工具考查階段測(cè)試工程師根據(jù) 測(cè)試需求、可用的測(cè)試環(huán)境和人力資源、用戶環(huán)境、平臺(tái)以及被測(cè)的應(yīng)用的產(chǎn)品 特性,研究將自動(dòng)化測(cè)試工具或?qū)嵱贸绦蛞霚y(cè)試工作是否對(duì)項(xiàng)目有好處 ( 4 ) 自動(dòng)化測(cè)試計(jì)劃、設(shè)計(jì)和開發(fā)。測(cè)試計(jì)劃:測(cè)試計(jì)劃是測(cè)試過程中最 重要的活動(dòng)。它包括風(fēng)險(xiǎn)評(píng)估、鑒別和確定測(cè)試需求的優(yōu)先級(jí),估計(jì)測(cè)試資源的 需求量,開發(fā)測(cè)試項(xiàng)目計(jì)劃以及給測(cè)試小組成員分配測(cè)試職責(zé)。測(cè)試設(shè)計(jì):該 階段需要確定所要執(zhí)行的測(cè)試數(shù)目、測(cè)試方式( 如路徑或功能) ,必須執(zhí)行的測(cè)試 條件,以及需要建立和遵循的測(cè)試設(shè)計(jì)標(biāo)準(zhǔn);測(cè)試開發(fā);在此階段,測(cè)試團(tuán)隊(duì) 要在測(cè)試分析和設(shè)計(jì)的基礎(chǔ)上,制定測(cè)試程序開發(fā)執(zhí)行迸度表,刨建具有可維護(hù) 性、可重用性、簡(jiǎn)單性和健壯性的測(cè)試程序。 ( 5 ) 測(cè)試執(zhí)行和管理:測(cè)試團(tuán)隊(duì)必須根據(jù)測(cè)試程序執(zhí)行進(jìn)度執(zhí)行測(cè)試腳本, 7 北京交通大學(xué)碩士論文 并改善這些腳本。在這個(gè)過程中還必須評(píng)審測(cè)試的結(jié)果,以避免錯(cuò)誤的結(jié)果系 統(tǒng)的問題應(yīng)通過系統(tǒng)問題報(bào)告記錄在案,并幫助開發(fā)人員理解和重現(xiàn)這些問題 最后,測(cè)試團(tuán)隊(duì)需要進(jìn)行回歸測(cè)試來追蹤和關(guān)閉這些問題 ( 6 ) 測(cè)試項(xiàng)目評(píng)審與評(píng)估:測(cè)試項(xiàng)目的評(píng)審與評(píng)估必須貫穿于整個(gè)自動(dòng)化測(cè) 試生命周期,以利于測(cè)試活動(dòng)的不斷改進(jìn),必須有相應(yīng)的標(biāo)準(zhǔn)來衡量評(píng)審的結(jié)果。 通過運(yùn)用矧l m 中所概括的系統(tǒng)的方法,一個(gè)測(cè)試團(tuán)隊(duì)就能在測(cè)試資源受限 的情況下和用這一途徑組織和執(zhí)行測(cè)試活動(dòng),并且達(dá)到使測(cè)試覆蓋率最大的目的。 很明顯。強(qiáng)調(diào)自動(dòng)化測(cè)試是軟件工業(yè)的一個(gè)很大轉(zhuǎn)變。這種轉(zhuǎn)變不僅包括應(yīng)用程 序工具和測(cè)試自動(dòng)化,它還貫穿于系統(tǒng)開發(fā)的整個(gè)生命周期。朋吼m 和系統(tǒng)的開 發(fā)生命周期是同步進(jìn)行的。要使軟件專業(yè)人員轉(zhuǎn)到自動(dòng)化測(cè)試上來,結(jié)構(gòu)化的方 法是必須采用的。因此,a t l m 是革命性的,它代表了一種結(jié)構(gòu)化的方法,規(guī)定 了確定測(cè)試方法和執(zhí)行測(cè)試的流程,使得軟件專業(yè)人員能進(jìn)行可重復(fù)的軟件測(cè)試。 2 。3 軟件自動(dòng)化測(cè)試的優(yōu)點(diǎn) 隨著軟件規(guī)模的擴(kuò)大,軟件復(fù)雜性的提高,傳統(tǒng)的手工測(cè)試已遠(yuǎn)遠(yuǎn)不能滿足 現(xiàn)實(shí)需求,并逐漸被自動(dòng)化測(cè)試所代替。其原因在于手工測(cè)試具有無法保證測(cè)試 的科學(xué)性和嚴(yán)密性的缺點(diǎn),這是因?yàn)閒 1 哪: ( 1 ) 測(cè)試人員要負(fù)責(zé)大量文檔報(bào)表的制定和整理工作,會(huì)變得力不從心; ( 2 ) 受軟件開發(fā)日期,開發(fā)成本,人員,資源等多方面因素的限制,難以進(jìn) 行全面的測(cè)試; ( 3 ) 如果改正軟件中的錯(cuò)誤需要很長(zhǎng)時(shí)間,回歸測(cè)試將變得異常困難; ( 4 ) 對(duì)測(cè)試過程中出現(xiàn)的大量缺陷缺乏科學(xué)有效的管理手段,責(zé)任含混不清, 沒有人能夠向決策層提供精確的數(shù)據(jù)來衡量當(dāng)前的工作進(jìn)度和工作效率; ( 5 ) 反復(fù)測(cè)試帶來的倦怠情緒及其它人為因素使得測(cè)試標(biāo)準(zhǔn)前后不一,測(cè)試 花費(fèi)的時(shí)問越長(zhǎng),測(cè)試的嚴(yán)格性也就越低。 而上面這些問題大都可由自動(dòng)化測(cè)試工具來解決。自動(dòng)化測(cè)試具有以下優(yōu)點(diǎn) 【l l 】: ( 1 ) 令軟件新版本進(jìn)行回歸測(cè)試的開銷最小對(duì)于軟件開發(fā),每發(fā)布一個(gè)新 版本,其中大部分功能和界面都和上一個(gè)版本相似或完全相同,這時(shí)要對(duì)新版本 再次進(jìn)行已有的測(cè)試,這部分工作多為重復(fù)工作,特別適合使用自動(dòng)化測(cè)試來完 成,從而令回歸測(cè)試的開銷達(dá)到最小。 ( 2 ) 可以在更短的時(shí)間內(nèi)完成更多的測(cè)試。基于計(jì)算機(jī)的高效計(jì)算能力,自 動(dòng)化測(cè)試的最根本的優(yōu)點(diǎn)在于,與手工測(cè)試相比,能在更少的時(shí)間內(nèi)完成更多的 8 軟件自動(dòng)化酒試概述 測(cè)試工作,因此也就縮短了測(cè)試時(shí)問 ( 3 ) 可以完成一些手工測(cè)試不能或難以完成的測(cè)試。對(duì)于一些非功能性方面 的測(cè)試,如:壓力測(cè)試、并發(fā)測(cè)試、大數(shù)據(jù)量測(cè)試、崩潰性測(cè)試等,這些測(cè)試用 手工測(cè)試是很難,甚至是不可能完成的但自動(dòng)化測(cè)試則能方便地執(zhí)行這些測(cè)試, 比如并發(fā)測(cè)試,使用自動(dòng)化測(cè)試工具就可以模擬來自多方的并發(fā)操作了 ( 4 ) 測(cè)試具有一致性和可重復(fù)性。由于每次自動(dòng)化測(cè)試運(yùn)行的腳本是相同的, 所以可以進(jìn)行重復(fù)的測(cè)試,使得每次執(zhí)行的測(cè)試具有一致性,手工測(cè)試則很難做 到這點(diǎn)有些測(cè)試可能在不同的硬件配置下執(zhí)行,使用不同的操作系統(tǒng)或不同的 數(shù)據(jù)庫(kù),此時(shí)要求多平臺(tái)產(chǎn)品的跨平臺(tái)質(zhì)量的一致性,這在手工測(cè)試的情況下更 不可能做到。好的自動(dòng)測(cè)試機(jī)制還可以確保測(cè)試標(biāo)準(zhǔn)與開發(fā)標(biāo)準(zhǔn)的一致性。例如, 此類工具可以測(cè)試每個(gè)應(yīng)用程序的相同類型的功能以相同的方法實(shí)現(xiàn)。 ( 5 ) 更好地利用資源。將繁瑣的測(cè)試任務(wù)自動(dòng)化,可以使測(cè)試人員解脫出來, 將精力更多地投入到測(cè)試用例的設(shè)計(jì)和必要的手工測(cè)試當(dāng)中。并且,理想的自動(dòng) 化測(cè)試能夠按計(jì)劃完全自動(dòng)地運(yùn)行,使得完全可以利用周末和晚上的時(shí)間執(zhí)行自 動(dòng)化測(cè)試 ( 6 ) 測(cè)試的復(fù)用性高。好的自動(dòng)化測(cè)試機(jī)制可以很好的提高測(cè)試腳本的復(fù)用 性,當(dāng)測(cè)試軟件發(fā)生改變,只需要對(duì)測(cè)試腳本進(jìn)行少量的修改就可以進(jìn)行回歸測(cè) 試,大大降低了測(cè)試腳本的維護(hù)開銷。 ( 7 ) 可以更快地將軟件推向市場(chǎng)。一旦一系列測(cè)試已經(jīng)被自動(dòng)化,則可以比 手工測(cè)試更快地重復(fù)執(zhí)行,因此縮短了軟件開發(fā)的時(shí)間 ( 8 ) 增加軟件信任度軟件通過強(qiáng)有力地自動(dòng)化測(cè)試后,可以大大減少軟件 中存在的錯(cuò)誤,提高軟件質(zhì)量,發(fā)布時(shí)對(duì)其的信任度也就相應(yīng)提高了。 2 4軟件自動(dòng)化測(cè)試的局限 雖然,軟件自動(dòng)化測(cè)試有著顯著的優(yōu)越性,自動(dòng)化測(cè)試正在逐步替代手工測(cè) 試。但是,自動(dòng)化測(cè)試并不是萬能的,自動(dòng)化測(cè)試所完成的功能也有一定的局限 性,主要表現(xiàn)在以下幾個(gè)方面: ( 1 ) 某些情況下不宜使用自動(dòng)化測(cè)試很少運(yùn)行的測(cè)試;對(duì)不穩(wěn)定軟件的測(cè) 試;通過人的感官來判斷的測(cè)試等。這些情況下使用自動(dòng)化測(cè)試將得不償失。 ( 2 ) 自動(dòng)化測(cè)試對(duì)測(cè)試質(zhì)量的依賴性極大。測(cè)試工具只能判斷實(shí)際結(jié)果與期 望結(jié)果之間的區(qū)別。因此,在自動(dòng)測(cè)試中必需保證期望輸出結(jié)果的正確性。也就 是對(duì)測(cè)試本身的質(zhì)量有很高的要求。 ( 3 ) 自動(dòng)化測(cè)試工具本身并不具有靈活性。工具是軟件,只能嚴(yán)格地按照指 9 北京交通大學(xué)碩士論文 令執(zhí)行任務(wù)。而手工測(cè)試中,測(cè)試者可以根據(jù)具體的情況隨時(shí)調(diào)整測(cè)試計(jì)劃,處 理意外事故,用想象力和創(chuàng)造力改進(jìn)測(cè)試 ( 4 ) 自動(dòng)化測(cè)試不能提高有效性。有效性是指發(fā)現(xiàn)軟件缺陷的有效性,即能 否發(fā)現(xiàn)缺陷。在這方面自動(dòng)化測(cè)試并不會(huì)比手工測(cè)試更加有效 ( 5 ) 自動(dòng)化測(cè)試比手工測(cè)試發(fā)現(xiàn)的缺陷更少。因?yàn)檐浖y(cè)試的首次進(jìn)行是由 手工方式完成,自動(dòng)化測(cè)試應(yīng)是對(duì)程序的“再測(cè)試”,也就是回歸測(cè)試。長(zhǎng)期測(cè)試 的經(jīng)驗(yàn)統(tǒng)計(jì)表明。再次測(cè)試發(fā)現(xiàn)的缺陷不會(huì)多于酋次測(cè)試發(fā)現(xiàn)的缺陷。 ( 6 ) 自動(dòng)化測(cè)試可能會(huì)制約軟件開發(fā)。軟件的改變對(duì)自動(dòng)化測(cè)試有較大的影 響,因此與手工測(cè)試比較,自動(dòng)化測(cè)試表現(xiàn)得更“脆弱”。由于設(shè)置自動(dòng)測(cè)試比手 工測(cè)試開銷大,并且需要進(jìn)行維護(hù),這些都可能限制了軟件系統(tǒng)的修改或改進(jìn)。 由于經(jīng)濟(jì)原因,對(duì)自動(dòng)測(cè)試影響較大的軟件修改可能受到限制從而使軟件開發(fā)受 到影響。 通過以上分析可以看出自動(dòng)化測(cè)試并不能完全取代手工測(cè)試。認(rèn)識(shí)到軟件自 動(dòng)化測(cè)試的這些局限性有助于我們更加合理的對(duì)軟件測(cè)試進(jìn)行自動(dòng)化,通過自動(dòng) 化測(cè)試與手工測(cè)試的完美結(jié)合,充分發(fā)揮各自的優(yōu)勢(shì),以達(dá)到更好的測(cè)試效果。 l o 軟件自動(dòng)化測(cè)試框架比較 3 軟件自動(dòng)化測(cè)試框架比較 自動(dòng)化測(cè)試在過去的2 0 年中已經(jīng)有了很大的發(fā)展最初的測(cè)試工具只提供了 簡(jiǎn)單的捕捉回放功能:記錄并播放鍵盤按鍵,然后捕捉和比較屏幕。這些測(cè)試方 法雖然最容易應(yīng)用,但是幾乎不可能維護(hù)。捕捉回放工具最終被功能和靈活性更 強(qiáng)的測(cè)試腳本工具代替。 但是,腳本工具也有自己的問題他們實(shí)現(xiàn)起來需要很強(qiáng)的開發(fā)技術(shù)和經(jīng)驗(yàn), 并且也不能確定它們是一定可以維護(hù)的。更糟糕的是高度個(gè)性化的腳本工具技術(shù), 加上沒有什么文檔記錄,最后的結(jié)果經(jīng)常是重寫包含成千上萬行代碼的腳本庫(kù), 成本開銷巨大 因此,一種新的自動(dòng)化測(cè)試產(chǎn)品出現(xiàn)了它可以減少實(shí)現(xiàn)和維護(hù)的成本,使 測(cè)試人員可以把精力集中在應(yīng)用程序的測(cè)試用例設(shè)計(jì)上,而不是開發(fā)復(fù)雜的測(cè)試 腳本。這些工具提供預(yù)先寫好的測(cè)試框架,可以極大的減少,甚至消除學(xué)習(xí)和使 用腳本語(yǔ)言的需要。這個(gè)測(cè)試產(chǎn)品就是自動(dòng)化測(cè)試框架。在下面的幾節(jié)內(nèi)容里將 討論幾種常用的自動(dòng)化測(cè)試框架,并比較它們之間的利弊。 3 1測(cè)試腳本模塊化框架 測(cè)試腳本模塊化框架是通過創(chuàng)建小的獨(dú)立的腳本來代表被測(cè)試應(yīng)用程序的模 塊和函數(shù),然后用一種分層的方式將這些小腳本組成更大的測(cè)試,從而實(shí)現(xiàn)一個(gè) 特定的測(cè)試用例【1 2 ,1 3 1 。 為了提高自動(dòng)化測(cè)試套件的可維護(hù)性,測(cè)試腳本模塊化框架應(yīng)用了抽象和封 裝的原貝| j 。它采用了一個(gè)很著名的編程策略,就是在一個(gè)部件前面構(gòu)建一個(gè)抽象 層以掩藏應(yīng)用程序其它的部件它把應(yīng)用程序從部件的修改中隔離出來,并規(guī)定 了在應(yīng)用程序設(shè)計(jì)中的模塊性。這種測(cè)試框架在以后所提到的各種框架中是最容 易精通和掌握的。 為了更直觀地說明這種框架的應(yīng)用,下面以w i n d o 、船計(jì)算器程序?yàn)楸粶y(cè)應(yīng)用 程序,測(cè)試其在標(biāo)準(zhǔn)視圖和科學(xué)視圖下的基本功能:加、減、乘、除。采用測(cè)試 腳本模塊化框架,分別將加、減、乘、除四個(gè)子功能創(chuàng)建成獨(dú)立的測(cè)試腳本作為 測(cè)試腳本層次的最低層,以下分別是用w 圳跏加囂錄制的標(biāo)準(zhǔn)視圖下和科學(xué)視圖 下的加法功能腳本 然后在層次結(jié)構(gòu)的上一層分別用兩個(gè)腳本表示標(biāo)準(zhǔn)視圖和科學(xué)視圖中要測(cè)試 的加、減、乘、除操作。就像下面兩個(gè)腳本中表現(xiàn)的一樣,每個(gè)腳本調(diào)用了低層 創(chuàng)建的各功能模塊的獨(dú)立腳本。 軟件自動(dòng)化測(cè)試框架比較 最后,在腳本層次結(jié)構(gòu)中最頂層的腳本應(yīng)該是用來測(cè)試應(yīng)用程序不同視圖的 測(cè)試用例。該腳本分別調(diào)用中層創(chuàng)建的標(biāo)準(zhǔn)視圖腳本和科學(xué)視圖腳本 從這個(gè)簡(jiǎn)單的例子中我們可以了解到這種框架是如何產(chǎn)生高度的模塊化,并 且增加測(cè)試套件的全面的可維護(hù)性。如果以后計(jì)算器上的某一個(gè)操作鍵發(fā)生了變 化,我們只需要改變低層使用到這個(gè)操作鍵的腳本,而對(duì)上層調(diào)用該操作鍵進(jìn)行 測(cè)試的腳本無需作任何改動(dòng)。 3 2 測(cè)試庫(kù)構(gòu)架框架 測(cè)試庫(kù)構(gòu)架框架和測(cè)試腳本模塊化框架非常相似,有著同樣的優(yōu)勢(shì)。但是它 把被測(cè)應(yīng)用程序分成過程和函數(shù),而不是腳本。這種框架要求創(chuàng)建庫(kù)文件來代表 被測(cè)應(yīng)用程序模塊、零件或函數(shù),然后這些庫(kù)文件被測(cè)試用例腳本直接調(diào)用【1 2 ”】。 下面仍以上述計(jì)算器測(cè)試用例為例說明本框架的使用。采用s q a b a s i c 的庫(kù)文件, 創(chuàng)建包含計(jì)算器加、減、乘、除操作的函數(shù),并在頭文件中聲明該庫(kù)文件。以下 是頭文件( h e a d 仃丘l e s b h ) 和庫(kù)文件( 1 n 瑚胛矗l e s b l ) 7 h d 日舭 d e c l a 埠s u bs 紐i 出i d 洶c i i b a s i c “b ”f u n c t i sl i b 塒曠( o 非捌1 d o 舢b t 昭一 o l 髓徹d 1 w o a 8 抽嘶一o p e f a 6 0 n a 8 鼬f i l l g ) “b l 翟r vs 腳f i i e s u bs 協(xié)n d 卸d v i c w f 舶c t i 徹( o p 啪們o n ea s h l 魄隅一o p e r a n 西o a 5h 嘲隅一o p 嗽虹舳 s 血g ) h c k o n 觸t 伽慣鋤1 d s d e c tc a s eo 餓a n d o f 培 c a s con l s h b u n o na i d c - 0 崎e c i h i d c x = 擴(kuò) c a lp l 塒l b u t t o na i c l ”o b i e c t = 7 一 c a 2p l i s h b u t 咖c n c k ”o b i o c t h i d e x ;l l “ c a 3p l l 妯u t 自阻c l i d ”o 蛹。吐i n d 麟= 1 5 蚪 c a 4p i l s h b u t o nc 矗c k i ”0 b j o c t b d 懿= 6 ” 利用上述頭文件和庫(kù)文件可以產(chǎn)生如下的測(cè)試用例腳本: 1 4 軟件自動(dòng)化測(cè)試框架比較 從這個(gè)例子中,我們能夠看到這種框架也產(chǎn)生了高度的模塊化,同樣增加了 測(cè)試套件的全面可維護(hù)性。就像在測(cè)試腳本模塊化框架里一樣,如果計(jì)算器中的 某個(gè)操作鍵發(fā)生變化,我們所要做的只是修改庫(kù)文件里對(duì)應(yīng)操作鍵的信息,這樣 同時(shí)也更新了所有調(diào)用該操作鍵的腳本 上述兩種測(cè)試框架雖然使用模塊化的方法,提高了測(cè)試套件的維護(hù)性,但是 由于測(cè)試數(shù)據(jù)都是寫在腳本中的,一個(gè)測(cè)試腳本只能執(zhí)行一個(gè)測(cè)試用例,當(dāng)軟件 規(guī)模很大時(shí),往往需要大量的腳本才能實(shí)現(xiàn)自動(dòng)化測(cè)試,增加了測(cè)試腳本的維護(hù) 開銷。因此,人們采用數(shù)據(jù)驅(qū)動(dòng)腳本技術(shù),實(shí)現(xiàn)了數(shù)據(jù)驅(qū)動(dòng)測(cè)試框架,采用這種 測(cè)試框架大大減少了測(cè)試腳本的數(shù)量 3 3數(shù)據(jù)驅(qū)動(dòng)測(cè)試框架 將數(shù)據(jù)驅(qū)動(dòng)腳本技術(shù)運(yùn)用到自動(dòng)化測(cè)試框架中就形成了數(shù)據(jù)驅(qū)動(dòng)測(cè)試框架。 這種框架從某個(gè)數(shù)據(jù)文件( 例如0 d b c 源文件、e x c d 文件、c s v 文件、a d o 對(duì) 象文件等) 中讀取輸入、輸出的測(cè)試數(shù)據(jù),然后通過變量傳入事先錄制好的或手工 編寫的測(cè)試腳本中。其中,這些變量被用作傳遞( 輸入輸出) 用來驗(yàn)證應(yīng)用程序的 測(cè)試數(shù)據(jù)。在這個(gè)過程當(dāng)中,數(shù)據(jù)文件的讀取、測(cè)試狀態(tài)和所有測(cè)試信息都被編 寫進(jìn)測(cè)試腳本里:測(cè)試數(shù)據(jù)只包含在數(shù)據(jù)文件中,而不是腳本里,測(cè)試腳本只是 一個(gè)“驅(qū)動(dòng)”,或者說是一個(gè)傳送數(shù)據(jù)的機(jī)制【。 數(shù)據(jù)驅(qū)動(dòng)的自動(dòng)化測(cè)試?yán)孟嗤臏y(cè)試過程測(cè)試不同的輸入、輸出組合。它 將測(cè)試輸入和預(yù)期輸出組織為表,表中的一行對(duì)應(yīng)一個(gè)測(cè)試。然后創(chuàng)建一個(gè)從表 中逐行讀入的自動(dòng)化測(cè)試過程,執(zhí)行每個(gè)輸入步驟,并檢驗(yàn)預(yù)期結(jié)果。這些表可 以記錄在如e x c e l 文件( 電子表格) ,c s v 文件( 易輸出的以隔斷文本文件格式存 放的數(shù)據(jù)文件) 等方便錄入測(cè)試數(shù)據(jù)的數(shù)據(jù)文件中。當(dāng)把數(shù)據(jù)驅(qū)動(dòng)測(cè)試過程放在一 起后,就可以反復(fù)使用該過程來執(zhí)行新測(cè)試。這種手段對(duì)于有很多不同數(shù)據(jù)選項(xiàng) 的應(yīng)用來說最有效。 下面以w 誣l r u 船盯自帶的f 1 i g l l tr 髂e f y a i 范例程序作為被測(cè)應(yīng)用程序,利 用數(shù)據(jù)驅(qū)動(dòng)測(cè)試框架測(cè)試不同的訂單中飛機(jī)票價(jià)總額計(jì)算是否正確。在測(cè)試腳本 中將訂單號(hào)設(shè)為變量,采用e x c d 文件作為數(shù)據(jù)文件,在其中定義不同的訂單號(hào)來 北京交通大學(xué)碩士論文 實(shí)現(xiàn)數(shù)據(jù)驅(qū)動(dòng)的自動(dòng)化測(cè)試。測(cè)試腳本如下: 撐設(shè)置數(shù)據(jù)文件名稱 協(xié)b i e = ”如協(xié)山慨x l 礦: 撐獲取數(shù)據(jù)文件記錄,判斷數(shù)據(jù)文件是否為空 t 口# 捌l9 p e n ( 1 a b kd d tm o d eb e a d x i f ( 睜eo k & 睜ef 肥0 p e n ) 陽(yáng)u s ”q 呦o t 叩蛆t a b l e - ) ; d d t 耐鯽n “淵e ,淵e 脅岱吼t ) ; 帶依次讀取數(shù)據(jù)文件中每一行的記錄,取代腳本中對(duì)應(yīng)的變量執(zhí)行測(cè)試 婦伽i b l c 一勛w = l ;t 捌c r 刪土t a b l 啦傭c i 硼峨?yún)f(xié)m er o w 十一 t d d ts c t 腳( 協(xié)b l e t a b i e 取 w ) ; 襻f l i g h t 鼬锨d 摹e t 塒n d d w ( ”f l i g h tr e 刪甜,2 ) ; 姍i l 8 e l u o 鋤( ”f 婦e ;0 p e n0 蝴 ; # o p o r d 盯 s c tw i n d o w ( ”o p 吼o 刪,1 ) ; b u 飴o n s e t ( ”o 坩目“,o n ) ; 群用數(shù)據(jù)文件中的訂單號(hào)作為文本框的輸入 礎(chǔ)l s e t ( e d i l l 竹d d tv a l ( t a b l 妒0 柑e i :n l m m ; b 1 毗0 n 舯磷( ”o k ) ; 撐f l j g h tr e r v a n 瞳祈l i 曲w ( ”f l i g h lr e 8 州”,2 ) ; 咖i l 韉奴t 咖( ”f i l e ;f 奴0 嘣甌。飛 # f h x o 柑n o 3 s 晴w i n d a w ( ”r o i d 甜n o 3 ”,3 ) ; c d i t 擘眈魄“”撐啊凼如:”j i c 蛔s ) ; 副j t 嘲嗽“”t i 姍:”棚哦 e d i tg 默t c x t ( ”t o 忸i :”,t 0 鋤; i 廈b c k c i s + p f i 一t o 協(xié)1 ) t b t c p ( t o t a l ”o ”c m 吼m 釅6 c k 啦砒$ 枷i ”c o 吼$ 鋤”- ) ; e l s e ds 姊( ”t o 忸l ”,l

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論