經(jīng)過一個月的努力,實(shí)現(xiàn)一個不熟悉的項(xiàng)目的自動化終于快接近尾聲了。之前知道什么樣的產(chǎn)品或項(xiàng)目適合做自動化,什么樣的產(chǎn)品或項(xiàng)目不適合做自動化;而且由于自己設(shè)計(jì)過一個給人感覺很高大上的工具,自認(rèn)為對自動化比較了解??蛇@一年來經(jīng)歷過兩個設(shè)計(jì)不算成功的工具,最近不斷反思,對如何更好的做自動化測試有了點(diǎn)新的感悟: 創(chuàng)新互聯(lián)主要從事成都做網(wǎng)站、網(wǎng)站建設(shè)、外貿(mào)營銷網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)撫松,10多年網(wǎng)站建設(shè)經(jīng)驗(yàn),價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18982081108 1. 能用現(xiàn)有的開源工具不要自己從頭開發(fā)一套工具。因?yàn)殚_源的工具是經(jīng)過很多人反復(fù)推敲,反復(fù)調(diào)整過的,無論從穩(wěn)定性、易用性、還是設(shè)計(jì)理念上,都會比自己從零開始要優(yōu)勢得多。 2. 對于不是特別緊急的項(xiàng)目或產(chǎn)品,要對其有一定的了解之后再做自動化,需求不了解是做不出好的自動化工具的。這一年,有兩個自動化測試工具的任務(wù),兩個任務(wù)都有一個相同的特點(diǎn):我對Business不了解。這種情況下做自動化就會有以下幾個問題: 首先,要了解Business,會花費(fèi)很多時間; 其次,列出功能點(diǎn),需要做多少功能,擔(dān)心做出來的不全,所以把能列出來的都列出來。但是,如果全做了,那這個工具就注定是個失敗的工具。軟件測試中一直遵循著80-20原則,個人認(rèn)為這個理論也同樣適用于自動化測試,即20%的功能會有80%的人使用的,所以自動化設(shè)計(jì)時,首先要考慮的是這20%的功能如何先做出來,以及如何讓這20%的功能易用。 第三,即使做出來了,易用性不好。因?yàn)槭褂谜叩牧?xí)慣與設(shè)計(jì)者的習(xí)慣往往不同,尤其在設(shè)計(jì)者對業(yè)務(wù)和使用者的習(xí)慣都不熟的情況下。 3.對于時間要求緊的項(xiàng)目,切記大而全,尤其對項(xiàng)目不了解的情況下。Design會隨著對產(chǎn)品的了解而逐漸改變,逐漸優(yōu)化的,如果剛開始就大而全,一是無法按時完成;二是后期維護(hù)的cost比較高 舉例:這一年來我設(shè)計(jì)的第一個自動化工具就是UI測試,因?yàn)橹暗墓ぷ鹘?jīng)驗(yàn),所以我想設(shè)計(jì)一個比較全面的,一次到位的工具,但其實(shí)對于不熟悉的產(chǎn)品,這種想法本身就是錯的;而且自認(rèn)為當(dāng)時把驗(yàn)證結(jié)果都整合在一起挺有成就感的,但現(xiàn)在又想做到case,工具與verifyresult分離,之前花了很多時間整合驗(yàn)證結(jié)果做的工作就白做了。 4. 要做到數(shù)據(jù),case(尤其case模板化),測試工具、結(jié)果驗(yàn)證的分離,便于后期維護(hù)。現(xiàn)在想想,之前的公司其實(shí)也是這么做的,但當(dāng)時只知道效率比較高,還沒理解到這個高度。 5.整合成一個工具雖然重要,但是投入產(chǎn)出比也不容小覷。如果整合的工作量很大,那么不整合也許是最好的選擇,凡事有度,中庸之道值得推薦。 6.個人認(rèn)為自動化測試最重要的核心是:設(shè)計(jì)一個高效的自動化框架的能力;開發(fā)能力;設(shè)計(jì)case的能力 |