亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

基于Robot Framework的驗收測試驅動開發

發布時間:2020-07-19 18:24:49 來源:網絡 閱讀:1375 作者:Jeffrey_Shi 欄目:軟件技術

A-TDD(Acceptance test-driven development ) with Robot framework

在了解A-TTD之前,先了解下TTD

測試驅動開發,英文全稱Test-Driven Development,簡稱TDD,是一種不同于傳統軟件開發流程的新型的開發方法。它要求在編寫某個功能的代碼之前先編寫測試代碼,然后只編寫使測試通過的功能代碼,通過測試來推動整個開發的進行。這有助于編寫簡潔可用和高質量的代碼,并加速開發過程。

A-TTD(驗收測試驅動開發)非常接近T-DD。 不同點在于A-TDD強調開發-測試-客戶之間的協同, A-TTD是一種協同需求發現方法,利用示例和可自動的測試來明確需求,創建可執行用例方法。


ATTD(驗收測試驅動開發)是敏捷和scrum經常采用的實踐方法。框圖如下:

基于Robot Framework的驗收測試驅動開發


1. Discuss the requirement in a workshop (在專題討論會中討論需求)

2. Develop them concurrently during the iteration (在迭代中并行開發)

3. Deliver the result to the stakeholder for acceptance. (提交結果給利益相關方進行驗收)


Discuss(討論)

    • paticipants: product owner, related stakeholder, developer

    如何討論:假象系統完成,你會如何使用系統并期待它能實現什么。

    研討會的重點是討論并發現需求,而不是實際的測試。

Develop(開發):

將示例提取成測試。

需求實現活動的開發(包括test librariestables 

實現需求通過測試。

Deliver(交付):

當測試通過后,需求會被產品負責人和其他利益相關方評審,這可能導致新的需求產生或現有測試的變化

 

下圖是一個更為詳細的A-TDD框架圖


基于Robot Framework的驗收測試驅動開發


A-TDD如何mapScrum迭×××發基于Robot Framework的驗收測試驅動開發

討論:在具體的Sprint計劃之前,團隊,產品負責人,相關利益方需要在專題討論會中澄清需求。


并行開發:在迭×××發的過程中,實現需求的開發,驗證實現的測試需要在sprint backlog中計劃


交付驗收:付基于需求的產品和驗收測試的case給相關利益方并組織Sprint review討論。




A-TDD例子示范(ATTD with Robot Framework


Robot背景:Robot Framework是一個基于關鍵字驅動的自動化測試框架。 具體信息參見

www.robotframework.org


現有一個供應商展銷會的信息查詢系統, 通過該系統參觀者可以用它來查詢下面的信息:

  • 我在哪里可以找到供應商X的展銷攤位?

  • 我怎么才能到達那個地方?

  • 最近的餐廳在哪里?

  • 其他參觀者對本次展銷會的評價。


案例一: 供應商列表


一: 需求澄清(產生具體的示例)


客戶:需要把所有的供應商名單制作成一份“好的表格”


開發:能舉得例子嗎?什么是一份“好的表格”


客戶:下面是一個例子:

基于Robot Framework的驗收測試驅動開發

討論: 發現假如有微小的不同,將會發生重復的輸入(比如相同的供應商,不同的展位等)。


開發:數據庫中什么樣數據可以導出一份“好的供應商列表”


客戶:


基于Robot Framework的驗收測試驅動開發


從上面的表格可以發現,相同的供應商由于展位信息不同,有美有logo, 會存在一些重復。



二. 需求示例提取成Robot framework的測試用例。

這里簡單介紹下Robot framework, 具體參見www.robotframework.org

Robot framework 包含4個表格:

  • 測試用例表: 包含實際的測試用例,表頭是“Test Case

  • 關鍵字表: 包含底層的用戶關鍵字,這些關鍵字組成了測試用例的結構,表頭是Keyword 或者是 “User Keyword

  • 設置表:允許引用文件,lib. 表頭是“setting”或者“settings

  • 變量表:聲明變量, 表頭是“Variable”或者 “Variables


下面是Robot framwork的調用過程:

基于Robot Framework的驗收測試驅動開發


測試用例和用戶關鍵字是填在Robot Framework 里面的,Framework調用 test libraries, 它再調用待測系統。


 

現在從示例中抽取測試用例。


基于Robot Framework的驗收測試驅動開發


測試用例執行,發現keywords Stand inputIs stand output  , Has no extra stands are undefined.


下面我用user keyword 實現 Is stand output  , Has no extra stands


基于Robot Framework的驗收測試驅動開發


再次跑測試用例發現下面keyword 沒有定義:Stand outGet current logGet current name , Get current placeStands left而這些關鍵字將會在test library里面實現。


 

當前待測系統是用C語言寫的,可以通過用戶接口來調用或者直接調用。該案例采用直接調用(使用 ctypes foreign library)。test library 代碼如下:


基于Robot Framework的驗收測試驅動開發

結論:


A-TTD是一個相互協作的需求澄清工具,它使用可執行的用例去探索需求。需求--> 需求例子表格--> Robot 表格 --> 可執行用例(表格表述)


Robot Framework 是一個基于A-TDD思想的測試框架。它采用表格化的結構來表述一個用例,再通過test libraries 去實現用例的可執行話。



向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

卢氏县| 隆德县| 西宁市| 江津市| 五指山市| 琼中| 龙山县| 富川| 勃利县| 宜春市| 绵阳市| 南溪县| 陵水| 白河县| 靖远县| 手机| 太保市| 藁城市| 南木林县| 视频| 富平县| 天长市| 新绛县| 铜山县| 石景山区| 尼木县| 通州市| 杭锦后旗| 华亭县| 东山县| 阿图什市| 汉川市| 阿勒泰市| 昌乐县| 明星| 青州市| 班戈县| 西乌珠穆沁旗| 奈曼旗| 九龙坡区| 精河县|