qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請(qǐng)?jiān)L問(wèn) http://qaseven.github.io/

          軟件自動(dòng)化測(cè)試之我見(jiàn)

          摘要:作者以自己多年在測(cè)試領(lǐng)域尤其是在自動(dòng)化測(cè)試中的經(jīng)驗(yàn),從管理層面講述了自動(dòng)化測(cè)試相對(duì)于手動(dòng)測(cè)試的優(yōu)勢(shì);并且從不同的方面論述了目前大家對(duì)于自動(dòng)化測(cè)試的錯(cuò)誤認(rèn)識(shí),同時(shí)讓大家充分意識(shí)到推行自動(dòng)化過(guò)程中會(huì)面臨的困難。

            關(guān)健詞:自動(dòng)化測(cè)試;手動(dòng)測(cè)試;

            如今自動(dòng)化測(cè)試以其執(zhí)行速度快,結(jié)果反饋迅速的最大優(yōu)點(diǎn)獲得了業(yè)界的廣泛認(rèn)可,尤其在如今需求快速變化的今天,大家對(duì)于自動(dòng)化測(cè)試的需求和渴望更是到了一個(gè)空前的地步。誠(chéng)然,自動(dòng)化測(cè)試受到大家的追捧是有充分的理由,因?yàn)橄鄬?duì)于人工測(cè)試,它有著不少的優(yōu)勢(shì)。我們且來(lái)看看。

            1、自動(dòng)化測(cè)試的優(yōu)勢(shì)

            1.1 對(duì)程序的回歸測(cè)試更方便

            回歸測(cè)試可能是自動(dòng)化測(cè)試最主要的任務(wù),特別是在程序修改比較頻繁時(shí),效果是非常明顯的。由于回歸測(cè)試的動(dòng)作和用例是完全設(shè)計(jì)好的,測(cè)試期望的結(jié)果也是完全可以預(yù)料的,將回歸測(cè)試自動(dòng)運(yùn)行,可以極大提高測(cè)試效率,縮短回歸測(cè)試時(shí)間。

            1.2 可運(yùn)行更多更繁瑣的測(cè)試

            自動(dòng)化的一個(gè)明顯的好處是可以在較少的時(shí)間內(nèi)運(yùn)行更多的測(cè)試。而且人工測(cè)試在面對(duì)多輪重復(fù)執(zhí)行時(shí),測(cè)試人員往往會(huì)趨于倦怠,而這將對(duì)產(chǎn)品的測(cè)試質(zhì)量帶來(lái)其他的損害

            1.3 可以執(zhí)行一些手工測(cè)試?yán)щy或不可能進(jìn)行的測(cè)試

            比如,對(duì)于大量用戶的測(cè)試,不可能同時(shí)讓足夠多的測(cè)試人員同時(shí)進(jìn)行測(cè)試,但是卻可以通過(guò)自動(dòng)化測(cè)試模擬同時(shí)有許多用戶,從而達(dá)到測(cè)試的目的。

            1.4 更好地利用資源

            將繁瑣的任務(wù)自動(dòng)化,可以提高準(zhǔn)確性和測(cè)試人員的積極性,將測(cè)試技術(shù)人員解脫出來(lái)投入更多精力設(shè)計(jì)更好的測(cè)試用例。有些測(cè)試不適合于自動(dòng)測(cè)試,僅適合于手工測(cè)試,將可自動(dòng)測(cè)試的測(cè)試自動(dòng)化后,可以讓測(cè)試人員專注于手工測(cè)試部分,提高手工測(cè)試的效率。

            1.5 測(cè)試具有一致性和可重復(fù)性

            由于測(cè)試是自動(dòng)執(zhí)行的,每次測(cè)試的結(jié)果和執(zhí)行的內(nèi)容的一致性是可以得到保障的,這樣使測(cè)試結(jié)果具有可對(duì)比性,并且達(dá)到測(cè)試的可重復(fù)的效果。

            1.6 測(cè)試的復(fù)用性

            由于自動(dòng)測(cè)試通常采用腳本技術(shù),這樣就有可能只需要做少量的甚至不做修改,實(shí)現(xiàn)在不同的測(cè)試過(guò)程中使用相同的用例。

            1.7 增加軟件信任度

            由于測(cè)試是自動(dòng)執(zhí)行的,所以不存在執(zhí)行過(guò)程中的疏忽和錯(cuò)誤,完全取決于測(cè)試的設(shè)計(jì)質(zhì)量。一旦軟件通過(guò)了強(qiáng)有力的自動(dòng)測(cè)試后,軟件的信任度自然會(huì)增加。

            因?yàn)樽詣?dòng)化測(cè)試現(xiàn)在如旋風(fēng)之勢(shì)席卷而上,特別是全球風(fēng)靡于敏捷開(kāi)發(fā)之后,更是把自動(dòng)化測(cè)試提高到了一個(gè)史無(wú)前例的高度。而且人工測(cè)試具有更敏銳的觀察力,能從一個(gè)稍縱即逝的小異常中挖掘出大問(wèn)題。

            另外有些測(cè)試是必然需要人工干預(yù)的,如冷啟動(dòng)機(jī)器,如需要人的感官去體驗(yàn)的。那么如果真的需要追求100%的自動(dòng)化測(cè)試覆蓋率,我們唯一的選擇就是犧牲這部分的測(cè)試案例來(lái)成全100%,這對(duì)于測(cè)試覆蓋率也是很大的一個(gè)損失。

            而從投入產(chǎn)出比的角度來(lái)看,以目前對(duì)各組織的統(tǒng)計(jì)而言,60%是一個(gè)比較合理的值,如果要高于這個(gè)值,那么付出的人力將是成倍增長(zhǎng)的。在我們的組織中一度自動(dòng)化測(cè)試覆蓋率的要求是95%,曾經(jīng)我們也勉強(qiáng)達(dá)到,但是投入的代價(jià)是不可維續(xù)的。所以我們過(guò)后調(diào)整了我們的合理期望值。比如說(shuō)在比較簡(jiǎn)單的功能性測(cè)試中自動(dòng)化測(cè)試是比較容易的,但如果是涉及模塊和網(wǎng)元很多的系統(tǒng)測(cè)試或互通性測(cè)試中就顯得相當(dāng)?shù)牧Σ粡男牧恕?br />

           2、自動(dòng)化測(cè)試是適用于任何情況的

            2.1 自動(dòng)化測(cè)試是適用于任何產(chǎn)品的

            并不是所有的產(chǎn)品都適用于自動(dòng)化測(cè)試的,如果這個(gè)產(chǎn)品只會(huì)做有限的幾輪測(cè)試,接著就不會(huì)再有持續(xù)的開(kāi)發(fā)。那么就沒(méi)必要使用自動(dòng)化測(cè)試,因?yàn)檫@樣的投入產(chǎn)出比比較低。畢竟在開(kāi)發(fā)自動(dòng)化測(cè)試階段需要耗費(fèi)大量的人力物力。對(duì)于決定自動(dòng)化一個(gè)測(cè)試用例的一般規(guī)則是這個(gè)測(cè)試用例必須被運(yùn)行 4 次以上。這個(gè)數(shù)字是基于用戶對(duì)測(cè)試工具有良好的技能并且有一個(gè)良好的測(cè)試框架的。如果情況不是這樣的話,整個(gè)數(shù)字能夠是 10-20次或者更高。

            再者如果變化比較大的話也不適用自動(dòng)化測(cè)試。國(guó)內(nèi)多數(shù)軟件公司是針對(duì)最終用戶進(jìn)行項(xiàng)目開(kāi)發(fā)—工程性質(zhì)的軟件,而不是產(chǎn)品開(kāi)發(fā)。項(xiàng)目開(kāi)發(fā)周期短,不同的用戶需求不一樣,而且在整個(gè)開(kāi)發(fā)過(guò)程中需求和用戶界面變動(dòng)較大,這種情況下就不適合自動(dòng)化測(cè)試,對(duì)于不停變化的需求和界面,可能修改和錄制腳本的工作量大大超過(guò)測(cè)試實(shí)施的工作量,運(yùn)用測(cè)試工具不但不能減輕工作量,反而加重了測(cè)試人員的負(fù)擔(dān)。

            2.2 自動(dòng)化測(cè)試是適用于任何測(cè)試階段的

            版本經(jīng)理通常認(rèn)為自動(dòng)化測(cè)試能運(yùn)用于任何階段的萬(wàn)能鑰匙,但事實(shí)上從本人的經(jīng)驗(yàn)來(lái)看,自動(dòng)化測(cè)試適用于回歸測(cè)試,但不適用于新功能的測(cè)試。首先因?yàn)樾鹿δ軇傔f交之時(shí)穩(wěn)定性是不可保證的。而自動(dòng)化測(cè)試對(duì)于其不穩(wěn)定性是相當(dāng)敏感的,所以通常都無(wú)法正常的運(yùn)行完測(cè)試,也無(wú)法達(dá)到我們盡快得到結(jié)果的預(yù)期。其次在新功能剛遞交時(shí)其期望結(jié)果是不可預(yù)知的,這對(duì)于自動(dòng)化測(cè)試腳本的編寫(xiě)帶來(lái)了極大的不確定性。最后在新功能遞交階段是需要我們發(fā)現(xiàn)大量問(wèn)題的時(shí)候,而自動(dòng)化測(cè)試無(wú)法擔(dān)此重任。

            2.3 自動(dòng)化測(cè)試是適用于任何組織的

            在最初嘗試自動(dòng)化測(cè)試的時(shí)候,是需要投入相當(dāng)?shù)娜肆臀锪θミx擇自動(dòng)化工具,構(gòu)建自動(dòng)化測(cè)試的框架,做必要的技能培訓(xùn),摸索編寫(xiě)自動(dòng)化測(cè)試的腳本,如果一個(gè)組織無(wú)力承負(fù)這樣的代價(jià),那么是不適合自動(dòng)化的,否則只能是半途而廢的下場(chǎng)。

            即使我們澄清了這些誤區(qū),我們對(duì)于自動(dòng)化測(cè)試有了一個(gè)比較清晰的認(rèn)識(shí),也對(duì)其有了一個(gè)正確的期望,但實(shí)際在推行的過(guò)程中我們還是會(huì)遇到不少的困難,而困難主要來(lái)自于以下幾個(gè)方面。

            3、自動(dòng)化測(cè)試推廣中的困難

            3.1 來(lái)自于測(cè)試人員的不接受

            因?yàn)闇y(cè)試人員是自動(dòng)化測(cè)試的主體,他們承擔(dān)著轉(zhuǎn)型的重要職責(zé),所以他們的接受與否對(duì)于工作的展開(kāi)是尤為重要的。但作為一個(gè)新生事物,通常是不太容易被接受的,尤其是在大家覺(jué)得原有的模式很舒服很習(xí)慣的情況下。所以在最初的階段完全是強(qiáng)推。而經(jīng)過(guò)一年的努力,當(dāng)作年終總結(jié)時(shí),所有的測(cè)試人員都說(shuō)那年最艱難的是自動(dòng)化測(cè)試,感觸最深的是自動(dòng)化測(cè)試,從中學(xué)到最多是是自動(dòng)化測(cè)試,而且發(fā)現(xiàn)自動(dòng)化測(cè)試的確幫了很大的忙。

            3.2 來(lái)自于測(cè)試人員技術(shù)上的不足

            測(cè)試人員很多都不具有編程的經(jīng)驗(yàn),但自動(dòng)化測(cè)試腳本的編寫(xiě)還是需要一定的編程功底,如果組織中專門有一個(gè)具有編程功底的團(tuán)隊(duì)能開(kāi)發(fā)自動(dòng)化測(cè)試的工具,并且根據(jù)手動(dòng)的測(cè)試案例編寫(xiě)自動(dòng)化測(cè)試的腳本,那狀況可能會(huì)好些。但目前更多的組織是需要人人能編寫(xiě)自動(dòng)化腳本的。而在我們的轉(zhuǎn)型中我們經(jīng)歷了三個(gè)階段,基本完成了能力的建設(shè)。第一階段以能用為目的,專門有人提供所需的函數(shù),測(cè)試人員只需調(diào)用這些函數(shù)完成自動(dòng)化測(cè)試的目的,不需要考慮程序的可移植性,可復(fù)用性。第二個(gè)階段每個(gè)人會(huì)寫(xiě)一些自己所需要的函數(shù),并且具有良好的移植性和靈活性。第三個(gè)階段每個(gè)人會(huì)寫(xiě)能為他人復(fù)用的函數(shù)并且遵循制定的規(guī)范。這樣的轉(zhuǎn)型雖然慢但卻是比較穩(wěn)妥的方式。

            3.3 來(lái)自于組織內(nèi)其他人員的阻撓

            在自動(dòng)化測(cè)試的初期階段,必然是會(huì)耗費(fèi)相當(dāng)多額外的精力去構(gòu)建環(huán)境等等,而且我們也需要時(shí)間完成技術(shù)上的積累。所以這時(shí)候不得不像項(xiàng)目經(jīng)理去索要更多的人力。這是一個(gè)長(zhǎng)期受益的舉措,但對(duì)于當(dāng)前而言似乎是利大于弊的。所以會(huì)遭受各方各面的壓力,尤其是來(lái)自于項(xiàng)目經(jīng)理的壓力。我們很幸運(yùn)我們走過(guò)來(lái)了,而現(xiàn)在當(dāng)所有的人嘗到了甜頭之后,對(duì)于自動(dòng)化測(cè)試的支持程度也大大的提高了。

            以上是筆者在經(jīng)歷自動(dòng)化測(cè)試轉(zhuǎn)型過(guò)程中的一點(diǎn)體會(huì),希望能對(duì)其他正在轉(zhuǎn)型或者準(zhǔn)備轉(zhuǎn)型的組織能有一些幫助。

          posted on 2013-03-05 14:06 順其自然EVO 閱讀(378) 評(píng)論(0)  編輯  收藏 所屬分類: 測(cè)試學(xué)習(xí)專欄 、selenium and watir webdrivers 自動(dòng)化測(cè)試學(xué)習(xí)

          <2013年3月>
          242526272812
          3456789
          10111213141516
          17181920212223
          24252627282930
          31123456

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 化州市| 海门市| 安阳县| 商都县| 湖口县| 久治县| 台中县| 潜山县| 鹿邑县| 温泉县| 邢台县| 中阳县| 龙江县| 沈阳市| 涟水县| 清河县| 新和县| 景泰县| 洛南县| 桂林市| 汨罗市| 新沂市| 砀山县| 顺义区| 南充市| 南安市| 富蕴县| 连城县| 托克逊县| 河南省| 永靖县| 进贤县| 自贡市| 林州市| 牟定县| 洛川县| 东乡族自治县| 承德市| 郧西县| 新野县| 云梦县|