做好功能測試需要的八項基本技能

本文轉自樂博學院公衆號--軟件測試資源共享

功能測試是測試工程師的基礎功,很多人功能測試還做不好,就想去做性能測試、自動化測試。很多人對功能測試的理解就是點點點,如何自己不用心去悟,去研究,那麼你的職業生涯也就停留在點點點上了。在這裏,我把我對功能測試的理解寫下來。

那麼,功能測試需要掌握哪些方面的技能?

一、  熟練使用SQL

1、常用的 sql 語句一定會寫。比如說增刪改查之類。

2、瞭解數據庫的事務、會編寫存儲過程、熟練常用的系統函數。

3、瞭解並可以進行數據庫的備份、遷移、還原、鏡像等操作

4、對 sql 語句進行調優,並對可以對運行的語句監控查看性能

5、瞭解數據庫集羣等操作。

二、 Linux

Linux是測試人員的基礎功,不需要掌握太難或者很不常見的Linux命令,正常能做到查看日誌,定位問題就可以了。

1、基本命令

常用的Linux基本命令,面試經常會問的,或者給出一種場景,問你用什麼命令。

2、查看日誌

初級測試人員在工作時經常遇到,發現bug,開發不承認或者不願意解決的情況,測試人員怎麼擺脫這樣的問題呢?那就是根據發現的bug根據日誌級別,來查看日誌,定位問題。

那這裏首先要說一下日誌級別了。首先記住這一點:日誌級別越高,輸出的信息越少 。

具體的日誌級別分爲四級:

info : 代碼 info 信息,不包括sql語句等一些debug信息

warning warning : 代碼警告信息

error : 程序本身報錯信息 java.lang.outindexERROR.....

critical :幾乎用不到

一般不符合需求的bug在 debug中,程序本身報錯的bug在 error中。

三、 使用數據庫,跟數據流向

1、數據庫的本質

常見數據庫主要是MAYSQL、ORECAL、Redis,其中Mysql數據庫是典型的關係型數據庫

2、數據庫操作

(1) 數據庫和表操作

(2)表數據操作

(3)複雜sql查詢

四、寫好測試用例

在測試過程中很重要的一類文檔,它是測試工作的核心、是一組在測試時輸入輸出的標準、是軟件需求的具體對照。編寫測試用例,是測試人員的基本功,但是真正能寫好的人並不多。

測試用例必須包含的內容:

用例編號、用例名稱、測試背景、前置條件、優先級、重要級、測試數據、測試步驟、預期結果、實際結果、備註。

1、測試用例的編寫流程

需求分析 --> 提取測試點  --> 測試用例編寫  --> 測試用例評審

2、編寫測試用例的思路

(1)根據產品的RPD,提取測試點。

(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、Confiuence等)一般都爲web格式

五、 http與https協議

面試經常關於Http協議的下面幾個問題

1、Http協議原理

2、http和http協議的區別

3、TCP和UDP的區別

4、session和token的區別

5、公鑰和私鑰的理解

6、get和post的區別

7、從輸入URL到頁面加載發生了什麼

8、什麼叫代理,正向代理和反向代理?

六、瞭解業務

做功能測試,一定要了解業務,甚至理解業務。只有把業務吃透,才能把功能測試做好,並且有一定的提高。業務熟悉後,會知道很多常識,知道下面的常識之後,你就可以嘗試進階,學習做自動化測試、接口測試、性能測試

1、什麼時候介入自動化 => 當你係統趨於穩定的時候

2、什麼時候介入接口測試  => 當接口開發完畢的時候

3、什麼時候介入性能測試 => 當出現促銷的時候,或者搶購的時候(618大促,過年搶火車票,搶優惠券)。比如說,5000張優惠券,大概有多少人搶,在多長時間內搶完。

七、 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編寫,測試人員需要了解一下測試報告中都有哪些內容。

八、 典型bug

1、抓包作用: 測試一個app搜索功能,抓包,抓到一個搜索接口,突然發現抓到了兩個請求接口 -> 當訪問量上來了,服務的壓力上升兩倍

2、數據流走向 : 測試時候發現頁面上數據只有一條,但是數據庫裏面多了一條 -> 1、數據量變大,查詢變慢 2、髒數據太多,瞬間爆滿,程序崩潰了

3、弱網測試:app項目一定要有弱網絡測試(模擬2g、3g、4g,wifi網絡狀態以及丟包情況);網絡切換測試(網絡斷開後重連、3g切換到4g/wifi 等)

總結下來,做好功能測試並不是一件容易的事情。我做了兩年的互聯網功能測試來,還是很多知識不明白,只有不斷的學習,自己才能成才。

很多人功能測試都做不好,就想做性能測試、自動化測試,其實是好高騖遠,我覺得基礎打好了,再去學習性能測試、自動化測試什麼什麼的,肯定事半功倍。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章