真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網站制作重慶分公司

基于RobotFramework的驗收測試驅動開發(fā)

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

成都創(chuàng)新互聯(lián)于2013年開始,先為西安等服務建站,西安等地企業(yè),進行企業(yè)商務咨詢服務。為西安企業(yè)網站制作PC+手機+微官網三網同步一站式服務解決您的所有建站問題。

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

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

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

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

基于Robot Framework的驗收測試驅動開發(fā)

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

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

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

Discuss(討論): 

    • paticipants: product owner, related stakeholder, developer

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

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

Develop(開發(fā)):

將示例提取成測試。

需求實現活動的開發(fā)(包括test libraries,tables )

實現需求通過測試。

Deliver(交付):

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

 

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

基于Robot Framework的驗收測試驅動開發(fā)

A-TDD如何map到Scrum迭×××發(fā)基于Robot Framework的驗收測試驅動開發(fā)

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

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

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

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

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

www.robotframework.org

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

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

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

  • 最近的餐廳在哪里?

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

案例一: 供應商列表

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

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

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

客戶:下面是一個例子:

基于Robot Framework的驗收測試驅動開發(fā)

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

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

客戶:

基于Robot Framework的驗收測試驅動開發(fā)

從上面的表格可以發(fā)現,相同的供應商由于展位信息不同,有美有l(wèi)ogo, 會存在一些重復。

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

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

Robot framework 包含4個表格:

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

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

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

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

下面是Robot framwork的調用過程:

基于Robot Framework的驗收測試驅動開發(fā)

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

 

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

基于Robot Framework的驗收測試驅動開發(fā)

測試用例執(zhí)行,發(fā)現keywords “Stand input”, “Is stand output ” , “Has no extra stands” are undefined.

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

基于Robot Framework的驗收測試驅動開發(fā)

再次跑測試用例發(fā)現下面keyword 沒有定義:”Stand out”, “Get current log”, “Get current name” , “Get current place”, “Stands left”. 而這些關鍵字將會在test library里面實現。

 

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

基于Robot Framework的驗收測試驅動開發(fā)

結論:

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

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


網站欄目:基于RobotFramework的驗收測試驅動開發(fā)
文章來源:http://weahome.cn/article/gcojpe.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部