<code id="ebytu"><sup id="ebytu"><track id="ebytu"></track></sup></code>
    <td id="ebytu"><option id="ebytu"></option></td>
    <pre id="ebytu"><label id="ebytu"><menu id="ebytu"></menu></label></pre>
    <acronym id="ebytu"><label id="ebytu"><xmp id="ebytu"></xmp></label></acronym>
  1. <td id="ebytu"></td>

    <track id="ebytu"><ruby id="ebytu"></ruby></track>

            35+老測試員生涯回顧,揭秘無力吐槽的自動化真相…

            發表于:2022-10-27 09:48

            字體: | 上一篇 | 下一篇 | 我要投稿

             作者:佚名    來源:公眾號

            分享:
              不知道從什么時候開始,軟件測試行業就和“自動化”這個詞聯系在一起了,對于如今的測試人來說,幾乎沒有人不知道「自動化測試」,甚至查看各大招聘網站,你從任何一個招聘渠道來看最近兩年對測試崗位的要求,幾乎都要求會自動化測試。
              而不少人一直認為手工測試才是王道:
              工作中有的時候也用不到程序,干嘛在面試的時候要求寫代碼呢?
              明明自己的測試能力不錯,做了多年的功能測試,為什么面試的時候四處碰壁呢?
              很是想不明白,難道業界最近幾年有點兒盲目推崇自動化測試了嗎?
              雖然我不能說完全明白這些問題的產生的根源,不過以我這五六年的從事測試工作的經驗來分析一下這些問題的來龍去脈,可能也不是十分準確,希望能給迷茫的同學帶來一些思考。
              什么是自動化測試?
              什么是自動化測試呢?這個問題,可能沒有準確的答案。普遍認為的是接口自動化測試,WebUI自動化測試,App自動化測試等被冠以自動化命名的測試方案。
              其實不然,自動化測試是相對于手工而言的,用代碼或是借助于第三方工具,把繁復的測試工作從手工轉化為機器自動執行的測試方案,可以統稱為自動化測試。
              除了上面所說的三個方面的自動化測試,當然還包括日志過濾,日志回放,接口監控,服務監控等等,根據具體業務需求通過代碼把人力從中解放出來的代碼手段。
              為什么要做自動化測試?
              那企業或者是我們測試人員為什么要做自動化測試呢?
              從工作角度來說,目前互聯網需求迭代快,人員流動快,一個需求從提出到上線時間緊急,其影響的范圍可能不太清楚,在上線之前必須對原有功能進行回歸測試。不管是接口還是從客戶端,都需要大量的測試工作,大數據時代,測試用例量非常龐大,如此繁復單調的工作讓人工來測試的話,根本不能保證效率和質量,所以必須要借助于非人工手段來實現。
              從個人發展方面來講,時代在發展,對我們的要求也越來越高,所以我們要迎接變化,不斷提升自己才行。雖然你可以堅持手工測試是基礎,是王道,可是并沒有企業愿意為你這個信念買單。除非你生活無憂無慮,可以堅持自己的信念,否則你就要尊重業界發展的規律,不斷充電從而使自己更有價值。
              如何實施自動化測試?
              永遠要記住一句話:“不要為了自動化測試而做自動化測試!”不管你在測試工作中會采取什么測試方案,測試手段,這一切都是為了業務服務的,脫離了具體的業務,你的輔助手段再厲害也是無用的。
              在實施自動化測試工作之前,你必須對要測試的業務非常熟悉,核心業務流程,具體的功能模塊的實現,前后端如何交互,以及業務未來的發展與迭代頻率等等。然后按以下思路來進行選擇與實施你的自動化測試:
             。1) 根據業務特點,選擇自動化測試方案。你的業務是前后端分離的嗎?業務比較注重用戶交互還是數據完整性?用戶量有多大,有沒有需要承擔的壓力等等,通過考慮業務的特點,才能選擇比較合適的方案。
             。2) 根據業務側重點,確認自動化覆蓋范圍和粒度。通過業務特點選擇了自動化測試方案,然后根據業務側重點來確認范圍和粒度了。比如,你確定要進行Web UI自動化測試,不能看頁面就去寫自動化測試用例,要根據業務重點來確認。哪些業務流程是核心,必須覆蓋?哪些功能暫時有技術難點,或是變化比較快,可以放為二期來實現。通過對手工用例的評審,來準確確定自動化測試的范圍,實現用例的粒度。
             。3) 根據自動化測試用例范圍,選擇實現框架和語言。目前業務自動化測試工具,開源框架多如牛毛,讓人無從選擇,但是它們還是各用側重點的。需要根據測試用例的范圍和特點,參與人員的水平,用例的使用場景和未來計劃來選擇合適的框架。比如,我們要做接口自動化測試,而參與人員大部分不會代碼 ,那選擇Python+Unittest+HtmlTestRuner+Jenkins就比選擇Java+Httpclient+TestNG+Jenkins實現起來成本更低。
             。4) 根據用例用途,選擇執行策略。根據自動化測試的用途,是做上線前回歸,還是觸發式回歸?需不需要做監控?執行環境是什么?來去確認是否做持續化集成,是否發執行結果與錯誤預警,用例或是用例集管理方案,指定維護人員等等工作!
              如何學習自動化測試?
              既然自動化測試是手工測試提升的一個必經之路,雖然自動化測試沒有那么高大上,但必不可少。那作為一個有理想的測試人,應該如何去學習自動化測試呢?
              (1) 準確定位自己,明確目標
              有不少同學意識到了自動化測試的重要性,就去網上查詢資料啊,亂找一氣,最后越學越迷茫,處于會與不會之間,前路不知如何去走?這是什么原因呢?
              這是因為你在學習自動化測試之前沒有想明白幾個問題:我的真實水平如何?如果學習一項新的技術或是語言,我愿意投入的精力是多少?從現在開始學習,三個月或是半年后應該達到什么目標?我了解現在業界的自動化測試類型或是體系嗎?想好這些問題再去入手學習,必定事半功倍。
              (2) 全面了解,選好切入點
              目前自動化測試方向大概有以下幾個:
              A、輔助測試腳本方向:以Shell,Python為主來簡化重復的工作,過濾日志等;
              B、接口自動化測試方向:Python+Unittest+HtmlTestRuner+Jenkins和Java+Httpclient+TestNG+Jenkins,當然還有很多其他二次開發的框架或工具,不過核心是一樣的;
              C、頁面自動化方向,主要有:Python+Webdrver+HtmlTestRunner+Jenkins,Java+Webdriver+TestNG+Jenkins,以及其他的框架和工具;
              D、App自動化測試方向:以Robotium+Java+TestNG+Jenkins,  Appium+Java+TestNG+Jenkins,Appium+Python+HtmlTestRunner為主。
              當然我說的都是簡單的,最基本的實現方案,作為入門學習比較合適。其他五花八門的二次開發的框架,包含眾多功能的方案留待你以后提升。先從這幾方面了解入手,選擇一個語言體系,建議從接口自動化入后,然后再去學習頁面和app。
             。3) 步步為營,不要貪多
              在提升自己時,發現有好多東西需要學習,于是就很著急,想同時學習很多東西,其實這并不好。學的太多容易產生混淆,而且不容易消化,你仔細調研一下就會發現,很多東西都是互通的。代碼架構,用例管理,執行策略,持續化集成思想都可以舉一反三,關鍵是自己要動手真正實施起來,在公司現在的框架上寫用例,不管你寫多少,不了解整體結構都是沒有用的。
             。4) 拋棄工具,多用開源
              業界好像從來不缺少自動化測試工具,QTP,Realobot Framework,LoadRunner等等,知名不知名的數不勝數。先不說這些工具效果如何,目前大公司是從來不用這些工具的,大家都使用開源的框架,工具進行定制化自己的測試方案。所以剛剛學習自動化測試的時候,也不要依賴工具,使用開源的Webdriver, Appium,Robotium等搭建自己的自動化測試工程。掌握一個整體的自動化工程工作原理,為以后搭建自己的自動化工程,工具,平臺做準備。
              什么是自動化測試?
              不管你對自動化測試是愛,是恨,它是從手工測試轉為測試開發必經的階段?赡苣懔私獾阶詣訙y試沒有用,實施起來維護成本高,執行效率低等負面信息,其實這不是自動化測試的問題。
              要知道,它只是一個工具,一種測試方案,最終的效果還是由實施的人來決定的。在12,13年的時候,用Jenkins做持續化集成比較熱門,接下來幾年好像沒有那么火了,但是近兩年docker技術的出現,又使CI,CD變得火熱起來。我們是不是應該端正對自動化測試的態度,明確什么才是你想要的,找準方法,不斷提升自己呢?
              本文內容不用于商業目的,如涉及知識產權問題,請權利人聯系51Testing小編(021-64471599-8017),我們將立即處理
            價值398元的測試課程免費贈送,填問卷領取吧!

            關注51Testing

            聯系我們

            快捷面板 站點地圖 聯系我們 廣告服務 關于我們 站長統計

            法律顧問:上海漕溪律師事務所 項棋律師
            版權所有 上海博為峰軟件技術股份有限公司 Copyright©51testing.com 2003-2022
            投訴及意見反饋:webmaster@51testing.com; 業務聯系:service@51testing.com 021-64471599-8017

            滬ICP備05003035號

            滬公網安備 31010102002173號

            亚洲春色校园小说_欧洲精品色在线观看视频_国产思思99RE99在线观看_天天躁日日躁狠狠躁日日躁

            <code id="ebytu"><sup id="ebytu"><track id="ebytu"></track></sup></code>
              <td id="ebytu"><option id="ebytu"></option></td>
              <pre id="ebytu"><label id="ebytu"><menu id="ebytu"></menu></label></pre>
              <acronym id="ebytu"><label id="ebytu"><xmp id="ebytu"></xmp></label></acronym>
            1. <td id="ebytu"></td>

              <track id="ebytu"><ruby id="ebytu"></ruby></track>