自動化測試目的和作用,自動化測試用例設計需要注意什麼?
一、瞭解自動化測試的目的和作用
自動化測試是為了讓測試人員從繁瑣重複的機械式測試過程中解脫出來,把時間和精力投入到更有價值的地方,從而挖掘更多的產品缺陷。目前自動化測試更多的是定位在冒煙測試和迴歸測試;冒煙測試執行的是主體功能點的用例。迴歸測試執行全部或部分的測試用例。它的主要目的在於驗證問題,而不是發現問題。所以對於自動化的設計,主要集中在功能正確性方面。
在自動化測試的流程中,其關鍵點在於自動化測試設計,包括測試用例設計、測試指令碼架構及測試組織。
下面主要講自動化測試用例的設計。
二、手工測試用例與自動化測試用例的區別
1、手工測試用例
a、能通過人為的邏輯判斷校驗當前步驟的功能實現是否正確。能較好的處理異常場景。
b、執行測試用例具備一定的跳躍能力。
c、人工測試可以步步跟蹤分析,能夠細緻的定位問題。
d、主要用來發現產品缺陷。
2、自動化測試用例
a、所有的判斷校驗都需要編寫指令碼來實現。
b、測試用例步驟之間需要關聯關係。
c、主要用來保證產品主體功能正確完整和讓測試人員從繁瑣重複的工作中解脫出來。
d、目前自動化測試階段定位在冒煙測試和迴歸測試。
三、自動化測試用例設計原則
自動化測試用例設計是決定自動化測試成敗的關鍵。
1、設計誤區
a、不編寫測試用例直接編寫測試指令碼。
b、直接拿手工測試用例來編寫自動化測試指令碼。
2、設計原則
a、測試用例是一個完整的場景。從使用者登入系統到使用者退出。
b、測試用例只驗證一個功能點。不要試圖使用者登入後驗證所有的功能點再退出。
c、測試用例儘量只做正向的邏輯驗證,正向是指指令碼可實現的而非主觀操作。逆向邏輯的情況很多,驗證比較複雜,需要編寫大量的指令碼,投入成本比較高。
d、測試用例之間不要產生關聯,也就是說每個測試用例是獨立,不能依賴或影響其他測試用例,要求高內聚低耦合。
e、測試用例需要更多的關注功能邏輯的實現,而不必糾結某些欄位的限制。
f、測試用例的上下文必須有一定的順序性,要能夠互相連線起來;並且前置條件要清楚。
g、測試用例中檢查點的設定(根據測試用例的側重點設定檢測點、設定檢測點要全面和設定檢測點要靈活)。
h、測試用例要對修改的資料進行還原操作。
i、測試用例必須是可迴歸的。
四、如何把手工測試用例和自動化測試用例相輔相成
1、自動化測試用例選型原則
a、不是所有的手工用例都要轉為自動化測試用例。
b、考慮到指令碼開發的成本,不要選擇流程太複雜的用例。如果有必要,可以考慮把流程拆分多個用例來實現指令碼。
c、選擇的用例最好可以構建成場景。例如一個功能模組,分n個用例,這n個用例使用同一個場景。
d、選擇的用例可以帶有目的性,例如這部分用例是用例做冒煙測試,那部分是迴歸測試等,當然,會存在重疊的關係。如果當前用例不能滿足需求,那麼唯有修改用例來適應指令碼和需求。
e、選取的用例可以是你認為是重複執行,很繁瑣的部分,例如欄位驗證,提示資訊驗證這類。這部分適用迴歸測試。
f、選取的用例可以是主體流程,這部分適用冒煙測試。
2、自動化測試用例轉型原則
a、當前的測試用例前置配置資訊要寫清楚。
b、每一個步驟都要銜接好,錯了,指令碼要丟擲異常。
c、每一個步驟要做什麼,驗證什麼要寫清楚,寫具體。有時一個檢查點,你只需看一眼,但是指令碼要寫一堆程式碼去驗證,這樣的做法是不可行的。
d、用例之間不要有關聯性,自動化測試開發同樣是軟體開發工程,指令碼編寫同樣提倡高內聚低耦合的理念。
e、不是每一個步驟都需要驗證點。
f、別在多個地方重複相同的驗證。指令碼很忙!我沒空。當然,除非有必要。
g、開門記得要關門,配置資訊要回歸原點,否則指令碼要迷路。
推薦閱讀: