1. 測試工程師,要想明白這件事!

        共 5517字,需瀏覽 12分鐘

         ·

        2021-09-10 10:43

        iTesting,愛測試,愛分享


        在我們測試圈子里有一個(gè)有趣的現(xiàn)象,那就是:有一部分測試工程師是「代碼困難戶」,不太擅長寫自動化測試腳本,甚至畏懼寫代碼。以我身邊的情況為例,能夠擁有代碼技能的測試工程師比例大約為50%,就好比10位測試工程師里,有一半人都屬于「代碼困難戶」。


        前些年,我有個(gè)朋友跟我聊到他的公司,一家在上海張江的某個(gè)中等規(guī)模軟件公司,他們公司的測試團(tuán)隊(duì)12位員工,只有他一個(gè)人能編寫自動化測試腳本,其他同事都是編程語言入門小白級別的,工作中更多以手工測試為主。


        別不信,這就是我們所處的行業(yè)現(xiàn)狀。


        這種情況讓IT同行們對「測試工程師」有著不小的偏見:門檻低、點(diǎn)UI界面、女生多、工作要細(xì)心、挑戰(zhàn)性不大。


        這種偏見很常見,就好比「程序員都是修電腦的」、「銷售都是大忽悠」、「做生意的老板都喜歡帶大金鏈子」一樣。


        好在,近些年測試領(lǐng)域的技術(shù)發(fā)展很快,測試也有了自己的大會,如:QeCon、MTSC等大會都做的熱火朝天。整個(gè)行業(yè)對測試人才的要求也在不斷提高,大部分的測試崗位要求都需要必須掌握自動化測試技能,自動化測試已經(jīng)是一項(xiàng)必備技能。如果一位測試工程師沒有自動化測試技能,那他的應(yīng)聘面試基本上會是四處碰壁。這說明整個(gè)行業(yè)在慢慢的洗牌、淘汰,對測試行業(yè)應(yīng)該是好事。


        疑問


        自動化測試和ROI


        關(guān)于學(xué)習(xí)自動化測試的歷程中,有這么一件有趣的事。


        我初入職場時(shí),當(dāng)時(shí)的測試領(lǐng)導(dǎo)就告訴我:「做自動化測試的成本很高,所以我們在做之前一定要弄清楚ROI」。


        在很多傳統(tǒng)行業(yè)或者商業(yè)行為中,通常會把投入產(chǎn)出比(ROI,Return on Investment)作為衡量一項(xiàng)生產(chǎn)活動的性能、效益、效率,來判斷是否達(dá)到預(yù)期或者滿足投資目標(biāo)。例如,糧食的產(chǎn)量、物件的良品率以至于直接的貨幣回報(bào)等等,通常是有一個(gè)公認(rèn)的正向回報(bào)參考指標(biāo)。


        ROI(return on investment) = 投入產(chǎn)出比 = (A-B)/B。


        A:開展自動化測試工作所能獲得的回報(bào),節(jié)約的人力、回歸的范圍等等。

        B:開展自動化測試工作所需的成本投入,框架設(shè)計(jì)、用例設(shè)計(jì)、腳本編寫和維護(hù)、腳本的執(zhí)行、看報(bào)告提缺陷的時(shí)間等等。


        當(dāng)時(shí)的我非常信服這個(gè)概念,100%地去執(zhí)行,以至于后面每每有同事跟我談?wù)撟詣踊瘻y試方案時(shí),我都會說一句:「有沒有考慮ROI,投入和收益是不是正比?


        再來看看這個(gè)故事:

        美國某個(gè)教會有一群聰明的孩子們,他們花了200美元買了40件襯衣,每件襯衣5美元。「B = 200美元」

        當(dāng)孩子們拿到襯衣后,對襯衣進(jìn)行了包裝、印教會logo、打包等作業(yè)。

        然后孩子們以500美元的價(jià)格,將這40件襯衣賣給了教會?!窤 = 500美元」


        ROI(return on investment) = 投入產(chǎn)出比 = (A-B)/B。

        A為獲得的回報(bào)。

        B為原始的投入。


        計(jì)算公式:(A - B)/ B = (500-200)/ 200 = 300/200 = 150%。


        我們期望的都是:分子能越大就大,分母能越小就小。


        ROI,這個(gè)概念跟隨了我3年,我毫無條件的接受了它,以至于把ROI的概念深入到了生活的每個(gè)細(xì)胞中。


        例如:

        • 想學(xué)Python的時(shí)候,買一本《7天速成Python》,期望1周就成為Python大神;

        • 想減肥的時(shí)候,下個(gè)《Keep》App,跑完步就立刻去稱稱體重,看看自己瘦了多少;

        • 想學(xué)經(jīng)濟(jì)的時(shí)候,買一本《薛兆豐經(jīng)濟(jì)學(xué)》,實(shí)際上是,這本書買回來還沒翻10頁,書就吃灰了。


        但這些事挨個(gè)都做過了,并沒有讓我成為Python大神、6塊腹肌和經(jīng)濟(jì)達(dá)人。


        我總覺得有哪里不對,但又說不上來什么道理。漸漸地,我似乎開始懷疑當(dāng)時(shí)的唯ROI論到底是否正確。


        盡管在很多地方ROI的表達(dá)非常有效,但是在測試領(lǐng)域尤其是自動化測試領(lǐng)域卻不如此。我們可以說某某公司或團(tuán)隊(duì)自動化測試的覆蓋率高、產(chǎn)出BUG多,或者場景化測試有深度,但這些都是從不同的維度去看待的,不同的公司、項(xiàng)目和團(tuán)隊(duì)對自動化測試的訴求都是不同的。如果單從一個(gè)公式中就能推導(dǎo)測算出一個(gè)值,并嘗試拿著這個(gè)值去度量,顯然是不靠譜的。


        漸漸地我發(fā)現(xiàn),原來我已經(jīng)習(xí)慣了,干什么事都想找捷徑,都想以「最小的投入成本,獲得最大的回報(bào)」,工作中的方法竟然對我的生活產(chǎn)生了影響,這屬于「慣性思維」。


        這個(gè)事給了我很多啟發(fā),之前做過很多事情,折騰來折騰去,也沒見事業(yè)有什么起色,回過頭來看,我發(fā)現(xiàn)自己真正能夠踏踏實(shí)實(shí)干的事情,貌似也沒有幾件。


        記得高中時(shí)有位同學(xué),他每次考試都名列前茅,我就去請教他怎么做到的,他說:「老師布置的作業(yè)我都做完,然后把課本和練習(xí)題里面所有的題都做一遍」。大家回顧一下自己高中的情況,練習(xí)冊、課外教材上都有很多練習(xí)題,有多少人一道題不落下全部做完的?幾乎沒有人會全做,對吧?因?yàn)檫@完全是投入體力和時(shí)間的事,這種笨笨的事,很多聰明人不屑于去做,但是人家就笨笨的去做了,就這么簡單。


        后來這位同學(xué)高中考上北大,然后保研繼續(xù)讀,現(xiàn)在在業(yè)內(nèi)號稱科技四小龍之一的一家科技公司做技術(shù)負(fù)責(zé)人,從事的是人工智能AI研究的領(lǐng)域方向。他跟我說,人工智能的第一法則就是:「簡單的動作確保不能出錯(cuò),然后逐步迭代,越來越復(fù)雜」。


        后來我理了理思路,做了深刻的反思,原來自己之前的做事方式是存在問題的,「最小的投入成本,獲得最大的回報(bào)」只是我自己一廂情愿、天真的想法,世間哪有那么多好事?


        這都不遵守「能量守恒定律」,我們高中物理課上就學(xué)過,請您想想,是不是這樣?

        其實(shí)不光是做事,做人也是一樣的。尤其是跟朋友之間,不能什么事都斤斤計(jì)較。當(dāng)好朋友有困難需要幫忙時(shí),難道還要考慮幫他不幫他,我現(xiàn)在幫助他以后會對我有多大的回報(bào)。如果凡事都考慮ROI,你會發(fā)現(xiàn)自己把自己變得很「油膩」。


        當(dāng)時(shí)想明白這件事時(shí),我真有點(diǎn)懊悔,過去的時(shí)間都浪費(fèi)到哪兒去了,到底做了多少「聰明事」?追求了多少「ROI,投入產(chǎn)出比」的事?


        所以,今天我把這一把鑰匙分享給大家:「簡單的動作確保不能出錯(cuò),然后逐步迭代,越來越復(fù)雜」。


        • 自動化測試,3萬行代碼足夠了,三個(gè)月足夠了,堅(jiān)持寫,不斷優(yōu)化、不斷迭代、不斷提高。


        • 減肥跑步,每天5公里,堅(jiān)持三個(gè)月,擼鐵一萬次。


        • 學(xué)Python,每天一道題,三個(gè)月,堅(jiān)持寫3萬行代碼。


        問題


        測試團(tuán)隊(duì)怎樣提升自動化測試能力?


        關(guān)于如何提高個(gè)人的編碼能力,大家可以自行努力:確保最基本的代碼是正確的,逐漸迭代,越寫越復(fù)雜,切忌不要走捷徑。


        回到我們今天的話題,看到這里,大家心里面肯定會說:你說的都對,但是現(xiàn)實(shí)怎么辦呢?團(tuán)隊(duì)中依然還是有很多測試工程師短期內(nèi)寫不了代碼??!


        當(dāng)然,我也是有解決方案的。這里有一款「API自動化測試腳本一鍵生成工具」供大家下載使用。不但可以免費(fèi)下載,工具的代碼還是開源的,給想學(xué)編碼的朋友參考學(xué)習(xí)。


        一舉兩得。


        向大家隆重介紹一本書《敏捷測試高效實(shí)際 測試架構(gòu)師成長記》,下載地址的二維碼就在這本書的扉頁。


        為什么介紹這本書呢?因?yàn)橛腥齻€(gè)原因。


        01.自動化測試


        一鍵生成


        第一個(gè)原因:自動化測試腳本?一鍵生成!


        你沒有聽錯(cuò),自動化測試腳本,可以點(diǎn)一個(gè)按鈕自動生成了。


        這本書中開源出來了一項(xiàng)API自動化測試大殺器:「PostSuperman」,這個(gè)工具最大的特點(diǎn)就是:「一鍵生成API自動化測試腳本」,讓編程能力較弱的測試工程師也能夠輕松搞定自動化測試,動圖如下:



        基于Postwoman工具,做了二次的開發(fā),加強(qiáng)了很多測試功能,點(diǎn)擊生成的按鈕,可以迅速將API接口的報(bào)文生成為Python自動化測試腳本。


        有的朋友說了,Postman工具也支持生成腳本的。


        嗯,沒錯(cuò),但是Postman生成出來的腳本,沒有PostSuperman出色,原因有以下幾點(diǎn):

        1. 一鍵生成,立即執(zhí)行

          腳本生成后,不需要做修改,直接放在pytest工程里就可以運(yùn)行,非常方便;

        2. 支持自定義斷言

          PostSuperman工具生成的腳本,支持針對response的斷言(而且可以靈活配置),Postman生成的腳本沒有斷言;

        3. 支持場景接口

          當(dāng)你有一組接口時(shí),在Postwoman中設(shè)置為一個(gè)Collections,直接可以生成場景化的腳本。


        在PostSuperman這款工具中都體現(xiàn)了,生成腳本如絲般順滑,點(diǎn)擊一個(gè)按鈕,腳本自動生成,立即就可以執(zhí)行了。


        PostSuperman不但可以生成一個(gè)接口的腳本,還支持生成「場景化批量接口」的腳本生成,請看下面的動圖:



        PostSuperman不但可以傻瓜式的生成腳本,還支持「用戶自定義配置」,你可以在一個(gè)配置頁面設(shè)置自己的腳本特征(加上注釋、額外的代碼、自己想要或不想要的斷言規(guī)則),然后取個(gè)模板名稱,下次生成腳本時(shí)使用這個(gè)模板名稱,就可以生成你想要的腳本啦!情況下面的動圖:



        這些看起來酷酷的功能,是我和兩位朋友一行一行代碼寫出來的,我們所使用的代碼一共只有2000行代碼,可以說每一行代碼都花在了刀刃上,工程的下載地址已經(jīng)印在書的扉頁,大家有興趣可以下載學(xué)習(xí)。


        02.敏捷測試工程師


        需要掌握哪些技能?


        第二個(gè)原因:敏捷測試工程師需要掌握哪些技能?


        當(dāng)一位測試工程師小A,在一個(gè)敏捷開發(fā)迭代中開展測試工作,小A就能稱之為「敏捷測試工程師」了嗎?


        答案肯定是否定的。


        有兩點(diǎn)是必須要做到的:1、認(rèn)知上得做到「敏捷」 2、技能上得做到「敏捷」


        這里提到的「敏捷測試工程師」,是指在工作中有意識,主動使用敏捷的方式方法開展測試工作,利用技術(shù)解決各種各種工作的難題,最終實(shí)現(xiàn)端到端的價(jià)值交付。


        不但要求測試人員具備全棧測試工程師所需要的測試技術(shù),還需要擁有一定的軟技能,最終,才能在工作中對業(yè)務(wù)功能、業(yè)務(wù)價(jià)值負(fù)責(zé)。


        那么,具體需要掌握怎樣的技能,才能成為「敏捷測試工程師」呢?大家可以嘗試在書中尋找答案。


        03.測試效能提升工具


        PostSuperman、自動化測試平臺、代碼染色覆蓋率工具


        第三個(gè)原因:介紹了PostSuperman工具、自動化測試平臺和移動端代碼染色覆蓋率工具的開發(fā)過程


        這三款工具屬于測試創(chuàng)新工具,占了全書一半以上的篇幅,從架構(gòu)到技術(shù)細(xì)節(jié),詳細(xì)詮釋說明了。


         01  代碼染色覆蓋率工具 


        市面上完整介紹「代碼染色覆蓋率工具」的技術(shù)書籍并不多,本書從為什么做這款工具、產(chǎn)品功能設(shè)計(jì)、技術(shù)選型、設(shè)計(jì)架構(gòu)圖、核心代碼編寫、經(jīng)驗(yàn)總結(jié)等等,原原本本地還原了整個(gè)工具從0到1的過程。


        目前,代碼染色覆蓋率工具已經(jīng)在作者公司進(jìn)行了投產(chǎn)使用,效果還不錯(cuò),有學(xué)習(xí)訴求的朋友可以來看看,包括這款工具對測試技術(shù)的思考,應(yīng)該能對你的工作有所幫助。



         02  PostSuperman自動化測試腳本一鍵生成工具 


        上文有介紹過,本書除了開源了PostSuperman這款工具,還把如何做PostSuperman工具的每個(gè)步驟都講透了,整個(gè)工具開發(fā)的過程,都事無巨細(xì)的記錄了下來。你可以下載后直接使用,也可以自己再加工開發(fā)改造,我們的目的幫大家把整個(gè)工具的技術(shù)設(shè)計(jì)、編程語言和功能細(xì)節(jié)都講透、講明白。


         03  自動化測試平臺 


        作者公司所使用的自動化測試平臺,詳細(xì)介紹了:

        為什么做這個(gè)平臺

        這個(gè)平臺能帶來哪些價(jià)值,解決什么樣的問題

        怎樣做架構(gòu)設(shè)計(jì)的

        用了什么編程語言、如何開發(fā)的

        等等……


        覺得這本書的特色不足?還不夠嗎?再來重點(diǎn)介紹一項(xiàng)特色吧。


        04.漫畫式的敘述方式


        寫作創(chuàng)新


        雖然本書是一本非常嚴(yán)肅的技術(shù)書籍,但是,處處卻不乏創(chuàng)新。


        全書有22副漫畫貫穿全書,講述了一位從校園畢業(yè)的「測試小工」如何逐漸成長為「測試架構(gòu)師」的,這期間經(jīng)歷的磨難、焦慮和有趣的事,憑著主人公自身的付出和努力,終于成長為一名優(yōu)秀的「測試架構(gòu)師」。


        整個(gè)過程是非常有意思的,與其說這是一本技術(shù)書,不如說是一本「測試工程師的凡人修仙傳」,生動搞笑的敘述風(fēng)格貫穿整本書,讓你在努力學(xué)習(xí)技術(shù)的同時(shí),勞逸結(jié)合。



        05.為什么寫這本書


        測試技術(shù)沉淀


        有人問我們,你們?yōu)槭裁磳戇@樣一本書?


        我想說的是:「軟件測試是我們從事并熱愛的職業(yè),我們的奮斗方向是:不斷適應(yīng)行業(yè)的變化,并將軟件測試這份工作做到極致」。


        軟件測試是一個(gè)需要?jiǎng)幽X、工作內(nèi)容抽象度極高,并且需要足夠創(chuàng)造力的崗位,希望本書可以幫助你拓寬思路,提高對軟件測試崗位的認(rèn)知,學(xué)習(xí)書中的技術(shù),在工作中學(xué)以致用。


        就像我們寫這本書的初心一樣,希望可以幫助整個(gè)測試行業(yè)的同仁一起進(jìn)步、共同提高:「當(dāng)你的測試工作遇到瓶頸時(shí),翻開本書,為你打開一扇窗」。


        最后,還有軟件業(yè)內(nèi)各位專家、互聯(lián)網(wǎng)大廠的大佬們推薦(朱少民、茹炳晟、云層、恒溫、思寒……等16位專家),有這么多專家的爆贊推薦,你,來一本嗎?


        現(xiàn)在JD、當(dāng)當(dāng)網(wǎng)有折扣哦。





         -   -  時(shí)人莫小池中水, 淺處不妨有臥龍  -  -

        作者:

        Kevin Cai, 江湖人稱蔡老師。

        兩性情感專家,非著名測試開發(fā)。

        技術(shù)路線的堅(jiān)定支持者,始終相信Nobody can be somebody。      

        · 猜你喜歡的文章 ·


        功能測試進(jìn)階系列直播(免費(fèi))

        前端測試框架Cypress從入門到精通

        自研測試框架ktest介紹(適用于UI和API)

        測試開發(fā)入門與實(shí)戰(zhàn)

        瀏覽 48
        點(diǎn)贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評論
        圖片
        表情
        推薦
        點(diǎn)贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
          
          

            1. 黑人日逼视频 | 国产精品V欧美精品∨日韩 | 我被男人cao了一夜 | 激情五月婷婷综合 | 日韩一区二区三区无码免费播放 |