??????????????????????????
??????е????????????к?????????????????????????????????飬???????????????????????????????????????????????????????????????????????????????????????????????????????????2??????????????????????????????????????????????????????????д???????????????????????????????????????????????????????壬???????????????Σ????????????????μ???????????????????????????????Ч???????????????????????????????????????????????????????????
????????????????????????????????????“?????????”??
????· ??????????????
????????"yes or no"???????????飬?????????????
??????????“С??10”????????????????????????“9”??“11”????????????????????????????μ???????????????????????????ζ?????????????????????????????仯??????????????????????????????????????и?????????
????· ???????????????
??????t????????????????????μ????????????????????????????????????????????????0???????????????????????漰???????????????????????Ч?????á?null???
???????????????????????????С?????????????????????????????????????Щ????????????????????????????????????μ??????????????????????????????????????
????· ??????????????
?????????????????????????????÷????????????????????????????????t??????????δ?????????????????????????????????е???????
?????????????????????????????????????
????· ?????????????????
??????????????????????????????????????????????е????????????????????????????????????????????????????????????????????飬???????????????????????????????????????????????????????????????????
????????????????????????????????????????????????????????????顢????????????????????????????г????????????????????????Щ??????2???????????????????ж??????????????????Щ??????
???????????????????????????棬 ????????????????????????????????????????????????????????????UML?????е???????μ??????????????????????????????????????????????????????????????Щ????????????????棬??????????QUPER????????????????????????????Щ???????????????????????????????????????????????????????????棺
???????????????й?????——“????????”
????????????????г????????——“???????????????????????”
?????????????????????????——“ū??????Щ???????????壿”
?????????????“??????????”??????????????????????????????????????г??????????????????????????????????
????????????
?????ü????????????????????????????????????????????????????δ??????????????????????????????????????????????????Specification???????????????????Key Example??
????Specification?????????????????
???????????Example??”?????”?????????塣?????????????????????????????????????в????????????????????
????Specification??????????????????????????
?????????????????????????????????α仯????????????????????????????????????????????????????????????——“????????????????????????????????????????”??????????????????????????????????????????????????????????????????????????????????????????????????????????????Specification?????????????e?”????????????£?????????????????“????????б??????????”?????????“????????”?????ι???”??
????Specification????????????????????????????????????????
????Specification??????????UI?????????????????????????????????????????????????2?????????????????
????Specification??????????????????????
??????????Specification?????????????????????????????????????????????????????????????????????????????????????????£?????????Specification????????????????????????д?????????????????????
?????????????????????????????г?????????????????????????????????????????????????????????????????????????????????????????
???????????????????????
?????????????????????????????
???????????????????????????
????Specification?????????
???????Given-When-Then?????????Specification????????????????????????????????????????????????????????????????????????????????????ES+CQRS?????汾???????????????????????????????????????????????????????????????????е?????????????Specification??????????????????????????????Specification?У??????1??????????????????????????????????????????????????ο?“???”?????????????????????????????????????????????????????????????????????????????????????У??????????????????
????Specification????????????????
???????????????DDD?????Specification?????????????????????????????е???????????????
??????????????????????
?????????????????????????????????????С?????仯???????????????????????????????????????????У????????????Specification?????????????????????????????????????????????????????????????????????????????????????????BDD???????д?????Feature??Specification???????????????μ?????????????????????????????????????????????????????DDD????UL??????????????μ???????????UL???????????????????????????????????????
????????????????????????????????????????????????ù滮????????????????????????????????????????????????????????????????????????????в?????У????????????仯????????????????????????б??????????????????滮??????????
???????????????????????????????д??????????????????TDD????????????????????????????????????Specification????????????????????????????г?????£????????ú???????????????????????????Specification????????????????????????????????滮???????????????????е?????????????????????
????????????????????????????????????????????????????????????????????????????????????????????????2?????????????????????????????????????????????????裬???β??????????????????????????????????????е?????????????????У????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????з??????С??????????????????????С???????????????????????????????????????????ЩС?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
????Executable Specification??????????????HTML??????????????????Cucumber??Step????Spock???????????????????????????????????????е?????????????????????????????±????????????????????????????????Specification?????????????????????????????±????????????????Specification?л??????????ж????????????Щ????????????????????????????????Specification?????????Specification???????????Executable Specification???????????“??????”??????“??β???”?????ν?????????????
????????????????????????仯????????????????????????????????????????????????????????????When-Then????????????????????????????Specification??????????????????????????????????????????Specification???????????????????????????????????????
????UI???????????
????????UI??????????????????????????????????????????????飬????????????????????????????????????????????????????????ε??????????а??????????????????????Stub??Mock???в????????UI????????????г?????????????????????÷??????Specification?????????????UI??洢????????????????е??????????MVC??MVP??MVVM????????????????????????
??????????UI?????????????????????????UI??д??Specification??????????????????“???-???”???????????????????????????????????????????????????????????????????
???????????????UI?????????????????????3??????????????????????ν??????????У???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????Ч??
??????????? ???????????????????????? ???????????????????????????5????????????????
???????????? ????????UI??????????????????????????????? ???????????????????????5?????????????????????????????
????????????? ?????????????????????????Щ????????裿???????????????????UI????????????????????5?????"??????"??????????“?μ?”????????“?????”??
??????ò???????????
????????????????????????????????????????????????????????ι?????Щ?????????????????????????t??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
????????????????????????????????
?????????????????????????????????????????????????????????“?????????????????”????Mock????????????????????????????????????????????飬??????????????????????????????????????????????
????“??????”
????????????????????е???????????????????????????????????“??????”?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
????????????
???????????????????????BDD????????????????б?д?????Specification????????????????????????????????????????????????????????????????????
??????UI??????????????????????????????????
?????????????????????????????????????
???????????Tag??WiKi???Щ??????????????????????
???????????????????????????DSL??????
????д???
???????????????????????????????е?4?????????????????????????????????????????????????????????鱾?????????????????????????????????????????????????????漰????????????????????????????DDD?????????????????????????????????????????????????????????????????????????????????????????1??????