軟體測試(功能、介面、效能、自動化)詳解

測試人生路發表於2020-12-22

一、軟體測試功能測試
測試用例編寫是軟體測試的基本技能;也有很多人認為測試用例是軟體測試的核心;軟體測試中最重要的是設計和生成有效的測試用例;測試用例是測試工作的指導,是軟體測試的必須遵守的準則。

黑盒測試常見測試用例編寫方法

1、等價類

選取少數有代表性的資料,這一類資料等價於這一類的其它值;找出最小的子集,可以發現最多的錯誤;特性:必須設計的用例;涵蓋了大部分情況;

2、邊界值

所謂邊界條件,是指輸入和輸出等價類中那些恰好處於邊界、超過邊界、或在邊界以下的狀態 ;特徵:選擇一個或多個元素,以便等價類的每一個邊界都經過了測試;與僅僅關注輸入條件不同,還需要考慮結果空間(輸出等價類)設計測試用例;

3、因果圖

輸入條件的組合進行分析。用一個系統的方法選擇出高效的測試用例集;

分析思路:

a、分析規格說明描述,確定原因和結果,並賦予識別符號;

b、分析規格說明語義,找出原因與原因之間,原因與結果之間關係,畫出因果圖;

c、有些原因與原因之間,原因與結果之間組合不會出現,用記號表明約束或限制條件;

d、因果圖轉換為判定表;

e、判定表的每一列作為依據,設計測試用例;

4、判定表驅動法

分析和表達多邏輯條件下執行不同操作的情況的工具 ;略過因果圖的繪製,直接列出所有組合進行篩選;

5、正交實驗法

利用因果圖來設計測試用例時, 輸入原因與輸出結果之間的因果關係,有時很難從軟體需求規格說明中得到;往往因果關係非常龐大,以至於測試用例數目巨大,為了有效地、合理地減少測試的工時與費用,可利用正交實驗設計方法進行測試用例的設計。

6、功能圖法

一個程式的功能包括靜態和動態說明。動態說明描述輸入資料的次序或轉移的次序,和業務流程緊密對應。靜態說明描述了輸入輸出條件之間的對應關係。對於面向市場的產品,其邏輯複雜、組合龐大,必須用動態說明來補充功能說明。 功能圖設計方法:功能圖方法使用功能圖形象地表示程式的功能說明,並機械地生成功能圖的測試用例。我們在不同文件中看到的“狀態遷移圖”、“流程圖”、“選單樹”,在一定程度上都是功能圖的不同表現,不同測試人員可能對具體方法的使用稍有不同。

7、場景實驗法

現在的軟體幾乎都是用事件觸發來控制流程的,事件觸發時的情景便形成了場景,而同一事件不同的觸發順序和處理結果就形成事件流。該方法可以比較生動地描繪出事件觸發時的情景,有利於測試設計者設計測試用例,是測試用例更容易理解和執行。

8、錯誤推斷法

基於經驗和直覺推測程式中所有可能存在的各種錯誤,從而有針對性的設計測試用例的方法;更多的與使用者的使用習慣及測試程式中的常見問題為主。

9、需求轉化

根據需求,執行需求分析,並編寫測試用例。

10、設計文件

參照設計文件,可以理解軟體系統內部設計流程及處理機制,對比寫好的測試用例,可以在對應功能及模組處新增;

11、探索式測試

無限創意的測試點,永無止境的探索測試;我們要在測試的最前沿發揮洞察力、技術及應變措施,找出產品的缺陷;

二、軟體測試介面測試
1、什麼是介面測試?

介面測試是測試系統元件間介面的一種測試。介面測試主要用於檢測外部系統與系統之間以及內部各個子系統之間的互動點。測試的重點是要檢查資料的交換,傳遞和控制管理過程,以及系統間的相互邏輯依賴關係等。

2、為什麼要做介面測試?

a) 如今的系統複雜度不斷上升,傳統的測試方法成本急劇增加且測試效率大幅下降,介面測試可以提供這種情況下的解決方案。

b) 介面測試相對容易實現自動化持續整合,且相對UI自動化也比較穩定,可以減少人工迴歸測試人力成本與時間,縮短測試周期,支援後端快速發版需求。介面持續整合是為什麼能低成本高收益的根源。

c) 現在很多系統前後端是分離的,從安全層面來說:

1)、只依賴前端進行限制已經完全不能滿足系統的安全要求(繞過前面實在太容易), 需要後端同樣進行控制,在這種情況下就需要從介面層面進行驗證。

2)、前後端傳輸、日誌列印等資訊是否加密傳輸也是需要驗證的,特別是涉及到使用者的隱私資訊,如身份證,銀行卡等。

3、如何做介面測試

a、根據後端開發提供的介面測試文件進行介面測試驗證

如圖:
在這裡插入圖片描述
然後根據介面文件輸入url,引數,檢視響應是否正確

在這裡插入圖片描述

b、在沒有介面文件的情況下,使用抓包工具進行介面資料抓取,抓包工具:fiddler

三、軟體測試效能測試
1、效能測試領域分析

根據對專案背景,業務的瞭解,確定本次效能測試要解決的問題點;是測試系統能否滿足實際執行時的需要,還是目前的系統在哪些方面制約系統效能的表現,或者,哪些系統因素導致

系統無法跟上業務發展?確定測試領域,然後具體問題具體分析。

2、使用者場景剖析和業務建模

根據對系統業務、使用者活躍時間、訪問頻率、場景互動等各方面的分析,整理一個業務場景表,當然其中最好對使用者操作場景、步驟進行詳細的描述,為測試指令碼開發提供依據。

3、確定效能目標

前面已經確定了本次效能測試的應用領域,接下來就是針對具體的領域關注點,確定效能目標(指標);

比如:

①登入請求到登入成功的頁面響應時間不能超過2秒;

②報表稽核提交的頁面響應時間不能超過5秒;

③檔案的上傳、下載頁面響應時間不超過8秒;

4、效能測試指令碼的編寫

效能測試工具:loadrunner、jmeter

這裡使用jmeter,因為loadrunner安裝包太大不夠輕便。

jmeter效能測試,就是通過介面對伺服器進行高併發訪問的,所以指令碼的編寫的就和介面測試的時候差不多,輸入url,引數等,

在這裡插入圖片描述

四、軟體測試自動化測試
1、ui自動化測試

a、web端ui自動化測試、一般是使用python+selenium,定位頁面元素然後通過瀏覽器驅動,模擬人進行頁面操作,實現web端ui自動化測試

b、移動端ui自動化測試、一般是使用python+appium,通過呼叫Android的jdk,獲取app頁面元素,模擬人進行app操作,實現移動端ui自動化測試

2、介面自動化測試

介面自動化測試一般使用的是python+requests,或者httpx。這裡博主使用的requests,因為比較簡單。簡單的例子,如圖:

在這裡插入圖片描述

相關文章