?
快捷搜索:  as  test  1111  test aNd 8=8  test++aNd+8=8  as++aNd+8=8  as aNd 8=8

銀河999游戲下載下載:淺談軟件測試自動化解決方案

?

【擇要】 測試是軟件開拓的一個緊張環節。本文敘述了軟件測試自動化測試的實施。從自動測試的好處. 影響軟件測試自動化實施的身分孕育發生緣故原由等幾個方面啟程.總結軟件自動化測試的規劃。

【關鍵字】軟件測試  軟件自動化測試

軟件測試自動化,已經成為海內軟件工程領域一個眾所周知的課題;不言而喻,軟件測試從業者都意識到軟件測試這項事情走向成熟化、標準化的一個必經之路便是要實施自動化測試。大概您覺得實施自動化測試不是必須,大概您覺得測試的思惟是開展該事情的精髓、而對象只是幫助,那么我要奉告你我的設法主見:從謀略機這一宏大年夜學科成長至今,它最根本的意義是辦理人類手工勞動的繁雜性,成為替代人類某些重復性行徑模式的最佳對象;我們弗成推翻測試思維在測試事情中的指示思惟職位地方,但若何將思惟轉化成可操作的規劃,本文大概會給您一些啟示。

曩昔聽過北京中軟的一個業內專家講一句話,感覺挺經典:凡是說既是科學又是藝術的學科,便是闡明它是不成熟的學科!他將軟件工程和修建行業做類比,讓我們深深體會到軟件工程走向成熟化的任重與道遠。而軟件測試,更是一個新興的領域,雖然近幾年獲得了快速成長,也跟著該領域從業者數量的一日千里,培養了一批高檔的人才;然則依然有若干企業和小我事情在迷茫中:這種利誘是由于工程師們手中的測試事情與抱負的測試模式造成的強烈反差,這種無奈是由于他們和開拓職員一樣的努力卻有不合的報酬,這種迷茫是由于測試事情者不知道這個領域里是否還有自己的成漫空間和人生代價的表現!筆者覺得:如今的軟件測試行情,正處在群雄逐鹿的混戰歲月,每小我、每個有測試部門或從事測試營業的企業,都該發揚百花齊放、百家爭鳴的精神,多多借鑒國內外先輩的測試履歷,參考業界盛行的行業標準,找到得當自己團隊的測試措施和模式,創造更大年夜的社會代價,發揮更大年夜的人生代價。

實施軟件測試自動化的來由闡發

首先,測試職員的事情比以往任何時刻都加倍艱苦,由于公司和組織盼望以更快的速率和更低的資源開拓出高質量的利用法度榜樣。

此外,在很多項目中,測試職員的所有義務實際上都是手動處置懲罰的,而實際上,有很大年夜一部分重復性強的測試事情,是可以自力開來自動實現的。

還有,在大年夜型項目中測試團隊和其他的團隊之間沒有足夠的銀河999游戲下載下載相助,無法匆匆進彼此的事情。

著末,從小我角度來說,測試職員平日很難花費大年夜量光陰來進修新技能;這是今朝海內測試從業者的現狀,太多的企業為了節約資源而將剛剛走出校門的卒業生作為測試工程師,他們逐日做著忙碌的重復事情,又基于自身技能的不深,雖懷博覽群書的心愿卻不知從何進脫手。所謂光陰似箭,由于一轉眼我們就說到未來的5年、10年后,我們這些技能不深的測試工程師能做什么呢?而軟件測試自動化,也是未來測試工程師或即將成為測試工程一項強有力的事情技能。

可以說,實施測試自動化是軟件行業一個弗成逆轉的趨勢,假如在這個領域走在了前列,無論從企業的核心競爭力照樣小我的事情技能來說,都有偉大年夜的良好性,而海內浩繁的軟件廠商也切實其其實相繼而至的動手開展著這項事情。

當然海內軟件測試自動化實施現狀闡發

