2015-04-07 47 views

回答

0

首先,不可能在沒有要求的情況下進行浪費,因此無論如何SRS是必需的。如果你的軟件足夠靈活,那麼對SRS應用任何改變都很容易。對需求的任何改變意味着改變代碼和測試。

問題的第二部分是關於設計。在敏捷開發(和TDD本身)中沒有設計是常見的誤解。這意味着,就像在其他類型的SE開發過程中一樣,設計在實施之前完成。甚至在設計之前完成架構。

引述wikipedia's TDD design chapter:共享特性有效TDD必不可少

有效的模塊化設計產量成分。
*高凝聚力確保每個單元提供一組相關功能,並使這些功能的測試更易於維護。
*低耦合允許每個單元獨立進行有效測試。
*已發佈的接口限制組件訪問並作爲測試聯繫點,便於創建測試並確保測試和生產單位配置之間的最高保真度。

和:

場景建模可以極大地方便了TDD試驗的複雜系統的建設。

因此,系統是建模的,但考慮到可測性,我們在上面引用了這種系統的特徵(高粘聚力和低耦合)。

1

很多人都在使用ATDD和TDD。業主,BA應該有要求。

大部分的要求是以故事的形式給出的。

例子: 作爲(有的角色) 我想(這裏的一些功能) 所以我可以(收益/特徵在這裏值)

開發團隊測試人員和業務的人應該有會議和「談話」關於每個要求。

然後你想出了一個完成的意思。下面是我經常使用的一個很好的語法來幫助提出良好的可測試定義。

爲 「角色」 應該能看到/執行下列操作(輸入測試): 鑑於(some_initial_condition(S)) 當(埃文斯(S)_occurs) 然後(ensure_some_outcome)

邊緣情況(預計產生正確輸出的最大或最小輸入)

由此你可以有一個很好的理想,如何設置你的單元測試。

你也可能需要使用像黃瓜https://cukes.info/