軟體測試系統學習流程和常見面試題

测试人生路發表於2020-11-23

在學習軟體測試的時候你是否會感覺到不知從何下手?

今天教導你們軟體測試學習的系統流程和麵試常見的問題。
學習流程
一、必備技能

  1. 程式設計基礎,能看懂前端頁面,掌握一門語言:php/python/java 等

2.資料庫知識,建議準備好 sql 語言,能掌握高階查詢使用基本可以應對了。

3.軟體測試理論,這個大家都不陌生,也是必考的了,應該可以輕鬆應付。要注意準備下 web 和 app 測試和效能測試這塊,現在做 web、app 和微信小程式的公司好多。

4.根據公司具體的職位要求可以準備的有 linux 的命令,CMMI 的基礎知識,TCP/IP 的基礎知識等。
二、學習流程

1.功能測試學習

功能是軟體測試最基礎最本質的工作,就和地基一樣,所以功能測試基礎一定要打好。在瞭解基礎的功能測試的時候可以看一看《軟體測試的藝術》這本書對才學習軟體測試的人真的很有用。

2.介面測試

介面是前後端資料互動的通道,介面測試也是測試中很重要的一部分,介面測試的學習包括測試工具的學習:apipost、jmeter、loadrunner 等。通訊協議,http 協議也需要重點學習,推薦看一下《圖解網路 - 小林 coding》,可以幫助我們基礎瞭解網際網路通訊,前端如何傳遞資料到後端。

3.效能測試

效能測試一般是介面測試的一部分,透過介面對伺服器進行的測試,檢視伺服器各種數值,效能測試包括很多分類測試注重點也不一樣,如:壓力測試、負載測試、穩定姓測試等。

4.自動化測試

自動化測試可以分為:介面自動化測試和 ui 自動化測試。

學習自動化測試,需要掌握一門語言,php/python/java 等。介面自動化測試要掌握 requests 框架,ui 自動化測試需要掌握:web 端需要掌握 selenium、app 端需要掌握 appium。

5.Linux 作業系統

學習 Linux 作業系統是為了自己部署測試環境,方便於自己測試。學習好 Linux shell 語句也很重要,學習書籍可以看看《鳥哥的 linux 私房菜》。

6.前端、後端和資料庫語言

能夠看懂前端頁面,知道前端頁面是如何編寫出來的,ajax 傳值的方法,後端會一門後端語言,php/python/java 等。會資料庫基本的 sql 語句的編寫。
常見面試題
一、功能測試

1.說說你以前公司的測試流程。必答題。主要結合自己的專案經驗相信講一個自己做過的專案,從立項到測試結束,當然側重測試和自己所做的內容。這裡面試官一般都會根據你說的再提問。

2.功能測試主要有那些測試方法?

等價類劃分、邊界值、因果圖劃分、正交、場景、隨機、錯誤推斷、測試大綱

A:等價類劃分法: : 1:有效等價類: 2:無效等價類:

案例:比如一個登陸輸入框,規定只能輸入中文,同時長度為 6-10,

透過等價類設計測試用例:

測試用例中重要的三步: 輸入 操作 預計結果 如果與預期結果不符合就是 bug

有效等價類: 輸入:輸入長度為 6 的中文,輸入的為王小明,這就是有效等價類

無效等價類:

1: 輸入長度為 4 的中文,輸入位小名,點選登入,預計結果長度不符合要求

2: 輸入長度為 6,但是是英文的,點選登入,預計結果 請輸入中文

3: 輸入長度為 4,而且不是中文的,是數字,1234,點選登入,預計結果請輸入中文並且長度為 6-10 位

4:輸入長度為 12 而且不是中文的,比如 qwertyuiopas,點選登入,預計結果請輸入中文並且長度為 6-10 位

B:邊界值法:

應用場景:邊界值往往和等價類劃分法一起使用,形成一套更為完善的測試方案,找到有效資料和無效資料的分界點,

註解邊界值一般和有效等價類劃分法配合使用:

案例:比如一個登陸輸入框,規定只能輸入中文,同時長度為 6-10,

上面輸入框的邊界的:如果固定大於等於 6,並且小於等於 10,

那左邊界就是 5 和 6

右邊界是:10 和 11

測試用例:

1:輸入的為王小明,這就是有效等價類和邊界值的結合使用

2:輸入小名,這就是邊界值為 5,同時有效等價類

3:輸入歐陽致遠家,這就是邊界值 10,同時等價類有效