跟著浩繁具有了必然優秀實施自動化測試履歷的企業陸續呈現,也伴跟著很多組織對這項事情依然是丈二的和尚-摸不著頭腦。對當前海內軟件企業實施或故意向實施測試自動化時面臨的主要問題,按實施的不合層次來說:

——干脆覺得測試自動化是個遙弗成及的工作,我們這樣的小公司不必實施,職員、資金、資本都不夠,今后再說吧!

——熱血沸騰的實施測試自動化,購買了對象,執行了新的測試流程;幾個月后,對象放在那里成了共享資本,測試流程又濤聲依舊,回到原本的模式。

——公司實施了自動化測試;然而開拓與測試之間,以致與項目經理之間抵觸重重,出了工作不知若何窮究責任;雖然還在勉強保持的自動化測試,但實施的資源比手工測試增添了,事情量比早年更大年夜了,從而造成項目團隊職員怨聲載道,更懷念起那段手工測試的自在歲月,唉!那一場銀河999游戲下載下載風花雪月的事,既然要停止又何必開始…

——自動化測試實施比擬較較成功,但或多或少還有些問題,比如對象選擇不準確,培訓不到位,文檔不完整,職員分配分歧理,腳本可掩護度不高等等,造成一種外面上的自動化測試流程,是一幅空架子,猶如山間竹筍,嘴尖皮厚腹中空。

海內軟件測試自動化實施不成功緣故原由闡發

——公司高層意識不到軟件測試自動化的緊張性;殊不知,其他競爭對手們都大年夜張旗鼓的開展這方面鉆研和策劃的時刻,自己還對此持忽視立場,等到全部行業都前進到一個新的層次,那時再動手做,可能便是熱鍋上的螞蟻了。

——所謂凡事預則立,不預則廢。一個軟件企業實施測試自動化,絕對不是拍腦袋說干就醒目好的,它不僅涉及測試事情本身流程上、組織布局上的調劑與改進,以致也包括需求、設計、開拓、掩護及設置設置設備擺設擺設治理等其他方面的共同。

——軟件開拓是團隊事情,在這一領域要尤其重視以工本錢;以是職員之間的共同、測試組織布局的設置異常緊張,每個角色必然要將自己的責任完全擔任起來,這也是削減和辦理前述團隊抵觸的需要手段。

——對開展自動化測試的監督和評估相稱緊張,也包括對事情產品的反省和職員的稽核。必然要將自動化測試周全深入的貫徹到測試事情中,不能應付了事,不能做外面事情。這項事情在CMM三級里規范的很好,只可惜我們的很多公司對CMM真的只是“過級”!

精確熟識海內未實施軟件測試自動化的根源

今朝海內的軟件公司,很多照樣處于獲取本錢的原始積累階段,我們不能說公司引導完全不注重測試,而是測試整體行業都沒有被注重起來,這是其一;其二是公司高層有更必要注重的環節,例如探求客戶簽訂單,或者開拓,這些是直接關系公司逝世活的命脈性器械。

即便企業注重測試,假如公司做一番對照周全的評估(在后續的測試自動化引入入前提里,再具體闡明),也不必然非要實施自動化測試。筆者覺得一些中小軟件公司在大年夜刀闊斧執行自動化測試之前,在測試流程治理、測試缺陷流程、測試職員技能培訓等方面干事情,這樣可以銀河999游戲下載下載用對照少的資源投入來獲取相對較大年夜且經久的收益回報。

著末,針對通俗測試工程師的一些建議,在這樣的公司里,著實有著很多意想不到的良好性:

(一)這樣的公司測試假如不正規,那么你就有更大年夜更多的發揮空間。

(二)你可以零丁進修自動化測試技巧,自己先試著利用到日常事情的軟件項目中。

(三)你可以直接和開拓職員溝通,以致向他們進修開拓技巧,這對將來的自動化測試中開拓腳本很有好處。

(四)每個優秀測試工程師的生長都是個循規蹈矩的歷程。我碰到很多測試界的新手向我發牢騷,很忸捏我沒有什么可以告誡他們的,只是盼望這樣的新人降服浮躁情緒,步步為營練好基礎功,想成為優秀的測試專家,就要經歷這個階段。

軟件測試自動化的引入前提

假如你的測試部門故意向引入自動化測試,那么首先要從思惟上統一熟識。

自動化測試能大年夜大年夜低落手工測試事情,但決不能完全取代手工測試。完全的自動化測試只是一個理論上的目標,實際上想要達到 100% 的自動化測試,不僅價值相稱昂貴,而且操作上也是險些弗成能實現。一樣平常來說,一個 40-60% 的使用自動化的程度已經是異常好的了,達到這個級別以上將過大年夜的增添測試相關的掩護資源。

測試自動化的引入有必然的標準,要顛末綜合的評估,絕對不能理解成測試對象簡單的錄制與回放歷程。實際上,從實現成熟度來說,自動化測試分五個級別:

級別

闡明

優點

毛病

用法

一級

錄制和回放

自動化的測試腳本能夠被自動的天生,而不必要有任何的編程常識

擁有大年夜量的測試腳本,當需乞降利用發生變更時響應的測試腳本也必須被從新錄制

當測試的系統不會發生變更時,實現小規模的自動化

二級

錄制、編輯和回放

削減腳本的數量和掩護的事情

必要必然的編程常識;頻繁的變更難于掩護

回歸測試時,用于被測試的利用有很小的變更

三級

編程和回放

確定了測試腳本的設計,在項目的早期就可以開始自動化的測試

要求測試職員具有很好的軟件技能,包括設計、開拓

大年夜規模的測試套件被開拓、履行和掩護的專業自動化測試

四級

數據驅動的測試

能夠掩護和應用優越的并且有效的模擬真實生活中數據的測試數據

軟件開拓的技能是根基,并且必要造訪相關的測試數據

大年夜規模的測試套件被開拓、履行和掩護的專業自動化測試

五級

應用動作詞的測試自動化

測試用例的設計被從測試對象平分離了出來

必要一個具有對象技能和開拓技能的測試團隊

專業的測試自動化將技能的應用最優化的結合起來

自動化測試能前進測試效率,快速定位測試軟件各版本中的功能與機能缺陷,但不會創造性的發明測試腳本里沒有設計的缺陷。測試對象不是人腦,要求測試設計者將測試中各類分歧路徑的校驗點進行定制;沒有定制完備,即便事實上掉足的地方,測試對象也不會發覺。是以,制訂周全、系統的測試設計事情是相稱緊張的。

自動化測試能前進測試效率,但對付周期短、光陰緊迫的項目不宜采納自動化測試。執行自動化測試的前期事情相稱宏大年夜,將企業級自動化測試框架利用到一個項目中也要評估其相宜性,是以決不能盲目的的利用到任何一個測試項目中,尤其不得當周期短的項目,由于很可能必要大年夜量的測試框架的籌備和實施而會被拖跨。

實施測試自動化必須進行多方面的培訓,包括測試流程、缺陷治理、職員安排、測試對象應用等。假如測試歷程是分歧理的,引入自動化測試只會給軟件組織或者項目團隊帶來更大年夜的紛亂;假如我們容許組織或者項目團隊在沒有關于應該若何做的任何常識的環境下實施自動化測試,那將肯定會以掉敗了卻。

假如軟件企業故意向實施自動化測試,那么應該具備什么樣的前提才可以引入自動化測試呢,才可以最大年夜可能的削減引入風險,并能夠可持續性的開展下去呢?

? 對企業自身現狀的評估闡發

第一,從企業規模上來說,沒有嚴格限定。無論公司大年夜小,都必要前進測試效率,盼望測試事情標準化,測試流程正規化,測試代碼重用化。以是第一要做到的,便是企業從高層CTO開始,直到測試部門的任何一個通俗工程師,都要樹立實施自動化測試的堅決決心,不能抱著碰命運運限的立場。一樣平常來說,一個這樣的軟件開拓團隊可以優先開展自動化測試事情:測試-開拓職員比例相宜,比如1:1到1:1.5;開拓團隊總人數不少于10個。當然,假如你的公司只有三五個測試職員,要實施自動化測試絕非易事;不過可以先讓一個、兩個測試帶頭人首先試著開展這個事情,賡續總結、賡續前進,并和層層上司常常陳訴請示事情的開展環境,再終極抉擇是否周全執行此事。

第二,從公司的產品特性來說,一樣平常開拓產品的公司實施自動化測試要比開拓項目的公司要良好些。緣故原由很簡單,便是測試掩護資源和風險都小。產品軟件開拓周期長,需求相對穩定,測試職員可以有對照富裕的光陰去設計測試規劃和開拓測試腳本;而項目軟件面向單客戶,需求難以一次性統一,變化頻繁,對開拓、掩護測試腳本迫害很大年夜,呈現問題時一樣平常都以開拓代碼為主,很難照應到測試代碼。但決不是說做項目軟件的公司不能實施自動化測試,當前海內做項目的軟件公司居多,有很多正在執行CMM等級標準,這是好工作;只要軟件的開拓流程、測試流程、缺陷治理流程規范了,執行自動化測試自然迎刃而解。

第三,說說標準化的開拓和治理流程。不管是CMM照樣ISO,不管是開拓流程、測試流程照樣缺陷治理流程,這里不能逐一闡述,可以參考RUP(Rational Unified Process, Rational 統一歷程),可以參考很多業界文獻,我只闡明一點,也是我們IT從業職員以致任何從業職員一個很好的事情原則:

把你想做的寫下來(計劃治理)

按照你寫下來的去做(行徑治理)

把做的工作記錄下來(申報治理)

呈現的問題要設法辦理(跟蹤治理)

在測試流程里,這幾個要點都逐一有所落實;假如你的軟件開拓團隊據此開拓軟件,那么完全具備實施自動化測試的前提。當然,大概一些公銀河999游戲下載下載司的測試治理對照紛亂,出了問題不知道誰認真,測試職員或開拓職員全日碌碌卻無為,軟件缺陷不勝羅列,那么筆者覺得照樣首先從治理角度來規范一下公司的開拓流程和測試流程吧!

第四,從測試職員小我本質和角色分配來說,除了有一個CTO級人物做后盾外,還應該有個具有優越自動化測試背景和富厚自動化測試履歷的測試主管,不僅在技巧方面,更緊張的是在往后的自動化測試治理位置起著引導的感化。還要有幾個出色的開拓履歷優越的測試職員,當然也可所以開拓工程師,認真編寫測試腳本、開拓測試框架;他們不必要對產品營業懂得深刻,但要具有將軟件營業邏輯轉化成可測試邏輯的闡發能力,屬于自動化測試設計者。還有一些測試履行者,他們要對軟件產品營業邏輯相稱銀河999游戲下載下載純熟,共同測試設計者完成設計事情,并在履行自動測試時,敏銳的闡發和判斷軟件缺陷。假如你的測試團隊具有這樣的職員角色雛形,那么具備了實施自動化測試的又一前提。

綜合闡發上述四個前提,企業可以抉擇是否執行自動化測試;然則為了削減實施風險,我們還要猜測到其他潛在的風險,做好事先辦理思路。

對企業執行自動化測試的風險闡發

其一是資金風險。雖然你的公司具備實施自動化測試的前提,但假如企業效益不好,照樣先扭虧為盈吧。一款正版的測試對象價格宏大年夜,企業要首先斟酌資金是否容許購買正版的測試對象軟件,以是進行測試對象的資源估算,以及引入自動化測試后組織布局調劑等方面的資源估算是很需要的。假如你的公司處在猶如前面所言的自動化測試實驗階段,可以應用試用版測試對象。當然具有實力的公司可以按照自身的事情流程自立開拓測試對象,本文不斟酌這種環境。

