功能測試多年的總結心得

自動化測試老莫 發佈 2022-07-01T03:52:47.395815+00:00

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

一、前言

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

二、功能測試所需要掌握的技能

2.1 熟練使用SQL

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

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

3、了解並可以進行資料庫的備份、遷移、還原、鏡像等操作

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

5、了解資料庫集群等操作。



2.2 Linux

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

1、基本命令

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

具體請看:HTTPS://www.cnblogs.com/bianfengjie/p/9213180.html

2、查看日誌

初級測試人員在工作時經常遇到,發現bug,開發商不承認或者不願意解決的情況,測試人員怎麼擺脫這樣的問題呢?

那就是根據發現的bug根據日誌級別,來查看日誌,定位問題。

那這裡首先要說一下日誌級別了。

首先記住這一點:日誌級別越高,輸出的信息越少 。

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

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

warning warning : 代碼警告信息

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

critical :幾乎用不到

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

2.3 使用資料庫,跟數據流向

關於資料庫,請見另外一篇博文。

1、資料庫的本質

常見資料庫主要是MAYsql、ORECAL、Redis

其中Mysql資料庫是典型的關係型資料庫

2、資料庫操作

(1) 資料庫和表操作

(2)表數據操作

(3)複雜sql查詢

2.4 寫好測試用例

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

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

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

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格式

具體參考:https://blog.csdn.net/sdr_zd/article/details/70453027?locationNum=6&fps=1

2.5 http與https協議

關與HTTP和HTTPS協議,請點擊:https://www.cnblogs.com/bianfengjie/p/9213131.html

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

1、Http協議原理

2、http和http協議的區別

3、TCP和UDP的區別

4、session和token的區別

5、公鑰和私鑰的理解

6、get和post的區別

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

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

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)

客戶優先級

風險程度

狀態

重現步驟

實際結果

是否要回歸的問題

具體參考:https://blog.csdn.net/ewq159/article/details/79500546

4、測試報告

把測試的過程和結果寫成文檔,對發現的問題和缺陷進行分析,為糾正軟體存在的質量問題提供依據,

同時為軟體驗收和交付打下基礎測試報告和測試計劃一樣,一般由測試leader編寫,測試人員需要了解一下測試報告中都有哪些內容

2.8 典型bug

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

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

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

三、小結

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

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


感謝每一個認真閱讀我文章的人!!!
如果下面這些資料用得到的話可以直接拿走:
1、自學開發或者測試必備的完整項目源碼與環境
2、測試工作中所有模板(測試計劃、測試用例、測試報告等)
3、軟體測試經典面試題
4、Python/Java自動化測試實戰.pdf
5、Jmeter/postman接口測試全套視頻獲取
我個人整理了我這幾年軟體測試生涯整理的一些技術資料,包含:電子書,簡歷模塊,各種工作模板,面試寶典,自學項目等。如果在學習或工作中遇到問題可以直接進群詢問,群里也會有大神幫忙解答,需要的就可以私我謝謝

關鍵字: