![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIyVGduV2YfNWawNiZpdmLxkDNyITNxQTM3ATNwEjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.gif)
第一自己根據已有的知識思考;
第二無果網上搜尋;
第三最後才找人詢問。
一、前言
功能測試是測試工程師的基礎功,很多人功能測試還做不好,就想去做性能測試、自動化測試。很多人對功能測試的了解就是點點點,如何自己不用心去悟,去研究,那麼你的職業生涯也就停留在點點點上了。在這裡,我把我對功能測試的了解寫下來。
二、功能測試所需要掌握的技能
2.1 熟練使用SQL
1、常用的 sql 語句一定會寫。比如說增删改查之類。
2、了解資料庫的事務、會編寫存儲過程、熟練常用的系統函數。
3、了解并可以進行資料庫的備份、遷移、還原、鏡像等操作
4、對 sql 語句進行調優,并對可以對運作的語句監控檢視性能
5、了解資料庫叢集等操作。
2.2 Linux
Linux是測試人員的基礎功,不需要掌握太難或者很不常見的Linux指令,正常能做到檢視日志,定位問題就可以了。
1、基本指令
常用的Linux基本指令,面試經常會問的,或者給出一種場景,問你用什麼指令。
2、檢視日志
初級測試人員在工作時經常遇到,發現bug,開發不承認或者不願意解決的情況,測試人員怎麼擺脫這樣的問題呢?
那就是根據發現的bug根據日志級别,來檢視日志,定位問題。
那這裡首先要說一下日志級别了。
首先記住這一點:日志級别越高,輸出的資訊越少 。
具體的日志級别分為四級:
info : 代碼 info 資訊,不包括sql語句等一些debug資訊
warning warning : 代碼警告資訊
error : 程式本身報錯資訊
critical :幾乎用不到
一般不符合需求的bug在 debug中,程式本身報錯的bug在 error中。
2.3 使用資料庫,跟資料流向
1、資料庫的本質
常見資料庫主要是MYSQL、ORECAL、Redis
其中Mysql資料庫是典型的關系型資料庫
2、資料庫操作
(1) 資料庫和表操作
(2)表資料操作
(3)複雜sql查詢
2.4 寫好測試用例
在測試過程中很重要的一類文檔,它是測試工作的核心、是一組在測試時輸入輸出的标準、是軟體需求的具體對照。編寫測試用例,是測試人員的基本功,但是真正能寫好的人并不多。
測試用例必須包含的内容:
用例編号、用例名稱、、測試目的、優先級、重要級、前置條件、測試步驟、預期結果、實際結果、備注。(不同的公司模闆不同,基本也差不多)
1、測試用例的編寫流程
需求分析->提取測試點->測試用例編寫->測試用例評審
2、編寫測試用例的思路
(1)根據産品的PRD,提取測試點。
(2)根據資料流的走向。
(3)根據的架構部署。
(4)編寫測試用例的常用方法:等價類劃分法、邊界值分析法、判斷表法、因果圖法、場景法、正交排列法、錯誤推斷法等方法(重點)。
(5)覆寫弱網測試、接口測試、安全測試、性能測試等。
(6)常用測試工具有:Postman、 Charles、 Fiddler 、Jemter、Loadrunner等。
3、編寫測試用例注意事項
(1)根據項目的實際情況設計測試用例表格
(2)用例格式不要生搬硬套
(3)根據具體情況編寫
(4)學會質疑需求,不要完全按照需求來寫測試用例,要從客戶和産品的角度來了解需求,看到需求之外的功能和體驗
4、管理測試用例
為什麼要管理測試用例?
(1)測試用例數目巨大
(2)測試用例會根據需求的改變而改變
(3)測試用例需要長期補充完善
如何管理測試用例?
(1)原始的Excel管理
(2)專業的項目管理系統(eg:git、禅道、JIRA等)一般都為web産品
2.5 http與https協定
面試經常關于Http協定的下面幾個問題
1、Http協定原理
2、http和https協定的差別
3、TCP和UDP的差別
4、sessiond和cookie的差別
5、公鑰和私鑰的了解
6、get和post的差別
7、從輸入URL到頁面加載發生了什麼
2.6 了解業務
做功能測試,一定要了解業務,甚至了解業務。隻有把業務吃透,才能把功能測試做好,并且有一定的提高。
業務熟悉後,會知道很多常識,知道上面的常識之後,你就可以嘗試進階,學習做自動化測試、接口測試、性能測試(重點)
1、什麼時候介入自動化 => 當你系統趨于穩定的時候
2、什麼時候介入接口測試 => 當接口開發完畢的時候
3、什麼時候介入性能測試 => 當系統出現高并發業務需求時, 比如促銷的時候,或者搶購的時候(618大促,過年搶火車票,搶優惠券), 設計相應的場景進行測試
比如說,5000張優惠券,大概有多少人搶,在多長時間内搶完
2.7 bug管理
做功能測試,還有個很重要的工作就是bug管理,一個優秀的的測試人員,線上bug非常多,多于和你一起工作的其他同僚,但是線上bug非常少,少于其他同僚。
1、 bug定義
(1)不符合需求的
(2)程式本身報錯
(3)不符合使用者的使用習慣
2、bug生命周期當我們測試人員送出一個bug的時候,自始bug就有它的生命周期。
3、bug單内容
Bug描述(summary)
環境資訊:作業系統/資料庫/浏覽器/軟體版本 (OS/Database/Project/Build/Release)
所屬功能子產品
測試/開發人員
嚴重等級(1-5)
客戶優先級
風險程度
狀态
重制步驟
實際結果
是否要回歸問題
等
4、測試報告
把測試的過程和結果寫成文檔,對發現的問題和缺陷進行分析,為糾正軟體的存在的品質問題提供依據,
同時為軟體驗收和傳遞打下基礎測試報告和測試計劃一樣,一般由測試leader編寫,測試人員需要了解
這裡給大家整理了一份《軟體測試工程師進階的技術棧》,包含了諸多技術棧,希望能幫助在更新打怪中提供中堅力量
給大家推薦下我自己建的軟體測試交流學習群: 902061117 ,群裡都是搞軟體測試的,如果你正在學習測試 ,小編歡迎你加入,大家都是測試黨,群内不定期分享幹貨(都是軟體測試相關的),包括我自己整理的一份2021最新的進階自動化資料。
這些資料,對于【軟體測試】的朋友來說應該是最全面最完整的備戰倉庫,這個倉庫也陪伴我走過了最艱難的路程,希望也能幫助到你
關注我的微信公衆号【傷心的辣條】免費擷取~
送上一句話:
世界的模樣取決于你凝視它的目光,自己的價值取決于你的追求和心态,一切美好的願望,不在等待中擁有,而是在奮鬥中争取。
如果我的部落格對你有幫助、如果你喜歡我的部落格内容,請 “點贊” “評論” “收藏” 一鍵三連哦!
好文推薦:
轉行面試,跳槽面試,軟體測試人員都必須知道的這幾種面試技巧!
測試崗反複跳槽,跳着跳着就跳沒了…
軟體測試人員該學習 Python 的七個理由
App公共測試用例梳理
面試經:一線城市搬磚!又面軟體測試崗,5000就知足了…
35歲之後軟體測試工程師靠什麼養家?我能繼續做測試!