其二是自動化測試對軟件功能類型的切入點的風險。企業開拓的產品營業和功能是否必要自動化測試,包括白盒自動化測試、功能自動化測試和機能自動化測試。比如一些公司開拓單機版軟件,只必要做功能測試,那便不必斟酌第三種;有的公司開拓簡單界面之類的軟件,例如搜索引擎,也可不必斟酌第二種;而大年夜多半海內公司開拓的軟件,因為各類緣故原由,一樣平常都不斟酌第一種。也有可能公司開拓的軟件特殊性很強,市場上根本沒有支持它的自動化測試對象,此時要另辟途徑。這種評估相稱緊張,要根據自身的產品功能特性來綜合評估。針對不合階段采納自動化測試的各種上風,我引用一個表格供讀者參考:

測試階段

描       述

備    注

單元測試/組件測試

這個測試事情平日是開拓職員的職責,很多不合的措施能夠被應用,比如"測試先行",它是一個測試框架,開拓職員在編寫代碼前編寫不合的單元測試,當測試經由過程期,代碼也被完成了。

經由過程應用正式的單元測試,不僅能夠贊助開拓職員產出加倍穩定的代碼,而且能夠是軟件的整體質量加倍的好。

集成測試

這里的測試事情集中在驗證不合的組件之間的集成上。

這種類型的測試平日是被測試系統的加倍繁雜測試的根基,大年夜量的邊緣測試被合并以制造出不合的差錯處置懲罰測試。

系統測試

這種測試是經由過程履行用戶場景模擬真實用戶應用系統,以證實系統具有被期望的功能。

這里不必要進行自動化的測試。安裝測試、安然性測試平日是有手工完成的,由于系統的情況是恒定不變的。

其它兩種異常緊張的測試

回歸測試

回歸測試實際上是重復已經存在的測試,平日假如是手工完成的化,這種測試只在項目的結尾履行履行一到兩次。

這里完全有潛力利用自動化的測試,你能夠在每次構建完成后履行自動化的回歸測試,以驗證被測試系統的改變是否影響了系統的其他功能。

機能測試

機能測試包括以下不合測試形式:

- 負載測試

- 壓力測試

- 并發測試

-.....

假如沒有自動化的測試對象,你將不能履行經由過程模擬用戶的負載實現的高密集度的機能測試。

其三是軟件自動化測試切入要領的風險。正如前面所言,必然要記著將自動化測試與手工測試結合起來應用,分歧理的籌劃會造成事情事倍功半。首先,對付自動化測試率的目標是 10/90 (10% 的自動化測試和 90% 的手工測試)。當這些目標都實現了,可以將自動化測試的應用率前進。對付何種測試環境下引入自動化測試,何時依然采納手工測試,我們分開闡述。

一樣平常這樣的測試前提下應用自動化測試:

項目沒有嚴格的光陰壓力

具有優越定義的測試策略和測試計劃(知道要測試什么,知道什么時刻測試)

對付自動化測試你擁有一個能夠被識別的測試框架和候選者

能夠確保多個測試運行的構建策略

多平臺情況必要被測試

擁有運行測試的硬件

擁有關注在自動化歷程上的資本

如下前提下是宜采納手工測試:

沒有標準的測試歷程

沒有一個測試什么、什么時刻測試的清晰的藍圖

在一個項目中,你是一個新人,并且還不是完全的理解規劃的功能性和或者設計

你或者全部項目在光陰的壓力下

在團隊中沒有資本或者具有自動化測試技能的人

沒有硬件

其四是企業軟件的開拓說話風險。當前業界盛行的測試對象有幾十種,相同功能的測試對象所支持的情況和說話各不相同,這里筆者總結了當前國際優勢行的幾個軟件測試對象臨盆廠商及一些主要IDE產品,讀者可根據參考網址去懂得枚舉對象和更多對象的具體資料。

臨盆廠商

對象名稱

測試功能簡介

網址鏈接

Mercury

Interactive

Corporation

winrunner

功能測試

http://www.mercury.com/us/products/

Loadrunner

機能測試

QuickTest Pro

功能測試

Astra LoadTest

機能測試

testdirector

測試治理

IBM

Rational

Rational robot

功能測試和機能測試

http://www-900.ibm.com/cn/software/rational/

products/index.shtml

Rational xde tester

功能測試

Rational testmanager

測試治理

Rational purifyplus

白盒測試

compuware corporation

QARun

功能測試

http://www.compuware.com/products/

QALoad

機能測試

QADirecto

測試治理

DevPartner  Studio Professional Edition

白盒測試

Segue software

SilkTest

功能測試

http://www.segue.com/products/index.asp

SilkPerformer

機能測試

SilkCentral  Test/Issue Manager

測試治理

Empirix

e-Tester

功能測試

http://www.empirix.com/Empirix

/Web+Test+Monitoring/Testing+Solutions

Integrated+Web+Testing.html

e-Load

機能測試

e-Monitor

測試治理

parasoft

Jtest Java

白盒測試

http://www.parasoft.com/jsp/products.jsp?itemId=12

C++test

C/C++白盒測試

.test

.NET 白盒測試

RadView

WebLOAD

機能測試

http://www.radview.com/products/index.asp

WebFT

功能測試

MicroSoft

Web Application Stress Tool

機能測試

http://www.microsoft.com/technet/archive/itsolutions/ intranet/downloads/webtutor.mspx

Quest Software

Benchmark Factory

機能測試

http://www.quest.com/benchmark_factory/

Minq Software

PureTes

功能測試

http://www.minq.se/products/

其五還要做光陰估算。在評估完前面幾項指標后,必要估算實施測試自動化的光陰周期,以防止揮霍不需要的光陰,削減在職員、資金、資本投入上的無故耗損。雖然到測試自動化步入正軌今后,會起到事半功倍的效果,但前期的投入偉大年夜,要周全斟酌各類身分,明確鑿施計劃并按計劃嚴格履行,才能最大年夜限度低落風險。

其六是事情流程變化風險。測試團隊甚至全部開拓組織實施測試自動化,或多或少會由于適應測試對象的事情流程,帶來團隊的測試流程、開拓流程的響應變化,而且,假如變化不善,會引起團隊成員的諸多訴苦情緒;以是應該只管即便削減這種變化,并降服變化中可能存在的艱苦。

其七是職員培訓與變化風險。簡單而言,便是測試團隊職員的培訓具有風險性,例如每個角色的定位是否準確,各角色職員對培訓技能的掌握程度是否知足,尤著實施途中假如發生職員變化等風險,都要事先做出猜測和響應的處置懲罰規劃。

一個企業或軟件團隊實施測試自動化,會有來自方方面面的壓力和風險,然則憑借團隊成員的智慧才智和公司高層的大年夜力支持,事先做好評估,做好風險猜測,那么可以奉告你一個沖感民心的消息:你的團隊成功引入了測試自動化!有了測試自動化,我們即可享受它帶來的超凡代價和無窮魅力:我們的測試事情變得更簡單、更有效,我們事情在一個專家級的團隊里,是以我們天天都在享受這種成功的喜悅!

關于本文:本文主要闡發當前海內軟件企業的測試團隊現狀,并從治理角度闡發測試團隊實施軟件測試自動化時所應斟酌的問題,并從幾個角度闡發實施的風險,終極才可以成功引入自動化測試。在后續文章里,會結合實例講述若何詳細實施測試事情的自動化。謝謝我的好同伙pcl 和王威的大年夜力支持,并在百忙中無怨無悔的為文章批點、建議;作者本人才疏學淺,文中難免有欠深刻、周全的地方,望大年夜家品評斧正,也盼望同業同伙們多多彌補、交流。

免責聲明:以上內容源自網絡,版權歸原作者所有,如有侵犯您的原創版權請告知,我們將盡快刪除相關內容。

您可能還會對下面的文章感興趣:

浙江体彩20选5开奖号 内蒙古快3走势图表 皮皮麻将 黑龙江麻将快乐十分开奖结果 北京PK10全天免 股票行情怎么看好坏 股票融资通俗的讲是什么意思 牛360配资 基金配资比例两种模式 王者陕西三代 吉林麻将技巧口诀 陕西十一选五专家推 中国一重股票分析 京海配资 山西快乐十分走势全 南粤风采26选5开 云南山水麻将下载最新版作弊