回覆列表
  • 1 # 慧樂課堂

    從軟體測試工程師所需的一些特質講

    一、細心軟體測試工程師並不需要寫太多的程式碼,但是作為軟體質量的把關者,在進行軟體測試工作時要十分的細心,因為稍有一點粗心就有可能漏掉一些重大的bug,造成軟體質量不過關。嚴重的甚至會為團隊甚至公司造成重大損失。二、耐心軟體測試並不像軟體開發需要大量的創造性,更多的是重複性的工作,所以耐心也是作為軟體測試工程師非常重要的品質。不僅要耐得住一遍一遍反覆的用不同方法進行測試,還要耐得住軟體每一輪更新的有可能重複的測試工作。三、良好的溝通能力軟體測試人員在提交bug給開發人員的時候,肯定免不了與開發人員進行一些技術上和問題上的溝通,這個時候就需要良好的溝通能力了。如何能讓開發人員更好的去修改bug,很考驗測試人員的溝通技巧。除此之外,在工作中跟產品經理等其他同事也經常需要溝通交流,所以良好的溝通能力也是很重要的。四、責任心雖然責任心在任何工作中都是必不可少的,但是在軟體測試工作中尤為重要。不能只滿足於用常規的測試方法測試,沒有問題就萬事大吉。還要用一些非常規的方法去發現問題,要對測試工作,包括測試的軟體,以及整個團隊負責。以上這些問題其實都不是專業背景方面的要求,因為軟體測試工程師的門檻不算太高,並不需要你有多麼好的思維和IT背景。這些所需的品質都可以在學習和日常生活中慢慢培養,比如多與不同的人溝通交流,做事注重細節,不斷培養耐心和責任心等等。

    技術上軟體測試從低階到高階之路:

    1.功能測試:

    功能測試是最基本的測試,保證可用性和正確性;編寫測試用例一般用到的方法:等價類劃分,邊界值分析,錯誤推測,因果圖,判斷表驅動,正交試驗法,功能圖,最關鍵的是分析好業務邏輯,使用者操作場景,異常場景,關聯業務;執行測試用例的時候要掌握常用的linux命令,用來檢視後臺日誌,還要掌握常用的sql語句,熟練掌握對資料庫的操作;最後是寫測試報告,體現測試價值的是測試過程中你發現的問題,進行風險點總結;

    2.介面測試:

    1)瞭解常用的網路協議,如:http,htttps,soup,rpc,ftp,ssh,telnet

    2)瞭解常用抓包協議,如:fiddler,wireshark,burpsuit

    3)瞭解一些介面測試的工具,如:postman,soupui,java語言呼叫(httpclient包,jmeter包),python語言呼叫(request庫)

    3.自動化測試:

    1)自動化測試一般有UI功能自動化,介面自動化,介面引數化

    2)做自動化測試需要熟練掌握一門語言,python、,java

    3)具備一定的除錯能力,最長用的就是打斷點,雖然笨,但是最有效

    4)做好分析設計,以免後面頻繁改動,維護成本不高的業務做成自動化,設計相關的測試用例,原則是還原使用者操作

    4.效能測試:

    1)常用軟體:jmeter,loadrunner,測試報告一定要注意細節,細節才能體現報告中指示的問題

    2)要會一門程式語言,指令碼編寫用語言,由於系統的特殊性,例如jemeter呼叫dubbo介面,列印日誌,都要用語言完成

    3)深入理解linux,系統配置會影響測試結果,要監控CPU,磁碟,記憶體,網路

    4)熟悉各種資料結構和演算法

    5)使用各種輔助工具幫你解決程式出現的問題,記憶體溢位,CPU佔用過高,讀寫資料庫,網路長短連線

    6)熟悉各種中介軟體,tomcat,nginx,node,redis,mysql,

    5.敏捷開發:

    2)持續整合(CI)持續互動(CD):一個專案由專案負責人拆分成多個模組,分給團隊的每個人合作完成,其中一部分功能模組完成要做持續整合以便進行測試,持續整合部分完成測試即可持續互動,敏捷測試過程中最重要的是保證持續互動

    3)談敏捷最重要的是瞭解,把任務分配給合適的人,才能保證快速高質量完成

  • 2 # M蟲神軟體測試

    週期性學習以及目標服務的原則。除了專業知識技能外,也可以結合前公司業務知識學習,通過業餘時間如何加深業務理解,最好舉例說明,以及以往工作中因自我學習而獲得的成就以及對公司的貢獻等等。

    此外,制定好職業規劃後,可以按照技能樹執行。

    1.給自己的學習過程制訂一個詳細的計劃,量化到天,排好每天要學習的東西。同時最重要的是,一定要養成總結的習慣 ,每天總結 ,每個專案總結 ,總結測試方法,總結Bug原因,奇葩Bug等等,這些將會成為你日後工作的寶貴財富。

    2.按照輸出->總結->輸入->輸出 這種學習閉環法來實踐,無論是讀一本書還是看一段視訊,都把自己的心得書面記錄下來,你會發現,隨著天數,自己的知識庫也壯大起來了,而這些也讓自己下一次的輸出更有效率。

    沒有最好,只有更好,變得更好更強是一個過程,我們只需要在整個過程中努力就好 ,工作如此 ,生活亦如此。#軟體測試#

  • 3 # 東北振興

    首先你要會各種軟體測試工具的使用,其次你還要會程式碼。

    因為工具不是萬能的,始終都有侷限性,很多時候,它現有的功能,並不能夠完全適配我們的測試專案。工具解決不了的問題,我們需要對它做擴充套件或另行處理。還好,robot本身支援python/java語言對它做擴充套件。掌握程式碼,你可以做更多的事情。

    工作當中,除了寫用例之外,我們還要完成領導的各個小需求。比如自動收集資料?比如定製化的報告?同時,也需要各種小手段來提高測試效率。

  • 4 # 加肥的快樂星貓

    軟體測試是一門綜合性很強的學科,入門易精通難。

    一個初級測試工程師要逐步成長為中高階測試工程師,最後成長為優秀的測試專家是需要邁過心理關、業務關、技術關、專業關、管理關等很多關口,還要懂軟體工程,專案管理,質量管理等方面知識,最好有經驗豐富的指點。

    那如何儘快成為一名優秀測試工程師呢?

    一、首先要學習好軟體測試基礎,練好內功心法。很多人不重視黑盒測試甚至輕視,其實黑盒測試最煅練測試思維。學精通黑盒測試對整個測試生涯幫助很大。

    二、要熟練掌握功能,效能自動化測試,至少會編寫其中一頂測試指令碼,搭建測試框架

    三、要精通測試計劃,測試設計,測試執行。在日常工作中不斷學習充電,多閱讀測試書籍,學習缺陷管理庫中的缺陷報告,閱讀高手寫的測試用例,學習產品相關的業務知識。無論測試什麼專案都要用全域性思維像測試架構師一樣思考測試的深度,廣度,難點和重點。要多學習總結歸納和文件組織能力,煉成讀完一個系統的需求文件就能對整個專案瞭若指掌的能力。

    四、多去做專案或收集專案知識,累積專案經驗。

    ……

    關於如何成為優秀測試工程師的知識還有很多很多,每個過程域下還有很多測試能力沒有一一列出來。大家可以一步步學紮實走穩。軟體測試工作中還涉及很多軟能力,這些都需要在工作中煉成。

  • 5 # 陳紀強jacky

    測試,業務能力,綜合素質能力要強!如果還要成為更厲害的測試,建議要學效能,自動化,對開發要有一定了解,要熟悉作業系統……

  • 6 # 閱讀成長財務自由

    1、軟體測試流程需要熟悉;

    2、軟體測試過程中的工具需要熟悉:如SVN版本管控、禪道管理BUG過程;

    3、熟悉Python、Shell、資料庫、效能測試工具LoadRunner、Jmeter還有Fiddler抓包。

    關鍵還是不斷練習,不斷實踐,在實踐中進步。

  • 7 # 尚德世緣

    步驟/方法

    方法/步驟1:起碼有三年以上的軟體開發經驗  現在許多軟體企業招收一些剛剛畢業的大學生或者非計算機專業的人員作為自己公司軟體測試工程師,這是非常錯誤的,也是對軟體測試不負責任的表現。雖然他們可以發現軟體中的一些錯誤,但是對於軟體中的一些關鍵,致命,危險的錯誤他們是很難發現的。大家都知道,軟體工程中有個模型叫瀑布模型,這是最基本的軟體模型,這個模型又叫碗狀模型,因為開發位於碗的最底部,左上方依次為建模,需求分析,設計;右上方依次為測試,部署,維護。這就是說明軟體開發是一切軟體活動的基礎,同時也是軟體測試的基礎。一個人只有經歷過一定年限的軟體開發工作,才可以積累豐富的經驗,知道在軟體中哪些地方容易出錯而那些地方不容易,這給以後的軟體測試工作帶來非常寶貴的經驗。  方法/步驟2:有逆向思維的能力  我曾經接觸過一些軟體測試工程師,他們幹了一段時間軟體測試工作後返回去又開始去做開發工作了,問他們為啥?答案是軟體測試工作太難了,開發是順向思維,而測試是逆向思維,老要找一些稀奇古怪的思路去操作軟體。軟體的使用者千差萬別,軟體在使用過程中遇到的各種現象也是千差萬別的,所以要求軟體測試工程師需要具有一些逆向思維的能力,想別人所不想,測別人所不測,這樣才可以找到更多的軟體中的錯誤。這是作為一名優秀的軟體測試工程師最基本的素質。  方法/步驟3:善於同軟體開發人員溝通  溝通是當今軟體專案中需要掌握的最關鍵技術之一。軟體測試人員要善於同軟體開發人員溝通,軟體測試人員與開發人員搞好關係,使測試人員不成為開發人員的眼中釘,這對於提高整個軟體專案質量是十分重要的。溝通主要包括:  討論軟體的需求,設計:通過這樣的溝通,你可以更好的瞭解所測試的軟體系統,以至於儘可能少的測試出軟體中不是錯誤的“錯誤”,從而降低給軟體開發人員帶來的壓力。  報告好的測試結果:作為一個測試人員,發現錯誤往往是測試人員最願意而且引以自豪的結果,但是一味地給開發人員報告軟體錯誤,會給他們造成厭惡感,降低整個軟體的質量和開發進度。所以作為一名軟體測試工程師,當你測試的模組沒有嚴重的錯誤或者錯誤很少的時候,你不妨跑到開發人員那裡告訴他們這個好訊息,這會給你帶來意想不到的結果。  討論一些與工作無關的事情:作為一個測試人員經常和開發人員討論一些與工作無關的事情,比如大家可以談談新聞,趣事,家庭…這樣可以加強相互間的默契程度,許多統計表明,這樣可以更好的提高軟體工作質量。  方法/步驟4:善於同領導溝通  測試人員往往是領導的眼和耳,領導根據測試人員的測試結果可以瞭解公司的產品質量,從而調整其他的工作。領導工作一般比較繁忙,所以作為一名優秀的測試人員要學會把測試結果進行總結,最好以圖表的形勢給領導看。  方法/步驟5:掌握一些自動化測試工具  測試工作往往是比較繁瑣,枯燥無味的工作,測試人員長期處於重複的手工工作,會降低測試效率,並且對於測試質量也往往是不利的;況且許多測試不使用測試工具是不可以進行的,比如效能測試,壓力測試等等。目前市場上有許多測試工具供你使用,你可以根據自己的需要選擇一些測試工具來輔助你的測試。但是要記住一點,不是說有了測試工具就不要人工測試了,測試工具不是萬能的。  方法/步驟6:善於學習的能力  軟體測試技術隨著時間的變化也在做一些提高和改進,作為一名優秀的測試人員要善於利用書籍,網站,論壇,交流等各種途徑不斷提高自己的軟體測試水平。  方法/步驟7:提高自己的表達能力  軟體測試人員當發現軟體中存在缺陷的時候,往往要書寫缺陷報告,缺陷報告要寫得詳盡清楚,使開發人員能夠儘快定位錯誤,修改錯誤,所以作為一名優秀的測試人員提高自己的寫作能力是非常必要的。  方法/步驟8:瞭解業務知識  更好的瞭解你說測試軟體的業務知識是非常重要的,對業務知識瞭解得越深入,越能夠找出更深入,更關鍵,更隱蔽的軟體錯誤。所以作為一名優秀的軟體測試工程師,要多向該領域專家,同行學習,提高自己的業務知識水平。  以上僅為個人的一些經驗所談,希望大家都能夠成為一名優秀的軟體測試工程師。

  • 8 # 程式猿陌小江

    測試屬於一個入門簡單、深入困難的職業入門的時候只要閱讀能力和表達能力沒有問題就可以了、按照其他測試人員編寫的測試用例、按照標準提交BUG就可以了深入之後要學習的知識會很多(我羅列出來了、大致就下面這些)1、計算機網路:這點不管是B/S還是C/S架構的都需要有所有了解2、作業系統:如果你坐C/S架構的測試會要求更高、作業系統就是一個平臺所以不能不會3、計算機硬體、同樣的如果你單純的做B/S測試、不涉及到C/S或者是效能測試的話 計算機硬體基本上不需要知道。但是當你要做效能測試或者是C/S架構的產品的時候計算機硬體的知識就是必不可少。4、資料庫:現在這個年代啥東西都要資料庫、所以不會就趕快去學吧、不需要很精通、但是最簡單SELECT/ UPDATE/INSERT INTO /DELETE這些語句總得自己會寫吧、檢視就算了5、編寫程式碼:如果想做到高階測試工程師會寫程式碼是必須得、如果只想混到中級的話就不需要了差不多就是上面這些了、祝您好運!

  • 9 # China圈中看世界

    從基礎知識入手,基礎的框架有了,加上熟練的操作。軟體測試過程也是一個熟能生巧的過程。你做的有了基礎知識,你做的多了自然就會掌握核心。

  • 10 # 星焱宖

    1、駕馭外物。比如說使用jemeter介面測試,loadrunner壓力測試,禪道管理專案,jenkins觸發流水線等,這階段是能夠對於專案的測試需求找尋合適的測試工具。

    2、程式碼能力。有句話說得好,對於測試而言,好的程式碼能力決定你能走到多高,好的溝通能力能決定你能走多遠。在公司裡到了一定level後其實都是需要比較強的程式碼能力,再或者有些工具並不能滿足你的測試要求,這時候就需要你自己動手寫一些測試工具、指令碼並給同組或者同部門使用。也能提升你的個人影響力 。比如手寫介面測試,使用python+pandas進行資料測試,selenium頁面自動化等等。

    3、風險把控。這個說著玄,說白了就是一種測試的感覺,安全性、魯棒性、拓展性、程式碼被修改了影響的風險點,其實要求你對專案、業務流程要特別熟悉,這樣當RD修改某模組你能從全域性找出風險點,及時丟擲來。更像一場遊戲裡面控制系英雄的角色,專案的進度、質量、效果其實都是一個好的測試工程師需要關注的。

    其實我覺得最重要的就是把專案當成自己的,不要把角色分的那麼清,只要對專案好,你就應該參與進去,不僅僅是測試。這樣才是好的測試工程師。

  • 中秋節和大豐收的關聯?
  • 有什麼東西是你小時候特別喜歡吃但是長大卻不敢吃的呢?