尹 宇
(施耐德電氣(中國)有限公司西安分公司AOCC 陜西 710075)
自動(dòng)化測試是我們應(yīng)用在敏捷中的類似萬能的法寶。但是世界上沒有萬能的東西。這個(gè)就需要我們深刻理解自動(dòng)化測試,并且有好的測試策略來應(yīng)用在自動(dòng)化測試中。
我們的測試團(tuán)隊(duì)中,人員的選配是,有專門的測試人員,但是開發(fā)人員也會(huì)在時(shí)間不夠的情況下,加入測試的隊(duì)伍。在一個(gè)敏捷的團(tuán)隊(duì)中,測試人員一般也是具有一定的編程能力的,當(dāng)與開發(fā)人員溝通一個(gè)BUG的時(shí)候,能理解開發(fā)人員的話,溝通更加順暢。并且在項(xiàng)目需要的情況下,也會(huì)加入開發(fā)的隊(duì)伍中。
當(dāng)代碼改變,有新的代碼遷入遷出的時(shí)候,這個(gè)時(shí)候,需要觸發(fā)自動(dòng)化構(gòu)建。我們通常使用Jenkins這樣的持續(xù)集成工具,用于做重復(fù)的工作。
自動(dòng)化單元測試,我們通常應(yīng)用junit的單元測試工具,進(jìn)行TDD(測試驅(qū)動(dòng)開發(fā))。
在UI比較穩(wěn)定的情況下,做GUI測試。
在回歸的時(shí)候,做功能性測試。
在接口測試,我們可以用Excel,把測試數(shù)據(jù)放入其中,并且跟實(shí)際數(shù)據(jù)進(jìn)行比較。
負(fù)載測試,我們就必須用自動(dòng)化了。因?yàn)槭止y試肯定不準(zhǔn)確。我們可以找一些開源的工具來測試。
對于可用性測試和探索性測試,我們需要手工去執(zhí)行。
手動(dòng)測試的時(shí)間遠(yuǎn)遠(yuǎn)大于自動(dòng)化測試。一些重復(fù)性的工作最好應(yīng)用自動(dòng)化測試?;貧w測試的時(shí)候需要自動(dòng)化。自動(dòng)化可以發(fā)現(xiàn)手動(dòng)中一些發(fā)現(xiàn)不了的BUG,比如內(nèi)存泄露。
在一個(gè)敏捷的團(tuán)隊(duì)中,測試可以有自動(dòng)和手動(dòng)測試,比如功能測試。必須手動(dòng)的測試,比如探索性測試。必須自動(dòng)化的測試,比如單元測試,性能和壓力等。
初始的投入,對于自動(dòng)化測試來說,是很大的投資。我們首先評價(jià)我們已經(jīng)已有的工具,看其價(jià)值,和應(yīng)用的復(fù)雜度。一般來說一些開源工具,也可以滿足我們的需要。而且這樣的投入一般是有意義的。
對于變化非常頻繁的代碼。我們可以根據(jù)功能和目的去組織代碼。
如果開始自動(dòng)化呢?并不是非要股買昂貴的商業(yè)工具。一般來說,自動(dòng)化開始于單元測試,這樣收益是很大的。接著開展可以用于自動(dòng)化的測試,我們可以選擇一些開源工具。我們并且用一些自動(dòng)化的構(gòu)建工具,比如JENKINS等。我們可以選擇開源的功能性驗(yàn)證工具,比如selenium等。
在敏捷開發(fā)中,高效的溝通同樣也適用于自動(dòng)化測試。因?yàn)樵诘_發(fā)中,當(dāng)我們用自動(dòng)化工具發(fā)現(xiàn)昨天的測試用例,今天的版本失敗了。我們就必須立刻去找開發(fā)溝通??词牵哪切┑胤搅?,需求是不是有變化了。以便,我們的自動(dòng)化測試,適應(yīng)迭代的變化。
在整個(gè)團(tuán)隊(duì)中,開發(fā)會(huì)更多的考慮代碼的可測性,有的時(shí)候,還會(huì)給測試人員提供一定的接口,來實(shí)現(xiàn)自動(dòng)化測試。
工具的選擇很重要。在我們的測試團(tuán)隊(duì),我們有TC,但是selenium對功能性的驗(yàn)證測試,有很大的好處,又比TC好學(xué)。就用selenium了。對于開源工具很多都是比較好上手。但是,對于商業(yè)工具,雖然感覺上很好。但是,在我們實(shí)際的應(yīng)用的時(shí)候,發(fā)現(xiàn),難學(xué),代碼維護(hù)繁雜。如果,我們有商業(yè)工具的專家,那么用商業(yè)工具,更能保證項(xiàng)目的質(zhì)量。
自動(dòng)化測試策略的應(yīng)用,對于我們實(shí)現(xiàn)自動(dòng)化,是必須經(jīng)歷的過程。好的而自動(dòng)化測試是質(zhì)量保證的利器。
[1] Sehwaber K,Beedle M.Agile Software Development With Scrum[M].[S.1.]:Prentice Hall,2001.
[2] Jonathan Rasmusson.敏捷武士看敏捷高手交付卓越軟件.李忠利,譯.人民郵電出版社.2012
[3] Lisa Crispin, Janet Gregory,著.敏捷軟件測試:測試人員與敏捷團(tuán)隊(duì)的時(shí)間指南.孫偉峰,崔康,譯.清華大學(xué)出版社.2010
[4] Martin R G.敏捷軟件開發(fā)一原則、模式與實(shí)踐[M].鄧輝,譯.北京:清華大學(xué)出版社,2003.
[5] Kniberg H.硝煙中的Scrum和xP一我們?nèi)绾螌?shí)施Serum[M].李劍,譯.北京:清華大學(xué)出版社,2011.
[6] Mike Cohn.用戶故事及敏捷方法.清華大學(xué)出版社. 2010
[7] 陳能技,著.QTP自動(dòng)化測試進(jìn)階.電子工業(yè)出版社.2010