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