一進公司,看見門外有幾個帶著行李在外面等待的人,應該就是來入職的,果不其然,在進公司后,召開了新人見面會,讓他們做了自我介紹和職業規劃以及部門,令我印象最深刻的就是一個剛剛從騰訊離職出來的,薪資已經達到中等水平,很多人都好奇不已,能拿到這個薪資應該人不簡單,果然,自我介紹的時候都驚訝到我們了,讓我見識到了什么叫真正的軟體測驗天花板…
自動化測驗、測驗開發、高并發張口就來,著實驚訝到我們了,一問原來是在前公司跟領導有矛盾,待不下去才離職,來我們公司面試時領導一下就看中了,問了一些問題嘮嗑后就通過他了,果然人有能力就是不一樣,在哪里都發光!!!
在和他徹夜聊過后,整理出來一份他測驗生涯整理的一些知識及技術分享,希望能對你們有一點幫助!

初級軟體測驗工程師專業技能儲備**
1)了解計算機以及軟體測驗相關的基礎知識
a.計算機基礎知識
計算機組成部分,作業系統分類,常見的系統架構(B/S和C/S),常用的DOS命令
b.軟體測驗基礎理論知識
軟體測驗的目的、定義、原則,產品質量模型,軟體測驗的基本流程
2)常用的Linux命令
在軟體測驗中,有時候需要我們自己去搭建測驗環境,或者是在服務器部署自動化專案,而服務器基本都是使用Linux系統的,所有我們需要掌握一些基礎的Linux命令
3)SQL陳述句
在軟體測驗中,測驗結果的校驗或者自動化中的測驗資料準備,都會操作資料庫來完成,所以對于資料庫的最基本的增、刪、改、查的SQL陳述句,需要能夠獨立完成撰寫
4) 手工測驗用例的撰寫(最重要)
作為一個軟體測驗工程師,最基本的要求就是用例撰寫的能力,如何撰寫出一份高覆寫率,低重復率的測驗用例,是初入軟體測驗行業應該去不斷追求的能力,
5 ) 缺陷的管理
了解在團隊中,如何管理測驗人員提出的BUG,從而保證專案的BUG能夠及時被修復
掌握以上的技能,對于一個初入軟體測驗行業的同學而言,就肯定可以站穩腳跟了,
中級軟體測驗工程師專業技能儲備
1、介面測驗相關專業技能
無論是自動化測驗還是性能測驗,甚至之后往測驗開發方向發展,最基礎的就是針對介面進行測驗,所以要想做好中級軟體測驗工程師,第一步就是能夠完成介面測驗,
1)介面以及介面測驗相關的理論基礎知識
包括介面及介面測驗的概念,介面測驗的原理,介面測驗的流程,http協議,Restful介面風格,這些內容都需要有所了解
2)介面工具的使用:Postman和Jmeter
介面測驗,可以使用代碼,也可以使用工具,通常情況下,介面測驗最多還是使用工具來完成.原因無他,“高效”,
3)抓包工具:Fiddler和Charles
在測驗程序中,我們為了定位前后端的問題,就會使用抓包工具,查看介面回傳的結果,從而定位問題是前端的,還是后端的,
這兩個工具,我們一般二選一去學習就可以了,因為他們的作用都是一樣的,
2 . 編程語言學習
自動化測驗的實作方式,主要還是依賴代碼來完成的,所以要能進行自動化測驗,首先需要掌握一門編程語言,目前行業主流的自動化測驗的編程語言為python和java,我個人推薦python,因為對于新人而言,上手的難度比較低一些,如果可以全天學習,python也就差不多10天就能入門
3、自動化測驗學習
Python學完以后,我們就可以開始自動化測驗方面的學習,
自動化測驗的目的,主要還是為了降低回歸測驗的時間,
軟體測驗中的自動化測驗,分為UI自動化和介面自動化,
通過以上的學習之后,我們再來看你具備哪些能力?
SQL陳述句,Linux常用命令
手工測驗用例的撰寫以及缺陷的管理
使用抓包工具進行前后端問題定位
使用Postman或Jmeter進行介面測驗
使用Python進行介面/UI自動化測驗
高級測驗工程師需要掌握的知識點
這一階段你需要加寬你的知識體系,同時更加深入的了解前段進階,代碼質量,測驗架構,微服務及中間件,容器化,自動化測驗設計,測驗架構,CI/CD,測驗左移,測驗階段,測驗右移,
測驗開發和研發崗的區別,其中一點就是研發更注重深度,而測開更注重廣度,
比如:你要了解CI/CD,因為你做的測驗平臺/工具,可能需要接入到CI/CD的流水線,或者運維的監控系統中
再比如:你做性能測驗的時候,如果你對架構設計的核心知識不了解,那么在做全鏈路壓測,服務降級等測驗的時候,可能就會遇到很多問題難以解決,
找到一份測驗開發JD來對照,也可以看到這個崗位對中間件,性能測驗,私有化平臺都有了解,

除了加寬你的知識體系,還需精進你的代碼能力,
簡而言之,大廠Java用的多,如果你想去大廠,基本上就得熟悉Java,不然面試很容易被pass掉,
第三點:面試題
這里把位元組跳動等大廠經常問的那些題目進行了綜合性的搜集整理(含答案決議),
從理論基礎,Linux 基礎,MySQL 基礎到Web 測驗,介面測驗,App 測驗,以及性能測驗,各大廠面試真題的全面分析,由于技術涵蓋比較多,可能不會全部列舉出來,需要完整資料的朋友,可以關注公眾號:豆子熊,自行獲取,
測驗理論:
軟體測驗的目標
發現盡可能多的錯誤,測驗是一個為了尋找錯誤而運行程式的程序,
一個好的測驗案例是指很可能找到迄今為止尚未發現的錯誤的用例,
一個成功的測驗是指揭示了迄今為止尚未發現的錯誤的測驗,
軟體都有多少種分類?
根據功能的不同,電腦軟體可以粗略地分成四個層次:
最貼近電腦硬體的是一些小巧的軟體,它們實作一些最基本的功能,通常“固化”在只讀存盤器芯片中,因此稱為韌體,
系統軟體包括作業系統和編譯器軟體等,系統軟體和硬體一起提供一個“平臺”,它們管理和優化電腦硬體資源的使用,
支持軟體,包括圖形用戶界面、軟體開發工具、軟體評測工具、資料庫管理系統、中間件等,
應用軟體種類最多,包括辦公軟體、電子商務軟體、通信軟體、行業軟體,游戲軟體等等,

Linux 基礎
在 Linux 系統中,一個檔案的訪問權限是 755
755 表示該檔案所有者對該檔案具有讀、寫、執行權限,該檔案所有者所在組用戶及其他用戶對該檔案具有讀和執行權限,
如何查看一個檔案的末尾 50 行?
查看/etc/profile 的前 10 行內容,應該是: # head -n 10 /etc/profile
查看/etc/profile 的最后 50 行內容,應該是: # tail -n 50 /etc/profile

MySQL 基礎
什么是資料庫?
資料庫(Database)是按照資料結構來組織、存盤和管理資料的倉庫
什么是關系型資料庫,主鍵,外鍵,索引分別是什么?
關系型資料庫是由多張能互相聯接的二維行串列格組成的資料庫
主關鍵字(primary key)是表中的一個或多個欄位,它的值用于唯一地標識表中的某一條記錄
外鍵表示了兩個關系之間的相關聯系,以另一個關系的外鍵作主關鍵字的表被稱為主表,具有此外鍵
的表被稱為主表的從表,外鍵又稱作外關鍵字
在關系資料庫中,索引是一種單獨的、物理的對資料庫表中一列或多列的值進行排序的一種存盤結構,
它是某個表中一列或若干列值的集合和相應的指向表中物理標識這些值的資料頁的邏輯指標清單

Web 測驗
nginx,tomcat,apache 都是什么?
Nginx (engine x) 是一個高性能的 HTTP 和反向代理服務器,也是一個 IMAP/POP3/SMTP 服務器,
Apache HTTP Server 是一個模塊化的服務器,源于 NCSAhttpd 服務器
Tomcat 服務器是一個免費的開放源代碼的 Web 應用服務器,屬于輕量級應用服務器,是開發和除錯JSP 程式的首選,

介面測驗
什么是介面
介面是指外部系統與系統之間以及內部各子系統之間的互動點,
包括外部介面、內部介面,內部介面又包括:上層服務與下層服務介面、同級介面,
如果模塊請求 http 改為了 https ,測驗方案應該如何制定,修改?
分別用 http 還有 https 登錄試試,如果用 https 可以正常登錄,地址欄顯示一把鎖頭,那么這個網站是有部署 SSL 的,如果 http 和 https 都能夠正常登錄,進一步說明該網站沒有設定強制 https 登錄,或者說沒有設定 http 鏈接自動跳轉 https 鏈接;相反如果用 http 登錄,結果跳轉到 https 頁面,說明網站部署了 SSL, 而且設定了 http 自動跳轉 https,

App 測驗
什么是 Android 四大組件?
Android 的四大組件包括:Activity、Service、BroadcasReceiver、ContentProvider


由于內容過多,就不在這里就不把所有的知識點內容列舉出來,有需要的可以關注公眾號:豆子熊,免費獲取!
以上希望能幫助到你,也希望大家都能找到合適的作業,不留遺憾!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/395044.html
標籤:其他
下一篇:homework2
