我是BDD的新人。所以我有一些關於場景的問題? BDD方案和用戶方案之間的區別是什麼?與所謂的傳統「用戶場景」或「用例」有明顯區別嗎?你能解釋更多嗎?行爲驅動開發(BDD)方案vs用戶方案還是用例差異?
回答
既然你剛纔提到的「傳統用戶方案」,這是一個有點含糊,我假設你指的是用戶故事的描述:
作爲[作用]
我想要[目標]
因此[效果/益處]
這是用戶故事描述,它需要描述用戶應該如何與系統行爲的場景。這可以通過各種方式完成。其中之一可能是BDD。現在,BDD並沒有特別定義如何編寫他們的場景。所有它定義的是,
- 應該有開發人員,測試人員和業務之間的明確溝通
- 這種溝通應該是一個簡單的格式,它是所有
- 例子理解應該通信用於指定&明確的要求
第一點是確保在要求中沒有歧義,並且反饋能夠在三個團隊之間快速分享。第二點確保每個人都使用一種所有人都能理解的語言,並且不會給每個人留下任何含糊之處。例如,測試人員可能會寫一個場景爲:
When I drop a file to FTP location, then it's FTP information should be validated and file should be sent
但是Business可能不熟悉FTP/FTP位置/信息驗證是什麼。更好的辦法是使領域特定語言的情景(DSL),像
When a file is dropped in send location, then validate it's credentials and send the file
一種方式實現上述兩點是使用小黃瓜語言。小黃瓜是有語法如下一個DSL語言:
Given [Precondition]
When [Action]
Then [Result]
擴展我們前面的例子:
Given user drops file "sample.txt"in "Send File" location
When the credentials for file "sample.txt" are validated
Then the "sample.txt" should be sent to "Receive File" location
正如你所看到的,它幾乎一樣我們前面的例子,但我們有使用了一個用戶放棄文件的例子,從而大大減少了歧義;也用於非技術性的語言,但所有人都可以理解。
同樣可以寫成Verify that file FTP credentials are valid and fie is sent through FTP
但是在這裏我們可能錯過了前提條件,或者最終結果可能不明確。而語言更具技術性,所以生意不會理解它。而且企業還沒有提供任何示例來解釋他們真正想要的內容,因此我們的方案可能與企業真正想要的內容無關。
爲了避免所有這些混淆,BDD建議商業,測試人員和開發人員都坐在一起並一起寫下功能和場景。這允許交叉問題,例子和快速反饋。這樣做的另一個好處是,由於企業參與制作這些場景,場景的重點將更多地放在系統的行爲上,而不是技術方面。如果一個系統使得A進入一個房間並且B離開,那麼無論房間中正在進行什麼過程,輸入和輸出或行爲都是相同的。系統不應該因爲有人將房間從正方形改爲圓形而破壞。這是流程變化,而不是行爲變化。
此外,看看這個職位here。
- 1. BDD SpecFlow方案
- 2. 驅動開發(BDD)瞭解行爲
- 3. 可執行方案(BDD)的C++
- 4. 用戶故事vs使用案例
- 5. 多案例陳述方案
- 6. Visual Studio:單一解決方案還是很多解決方案?
- 7. 檢查URL方案是HTTP還是HTTPS
- 8. C#MVC:ModelBinder的案例,還是不是?尋找「最乾淨」解決方案
- 9. 因爲我聽說過BDD(行爲驅動開發)如何BDD補充TDD
- 10. VS加載項打開解決方案
- 11. 成熟的BDD(行爲驅動開發)框架.net和c#
- 12. 行爲驅動開發(BDD)的學習和見證示例的最佳資源
- 13. 在VS 2008中打開VS之後VS VS解決方案?
- 14. 行爲驅動開發(BDD)如何與域驅動設計(DDD)協同工作
- 15. 使用方案
- 16. 適用方案
- 17. 開局方案FFI
- 18. HDF vs NoSQL解決方案
- 19. 着色方案VS的igraph
- 20. 庫到VS解決方案
- 21. 球拍VS方案宏
- 22. 綁定VS雞方案
- 23. 找出有差異的案例
- 24. 計算案例中的差異 - 何時
- 25. 解決方案架構師報告線,是EA經理還是開發經理?
- 26. 聚結VS案例
- 27. 爲MATLAB GUI應用程序開發UI的替代方案?
- 28. JRuby是Rails開發中MRI的可行替代方案嗎?
- 29. VS 2010解決方案取決於另一個解決方案
- 30. 方案與方案大綱
請詳細說明您對「BDD方案」和「用戶方案」的看法。 我不確定你的「常規用戶場景」的定義,所以我不能試圖幫助你。 我需要更多的例子或上下文。可能都是。 –