4:輸入歐陽致遠啦啦,這就是邊界值為 11,同時有效等價類

C:因果圖及判定表法:

應用場景:在一個介面中有多個控制元件,如果控制元件之間有組合關係或者限制關係,不同的控制元件組合會產生不同的輸入結果,為了弄清楚不同的輸入組合會產生咋樣的輸出結果,可以使用因果圖及判定表法:

判斷是兒童還是青年還是成年人:

條件 1:年齡 age

條件 2:身高 height

條件 3:體重 weight

輸入年齡 5,體重 80 公斤,身高 170,查無此人

輸入提高 80,身高 170,輸入年齡 20,成年人

輸入年齡 5,體重 30,身高 60,小孩

D:正交表:

應用場景:在一個介面中有多個控制元件,每個控制元件有多個取值,測試時考慮不同的控制元件不同取值之間的多種組合,但組合數量巨大(>20 種,20 種以下一般考慮判定表因果圖),沒有必要全部測試,如何從所有的組合中挑選最少、最優的組合進行測試,可以使用正交排列法。

正交表的測試思想特點:

1)使用每個控制元件的每個取值參與組合的次數是基本相等的(均勻的)

2)在所有的組合資料中,選取資料時,應該均勻的選取,而不能從區域性選取。

3)如果時間允許,儘可能的多測一些組合

正交表:主要針對一個輸入框裡面可能有多個值,而且數量巨大

年齡 體重 省 市 縣

比如:輸入年齡 18,體重 45,山西 大同 陽高

E:測試大綱法

適用場合:程式包含多個視窗,每個視窗中又有多個功能,這些功能之間又有一定的聯絡。為了梳理清楚視窗之間以及視窗不同功能之間的聯絡,使用測試大綱法。

F:場景法

適用場合:大多數的業務比較複雜的軟體系統都適合使用場景法(便於將各個功能點串起來,便於形成完整的業務感覺)是一種基於軟體業務的測試方法,把自己當成終端使用者,儘可能的模擬使用者在使用此軟體的操作

案例:

場景一:比如買東西:輸入襪子,點選查詢,出現列表,點選七匹狼,點選進入詳情,點選加入購物車,點選去購物車結算,點選收穫地址,點選支付,支付成功

場景二:比如買東西:輸入襪子,點選查詢,出現列表,點選七匹狼,點選進入詳情,點選加入購物車,點選去購物車結算,點選收穫地址,點選取消支付

G: 錯誤推斷法

基於經驗和直覺推測程式中所有可能存在的各種錯誤 , 從而有針對性的設 計測試用例的方法

在進行灰盒測試的時候經常用到此方法

H:隨機測試

隨意測試,不考慮任何用例和需求,完全站在一個使用者或者的角度對產品進行使用。

適用場景:

1)所有之前設定的用例已經 執行完畢

2)海量的條件組合無法一遍 歷的時候

二.效能測試和介面測試

1.一般使用什麼效能測試和介面測試工具

效能測試:jmeter、loadrunner

介面測試:apipost、postman
ApiPost - 可直接生成文件的 API 除錯、管理工具​

2.如何進行介面測試,介面測試需要注意那些方面

透過 apipost、postman 等工具,根據介面文件,輸入請求方法 get、post 等方法,輸入 url,輸入需要傳遞的引數,然後檢視響應是否符合介面文件所顯示的。需要注意 json 響應中的引數的型別等

3.效能測試具體指什麼

指驗證軟體的效能可以滿足系統規格給定的指定要求的效能指標。效能測試是一個比較大的範圍,可以進一步衍生出負載測試、強度測試、壓力測試、穩定性測試。透過自動化測試工具模擬多種正常、異常、峰值條件,對系統各項效能指標測試

4.什麼是壓力測試

壓力測試方法測試系統在一定飽和狀態下,例如 cpu、記憶體在飽和使用情況下,系統能夠處理的會話能力,以及系統是否會出現錯誤。測試出系統所能承受的最大極限。是指系統在極限下的壓力情況,系統在什麼樣的壓力下會導致系統得到失效,無法正常執行。100 個使用者連續訪問 1 小時可以看做是壓力測試,連續訪問 10 小時可以認為是負載測試

三.自動化測試

1.自動化測試指什麼

ui 介面自動化和介面自動化

ui 介面自動化:透過程式碼模擬人對程式進行的操作

介面自動化;透過程式碼實現大批次介面測試

2.自動化測試一般使用什麼工具

web 測試:python+selenium+ 瀏覽器驅動

app 測試:python+appium

相關文章