l

2017年2月27日 星期一

BDD(10)使用Scenario Outline指定多個範例(上)

Feb. 23 16:37~18:10

屏幕截图 2017-02-23 18.37.33

▲「米克斯」的三個例子

 

用表格支援多個範例

開發人員們:第一個例子我們已經完成了,關於開三聯式發票還有其他例子嗎?

Product Owner:嗯,那我給你幾組常見的資料,先確定一下你現在的程式是OK的。

含稅價格 稅金 未稅價格 備註
36000 1714 34286 Refactoring定價
17900 852 17048 Scrum早鳥
21000 1000 20000 Scrum定價

 

開發人員們:現在有多個例子,我把原本的Scenario改一下讓它可以支援這種狀況。在Cucumber中可以用Scenario Outline來支援多個例子。

屏幕截图 2017-02-23 17.32.11

 

開發人員們:測試案例都通過了。

屏幕截图 2017-02-23 17.34.31

***

開發人員們:對了,我突然想到一個問題,營業稅5%,如果計算出來的稅金不到一元怎麼辦?

Product Owner:就四捨五入取整數。

開發人員:可以給我一個例子嗎?

Product Owner:如果含稅價格99,計算之後未稅價格是94.28,四捨五入之後得到94。94的5%等於4.7,四捨五入之後得到5,所以稅金要繳5元。

含稅價格 稅金 未稅價格 備註
99 5 94 四捨五入案例

 

開發人員們:好,我把這個例子加進去。

屏幕截图 2017-02-23 17.42.05

 

開發人員們:沒問題,測試案例還是通過。

屏幕截图 2017-02-23 17.43.03

***

找到Bug

Product Owner:對了,講到四捨五入我突然想到,當金額很小的時候因為四捨五入的關係是不用付營業稅的

開發人員:不用付營業稅?可以給我一個例子嗎?

Product Owner:(你沒有別句台詞了嗎?)

Product Owner:一個例子不夠,我一次給你三個。

含稅價格 稅金 未稅價格 備註
1 0 1 邊界條件
10 0 10 邊界條件
11 1 10 邊界條件

 

開發人員們:喔,所以說含稅價格在10元以下營業稅為0,11元要付1元的營業稅為0。

Product Owner:沒錯。

開發人員們:這樣好奇怪喔,如果從未稅價格來看,同樣都是10元但對應到的含稅價格可能是10元或11元。

Product Owner:對啊,規定就是這樣。

開發人員們:好把,我把這三個例子加進去。

屏幕截图 2017-02-23 17.51.24

 

開發人員們:哇,有一個測試案例失敗,就是「含稅價格為10,未稅價格也為10」這一個。

屏幕截图 2017-02-23 17.55.29

 

開發人員:太好了,找到一個問題,我看看是什麼原因。

Product Owner:(就你程式寫的爛啊,不然還有什麼原因!)

***

下集待續…

***

友藏內心獨白:PO可以正面一點嗎XD。

沒有留言:

張貼留言