雖然從自己的錯誤中學(xué)習(xí)也不錯,但從別人的錯誤中學(xué)習(xí)總是更好的。
作為一個自動化測試人員,分享常見的容易犯的10個錯誤,可以從中吸取教訓(xùn),引以為鑒。
一、必要時才自動化
新人小王接到為Web應(yīng)用程序自動化測試腳本的任務(wù)時,既高興又緊張,因為這是他進(jìn)入團(tuán)隊的第一個任務(wù)。第一印象至關(guān)重要,他也希望給團(tuán)隊留下完美的第一印象。小王被要求自動化Web應(yīng)用程序其中的一個模塊,但他想表現(xiàn)得更好、做更多的自動化,于是選擇了另外的模塊。然而結(jié)果是他撞進(jìn)了死胡同,沒有完成。其實小王想做些新嘗試并沒有錯,錯在沒有咨詢前輩就試圖自動化該模塊。事實證明,這個模塊用不著自動化,因為集成的系統(tǒng)可能會導(dǎo)致多重誤報。
我在新的自動化測試人員身上看到過很多次這種情況。畢竟,好奇心可以引領(lǐng)前進(jìn)。當(dāng)學(xué)習(xí)自動化測試時,會想嘗試在每個項目中引入自動化,但這是不必要的??赡苡凶銐虻哪芰ψ詣踊臣?,但這件事是否足夠可行?雖然眾所周知自動化可以節(jié)省時間和精力,但回答以下問題非常重要:“為什么要將此項目自動化?”得到了確切務(wù)實的答案后,再為自動化開綠燈。
二、定義范圍
定義將要執(zhí)行的測試的范圍是非常必要的。作為新手自動化測試人員時,總是試圖測試所有的東西,并使每個測試都自動化。問題是盡管可以成功地自動化所有測試,但這既不實用也不可行。
首先,代碼中有很多部分并不需要頻繁的測試,但可能需要占用大量時間為其開發(fā)框架或腳本。比如當(dāng)測試一個網(wǎng)站時,自動化網(wǎng)站的每個元素并在其上運(yùn)行腳本是沒有用的,這不值得花時間和精力。
其次,自動化所有的東西會增加測試自動化百分比,這會提供書面上很好的數(shù)據(jù),讓自己覺得完成了一項出色的工作,然而實際上并非如此。
定義測試的范圍,只考慮能夠及時提供實際價值的自動化測試的可行代碼,做出明智選擇。
三、準(zhǔn)確選擇自動化測試工具
自動化測試人員最常見的另一個錯誤是沒有選擇正確的自動化測試工具。一個項目包含許多專注于不同測試目標(biāo)的組件。這些目標(biāo)應(yīng)分為不同的工具,以幫助更有效地實現(xiàn)這一目標(biāo)。
例如,如果想測試一個網(wǎng)站的API,最好使用Postman;但如果你想確保Web應(yīng)用程序在不同瀏覽器間的完美呈現(xiàn),那么在線Selenium Grid將是自動化跨瀏覽器測試的最佳選擇。
四、與其他測試人員良好協(xié)調(diào)
測試團(tuán)隊中有很多人,大家具備不同的技能。例如,有人可能擅長業(yè)務(wù)測試,而其他人可能擅長功能測試。然而,這不是不與他們討論任務(wù)進(jìn)展的理由。協(xié)調(diào)是加速產(chǎn)品交付的關(guān)鍵。了解誰在做什么、使用什么工具、對測試自動化的編程語言是否滿意。
這有助于幫助排除自動化測試腳本的故障,萬一事情不順利,就會知道該尋求誰的幫助,了解團(tuán)隊也可以幫助自己在需要的時候進(jìn)行協(xié)調(diào)。正如在最后一點(diǎn)中所討論的,一個項目可能需要不同的工具來實現(xiàn)組合的目標(biāo),可以讓擅長不同工具的測試人員發(fā)揮自己的作用。
五、檢查投資回報率
僅僅將測試人員的工資作為與整個測試過程相關(guān)的成本考慮進(jìn)去是一個非常新手級的錯誤。顯然,情況并非如此。
例如希望對網(wǎng)站執(zhí)行跨瀏覽器測試,測試人員的工資當(dāng)然是成本的一部分。但如果團(tuán)隊不知道這種類型的測試或與之相關(guān)的任何工具,那么還需要通過培訓(xùn)來提升他們的技能,這會產(chǎn)生額外成本。此外,還需要有合適的自動化測試工具或者框架來執(zhí)行自動化瀏覽器測試。當(dāng)然,也可以考慮開源框架。
這只是一個例子。同樣,在對Web應(yīng)用程序執(zhí)行自動化測試的過程中,您還會遇到其他投資。但是,他們肯定會出現(xiàn)。因此,應(yīng)仔細(xì)考慮測試成本,并牢記您將獲得的這些投資回報。如果回報率較低,則需要更改策略并再次計算。但最終,您需要在整個測試過程中獲得良好的投資回報率。
六、過度依賴無代碼測試
雖然無代碼自動化測試工具的學(xué)習(xí)曲線很短,很容易入門,但它們不會幫助構(gòu)建自動化測試人員配置文件所需的相關(guān)技能集。作為初學(xué)者,它們很好地幫助新手起步,但隨著自身技能的發(fā)展,就會意識到它們并不像期望的那樣有用。如果決定用無代碼自動化工具的智慧參加自動化測試人員的面試,或者一直單獨(dú)用無代碼自動化來自動化復(fù)雜的web應(yīng)用程序,那么將經(jīng)歷一段艱難的時光。
可靠性是這類工具的另一個大問題。在一天結(jié)束的時候,需要了解代碼,以便調(diào)試自己的自動化測試套件執(zhí)行出錯的地方。此外,如果面對一個復(fù)雜的網(wǎng)站,那么就不會發(fā)現(xiàn)無代碼自動化測試工具可以像你想的那樣靈活。建議不要逃避代碼,而是要熟練地學(xué)習(xí)它。最重要的是,這將是個人簡歷上的一大魅力。因此,作為自動化測試人員,請確保避免這種常見的錯誤。
七、維護(hù)測試設(shè)計
測試設(shè)計是將一般測試目標(biāo)轉(zhuǎn)換為有形測試用例和條件的過程。作為開發(fā)人員,我們傾向于認(rèn)為既然測試需要編碼,為什么開發(fā)人員不能完成這項工作?如果是這樣的話,那么測試這個崗位也就不存在了。
作為初學(xué)者,不理解測試設(shè)計的重要性可能是作為自動化測試人員最大的錯誤。任何時候測試任何東西都是荒謬的想法。為了有效地進(jìn)行測試,測試人員需要設(shè)計測試,然后對其進(jìn)行編碼。設(shè)計測試有助于創(chuàng)建有意義的測試,并使整個測試過程非常高效。
八、關(guān)注代碼重用性
測試用例對它所應(yīng)用的代碼并不是唯一的。在一個項目中,會出現(xiàn)許多類似的組件,它們需要類似的測試設(shè)計和測試套件。比如,在使用Selenium進(jìn)行跨瀏覽器測試時,我們發(fā)現(xiàn)Web頁面的四個元素都是輸入字段,并且需要類似的測試用例。在這里,可以通過僅為第一個元素編寫測試來復(fù)制粘貼代碼。雖然這將給出預(yù)期的結(jié)果,但問題是將來開發(fā)人員可能會以某種方式更改元素?,F(xiàn)在,要更改測試用例,就需要更改所編寫的每個測試套件中的代碼。所有的時間都將浪費(fèi)在尋找和修改這些測試代碼上。
為了避免這種情況,應(yīng)該始終關(guān)注代碼的可重用性。與其一次又一次地粘貼代碼,不如用適當(dāng)?shù)膮?shù)構(gòu)造一個函數(shù),并在每個元素上調(diào)用該函數(shù)。這樣,如果將來有任何更改,只需要修改函數(shù),就可以開始了。
九、100%自動化是一個神話
跟計算機(jī)領(lǐng)域經(jīng)典的“人月神話”一樣,這里的“神話”同樣指不可能達(dá)到的天方夜譚。
不要相信這種神話,因為作為一個自動化測試人員,這將是一個嚴(yán)重的錯誤。作為自動化測試領(lǐng)域的新手,對于將自動化引入到項目中都會很興奮。但這會讓人犯錯誤,認(rèn)為自動化測試可以完全取代手動測試過程。隨著時間的推移,我們將知道這是不可能的。百分之百用自動化測試取代手動測試是一個神話,它永遠(yuǎn)不可能實現(xiàn)。
作為這方面的初學(xué)者,不要試圖實現(xiàn)這樣的目標(biāo)。又回到第一條,只有在必要時才進(jìn)行自動化,并且只對那些需要自動化的項目進(jìn)行自動化。
十、遵循從頭開始
在測試時,會遇到不同類型的問題。需要設(shè)定目標(biāo)并對這些問題進(jìn)行分類。一種基礎(chǔ)方法是用較小的模塊而不是大模塊開始自動化測試。
作為自動化測試人員,最大的錯誤之一是開始自動化時使用更大、更復(fù)雜的模塊??赡苋狈γ總€用戶交互中涉及的入站和出站流程的認(rèn)識;甚至可能缺乏處理棘手的測試用例的熟練程度;可能最終會浪費(fèi)大量的時間,但卻一無所獲。所以從小處開始,從基礎(chǔ)的方法中增加自動化測試的覆蓋率。文章來源:http://www.zghlxwxcb.cn/news/detail-403951.html
第一次踏入自動化測試領(lǐng)域,難免犯一些錯誤,這些錯誤會造成時間、金錢、精力的浪費(fèi)。希望這篇文章能對自動化測試新人有所幫助,幫大家避免踩這些不必要的坑。文章來源地址http://www.zghlxwxcb.cn/news/detail-403951.html
到了這里,關(guān)于真人踩過的坑,告訴你避免自動化測試常犯的10個錯誤的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!