現在正在做測試,發現人們對測試非常輕視,究其原因就在於測試入門的門檻太低了,導致人們認為測試僅僅會點頁面。
一頁面功能測試技能:
1、按照產品給的需求文件,原型圖,UI圖完成測試用例,完成測試用例你要用到:等價類劃分、邊界值分析法、錯誤推測法、因果圖方法、判斷表驅動法、正交試驗法、功能圖法;同時你要分析業務邏輯,使用者操作場景,異常場景,關聯業務等。
2、執行用例:根據測試階段,程式碼改動,環境等挑選相關用例執行;執行過程中要了解:linux簡單命令:ls,cat,tail,cd等,用來看後臺日誌,是否有前臺雖然正常展示,但後臺已經拋異常;要了解sql的增刪改查,以便造資料、查詢資料;要了解業務相關操作對資料庫的操作,新增操作入了哪些表,有哪些關鍵資料,哪些狀態資料,更改操作入了修改了哪些表的哪些欄位,以及欄位對以後業務的影響;bug中問題描述,步驟,抓包,日誌等,sql是絕對的重點。
3、測試報告:不是所有公司都會發測試報告,但是測試一定要了解自己測試的業務,測試過程中是否發現風險,例如:某些操作會大量寫表,某些操作會需要程式進行批量處理,有關聯的定時任務執行順序、時間長短造成的銜接問題等。
二介面功能測試技能(和功能部分重複部分就不提及了):
1、第一步就是網路協議,認識相關協議:soup,http,https,rpc,ftp,ssh,telnet等常用網路協議。
2、抓包工具:fiddler,Wireshark,burpsuite等工具。
3、介面工具,soupUI,postMan,java語言呼叫(httpclient jar 包,jmeter jar包),python語言呼叫(requests庫)。
三自動化測試:
1、分類:UI功能自動化,介面自動化,介面引數化。
2、語言:是的語言,語言,永遠是程式語言,不會任何一門語言請不要說自己是測試。至少會一門主流語言:python,java,c++。
3、除錯能力:其實還是語言,前端的斷點,後端斷點。斷點除錯真的很笨,很費時間,但真的是最有效的,最基礎的。
4、分析設計:分析改動不頻繁,後期維護成本不是特別高的相關業務做自動化;設計相關測試用例,注意要做到儘量還原使用者操作。
5、部署能力:如果你已經會自動化,請嘗試搭建部署測試環境。
四效能測試,你不能僅僅會操作:
1、軟體:loadrunner,jmeter等軟體的熟練操作,及測試報告的解讀,細節細節一定注意細節,瞭解細節的才能更好的發現報告中指示的問題,別非專業人士提問時,才不至於尷尬(之前我就尷尬過)。
2、程式語言:是的又是語言,指令碼的編寫是用語言完成的,因為軟體總是有自身的侷限性,而我們自己的系統總有自己的特殊性,比如jmeter呼叫dubbo介面,列印日誌,特殊的斷言方式,特殊的請求方式,這些是需要自己寫程式碼完成的(抱歉我僅僅熟悉jmeter,所以就不介紹loadrunner了)。
3、更深入的瞭解linux:天哪測試要了解這個,是的,因為系統配置絕對會影響測試結果,你要監控系統的cpu,記憶體,磁碟讀寫,網路等諸多情況。
4、各種演算法,資料結構:更加的深入,如果開發一時之間無法找出效能問題的所在,你要親自動手,分析他的程式碼的演算法,資料結構,甚至於修改程式。
5、各種輔助工具:輔助工具做什麼,幫你瞭解程式記憶體暫用,判斷記憶體溢位,cpu暫用過高,讀寫資料庫,網路長短連線等情況。
6、中介軟體,資料庫使用調優:包括但不限於:tomcat,nginx,node,apache,mysql,redis,oracle,memcached等等。
五關於敏捷一點理解:
1、什麼是敏捷開發:快速的開發,好像是句廢話,好吧說說快速,快速體現在:團隊成員互相間對彼此進度的瞭解,以便做出下一步判斷,如何能配合著儘快完成任務。
2、持續整合與持續交付(CI 與 CD):CI,要在完成一定任務量後立即做整合,保證程式碼不報錯,可測試;CD,完成CI後測試後的版本可釋出,比如大的版本上線,由於當天的版本並不理想,但前一天的版本可能未完成某些小的功能,但是是可交付的,所以CI後進過測試的程式碼,即可CD。
3、在敏捷中測試重要的作用是保證CD,同時嚴格要求開發CI前做好自測,前後端不自測的程式碼,提交後很肯能就變成了聯調測試,我們要的應該是繼承測試,我們應該在保證質量的同時儘快進度。
4、所有的敏捷建立在瞭解之上,互相之間瞭解彼此的能力,才能更好的合作,知道把任務分配給誰,才能快速高質量完成,這是一種默契,需要時間磨合。