? ? ? ?AC(Acceptance Criteria阿宅,驗收準則)和TC(Test Cases候衍,測試用例)兩者既有區(qū)別,又有聯(lián)系洒放。在實際應用中蛉鹿,我們常常混淆兩者的概念拉馋,下面筆者將根據(jù)自己的理解來說說兩者間的關系榨为。
? ? ? ?1惨好、什么是AC煌茴?
? ? ? ?AC全稱Acceptance Criteria,又名“驗收準則”日川,是敏捷測試中user story(用戶故事)的重要組成部分蔓腐。AC是針對user story內(nèi)容的說明和解釋,是根據(jù)user story的闡述制定的驗收標準龄句。AC初稿由BA(Business Analyst回论,業(yè)務分析師)根據(jù)客戶的需求來編寫,需user(用戶)分歇、BA傀蓉、QA(Quality Analyst,質量分析師)和DEV(Developer职抡,開發(fā)人員)共同review葬燎。每一條AC都應體現(xiàn)出業(yè)務價值,是story的功能集,是story交付時必須滿足的一組條件谱净。
? ? ? ?2窑邦、什么是TC?
? ? ? TC是Test Cases(測試用例)的縮寫壕探。與AC不同的時冈钦,TC主要由測試人員根據(jù)AC來編寫,BA李请、QA和測試人員一起review瞧筛。從開發(fā)流程來講,TC應該是story交付前必須執(zhí)行的測試导盅;從內(nèi)容上來說驾窟,TC是AC的具體實現(xiàn),應該比AC更將詳細认轨,必須包括AC的所有內(nèi)容绅络。此外,TC還應包括很多異常測試用例嘁字,以確保系統(tǒng)對異常能正確的處理恩急。
? ? ? 總結所述,AC和TC的包含關系主要如下圖所示:
? ? ? 通常纪蜒,AC(Acceptance Criteria衷恭,驗收準則)的編寫會使用Given-(and)-When-(and)-Then的格式。Given表示前置條件纯续,When描述測試步驟随珠,Then表示執(zhí)行結果。
? ? ? ?比如編寫某個郵箱aaa發(fā)送郵件功能的AC1:作為一個aaa郵箱普通用戶猬错,我想要編寫郵件發(fā)送給我的朋友Jerry窗看,郵件發(fā)送成功。轉換為Given-(and)-When-(and)-Then的描述方式如下:
Scenario 1:收件人地址正確倦炒,郵件發(fā)送成功
Given 普通用戶userA登錄aaa郵箱成功
When 用戶userA編寫郵件显沈,郵件內(nèi)容不為空
? ? and 在“收件人”輸入Jerry郵箱地址,郵箱地址存在
? ? and 點擊“發(fā)送”
Then 提示“郵件發(fā)送成功”
? ? ? ?如上例所示逢唤,使用Given-(and)-When-(and)-Then格式后拉讯,對于測試場景的輸入和輸出一目了然,可以有助于用戶和測試人員快速理解鳖藕,便于測試人員將AC轉化為TC執(zhí)行魔慷。
? ? ? ?2、編寫AC時應該關注些什么著恩?
? ? ? ? 1)AC不是TC(Test Cases院尔,測試用例)
? ? ? ? AC只是為了確保用戶故事完整并使用此驗收的標準纹烹。當團隊據(jù)此驗收標準創(chuàng)建了一套TC,并測試成功通過后召边,我們可以聲明用戶故事是完整的铺呵,系統(tǒng)可以根據(jù)客戶的期望而發(fā)揮作用。 因此隧熙,AC是根據(jù)敏捷的用戶故事定義高水準的接受標準片挂,TC是使用這些標準來定義與接受標準相比非常詳細的實際測試用例。 從某種程度而言贞盯,TC可以看作是AC的詳細步驟解析音念。
? ? ? ? ?如將上述Scenario 1的AC1轉換為TC,TC描述如下表所示:
? ? ? ? 2)用戶和場景
? ? ? ? AC是為story驗收準備的躏敢,在編寫AC時闷愤,我們需著重關注點應該用戶和用戶使用場景,即:什么用戶在什么場景下使用該系統(tǒng)(功能)件余。我們應該認知到讥脐,及時在比較清楚某個story的情況下,我們也不能捕獲所有的場景啼器。因此旬渠,只有清楚地了解用戶和用戶使用場景之后,我們才能對用戶場景進行由高到低的使用頻率排序端壳。在編寫AC的過程中告丢,我們應該首要保證使用頻率高的用戶場景有足夠的測試執(zhí)行并完全通過。
例如损谦,依然針對上述Scenario 1用戶aaa發(fā)送郵件給jerry的用戶故事舉例岖免,我們依然可以延伸出更多的AC:
AC2:
Given 普通用戶userA登錄aaa郵箱成功
When 用戶userA編寫郵件,郵件內(nèi)容為空
and 在“收件人”輸入Jerry郵箱地址照捡,郵箱地址存在
and 點擊“發(fā)送”
Then 提示“郵件發(fā)送成功”
? ? ? ?相較AC2而言颅湘,AC1郵件內(nèi)容不為空場景更具有用戶使用價值,使用頻率高于AC2麻敌。因此在AC編寫時栅炒,我們標注出場景使用頻率掂摔,不僅可以使團隊成員更深刻理解用戶場景使用價值术羔,也可以使測試人員在進行驗收測試時更加注意測試重點。