ã¯ããã«
DHHæ°ã®TDD is dead. Long live testing. (DHH)ã®ã¨ã³ããªã¯ãå½å ã§ããã¾ãã¾ãªè°è«ãå¼ã³èµ·ããã¾ãããã§ããããã®ã»ã³ã»ã¼ã·ã§ãã«ãªè¦åºãã®å½±é¿ããããã(TDDã¨åä¸è¦ããä¸ã§ã®)ã¦ããããã¹ãã¯ä¸è¦ããªã©ã®ããã¹ãªã¼ããããè«èª¿ãè¦ããã¾ããä¹ãé ããæãããã®ã§ãããåè¿°ã®ã¨ã³ããªã«éãããTDDã«ã¤ãã¦æè¿èãã¦ãããã¨ãã¾ã¨ãããã¨æãã¾ãã
TDDï¼ãã¹ããã¡ã¼ã¹ãã§ã¯ãªã
ã±ã³ãããã¯ã®ããã¹ãé§åéçºå ¥éãããUncle Bobã®TDDä¸ååã®å½±é¿ããããTDDã§ã¯ãã¾ããã¹ããã¡ã¼ã¹ãããã®ã ãã¨ããå°è±¡ããæã¡ã®æ¹ãããã¨æãã¦ãã®ã§ããããããªããã¹ããã¡ã¼ã¹ãããã¨ããã®ã¯ãææ¡ä¸»ç¾©ãªã¨ããããããç¾å ´ã«é©ç¨ããã®ã¯æ·å± ãé«ãã®ã¯ç¢ºãã§ãã
TDDãå®è·µããä¸ã§å¤§äºãªã®ã¯ããã¹ãã«ãã£ã¦éçºãé§åããããã¨ã§ããããªãã¡ ãã¹ãã³ã¼ããæ¸ããã¨ã¨ããã¹ãã«å¯¾ã«ãªãã³ã¼ã(ãããã¯ã·ã§ã³ã³ã¼ã)ãä½æ¥ã¨ãã¦è¿ãé¢ä¿ã«ããããã¹ãã³ã¼ããããããã¯ã·ã§ã³ã³ã¼ãã«å¯¾ããã£ã¼ãããã¯ãããããã¦ããããã¨ãéè¦ã§ãããªã®ã§ãããã¹ãã³ã¼ããå ã«æ¸ãããã¨ã«åºå·ãããã¨ããããã¾ããã©ããªå½¢ã§ãããã®ã§ãèªåã®æ¸ããã³ã¼ãã«å¯¾ãã¦ãã¹ããæ¸ãã¦ã¿ãä¸ã§ãæ¹åã®ãµã¤ã¯ã«ãåãã®ã大äºã ã¨æãã¾ãã
TDDã¯è¨è¨ããã»ã¹ã§ãããTraditionalãªWebMVCã¢ã¼ããã¯ãã£ã¼ã®å ´åããã¬ã¼ã³ãã¼ã·ã§ã³å±¤ã¨æ°¸ç¶å層ã®éã«ã¬ã¤ã¤ã¼ãæ¼ããã¤ãããã¦ããããè¨è¨ã®èªç±åº¦ãä½ããè¨è¨ããã»ã¹ã¨ãã¦ã®TDDã®åºçªãå°ãªãé¢ã¯ããã¨ãç§å人ã¯æãã¦ãã¾ãããã®ãããªã¢ã¼ããã¯ãã£ã¼ã®æ¯éã¯ããã¾ãããã¢ã¼ããã¯ãã£ã¼ã«å¯¾ããTDDã«éããã©ã®ãããªãã¹ãã§å質ãã«ãã¼ãã¦ãããã¯ããã¸ã§ã¯ããã¨ã«æ¤è¨ãå¿ è¦ã§ãããå ¨ã¦ã®ããã¸ã§ã¯ãã®å ¨ã¦ã®ã³ã¼ãã«å¯¾ãTDDãæå¹ã¨ããããã§ã¯ãªãã¨ããç¹ã«ã¯ãç§ãåæã§ãã
TDDæ¦ç¥ã®å¿ è¦æ§
ãããæ£è¦ãã誤解ãªã®ã§ãããTDDã¯ãå ¨ã¦ã®ã³ã¼ãã«å¯¾ãã1対1ã§ãã¹ããæ¸ãããã¨ãç®æãã¦ãã¾ããã ã¾ãããããã¯ã·ã§ã³ã³ã¼ãå ã®åã¢ã¸ã¥ã¼ã«ã®ç²åº¦ã«å¯¾ãããã¹ãã®ç²åº¦ã大ããã£ãããéã«å°ããã£ããããã¨ãä»æ§å¤æ´ãæ©è½è¿½å ã«èããããªããã¹ãã¹ã¤ã¼ãã«ãªã£ããããªãã¡ã¯ã¿ãªã³ã°ã®å¦¨ãã«ãªãã¾ãã
ãªã®ã§ãTDDã®ä¸ã§ãã©ãã®ã¬ã¤ã¤ã¼ã«å¯¾ãã¦ããããã¹ããæ¸ãã¦ãã©ãã®é¨åãã¦ããããã¹ãã§ãªããã¹ãã§ã«ãã¼ããã®ããã¨ãããã¨ãããã¸ã§ã¯ããã¨ã«è¨è¨ããå¿ è¦ãããã¾ãã
éçºè ãã¹ãã¨å質ä¿è¨¼
TDDã¯æç¨ãªã®ãããã§ã¯ãªãã®ãã¨ããè°è«ãé²ããä¸ã§ã¯ãTDDã¯ä½ãç®çã¨ããã®ãã¨ããç¹ãã¯ã£ãããã¦ããå¿
è¦ãããã¾ããã¾ããååã¨ãã¦ãTDDã§æ¸ããããã¹ã(éçºè
ãã¹ã)ã¯ãå質ä¿è¨¼ãç®çã¨ãã¾ãããã ããã¨ãã£ã¦ãTDDã®ãã¹ãã¯å質ãåä¸ä¿è¨¼ããªãã¨ããã®ã¯ãããã¯ããã§èª¤è§£ã§ãããããããå®è£
(製é )å·¥ç¨ã¨å質ä¿è¨¼ã®å·¥ç¨ã®é¢ä¿ã®ç解ãä¸è¶³ãã¦ããã®ã§ã¯ãªãããã¨èãã¾ãã
éè¦ãªã®ã¯ãéçºè ãã¹ãã¨å質ä¿è¨¼ã®ããã®ãã¹ãã¯ãäºããè£å®ãåãé¢ä¿ã«ãããã¨ãããã¨ã§ããéçºè ãã¹ãã§ã®ãã¹ãã¯ãéçºè ã®æå³ã確èªããããã«æ¸ããã¾ãã対ãã¦å質ä¿è¨¼ã®ãã¹ãã¯ãã¦ã¼ã¶ã¼å´ã®è¦ç¹ããããã¹ãã¼ãªã¼ã®åãå ¥ãåºæºãæºããã¦ãããããã«è¡ããã¾ã(æ¸ããã¾ã)ã
éçºè ãã¹ãã®ã¬ãã«ã§ãéçºè ã®æã£ãã¨ããã«åãããã¨ãä¿è¨¼ããã¦ããããããå質ä¿è¨¼ã®ãã¹ãã¯å質ã®æ¤è¨¼ã«æ³¨åã§ããå質ä¿è¨¼ã®ãã¹ããå¾è©°ãã¨ãã¦æ§ãã¦ãããããããéçºè ãã¹ãã¯ããã°ã©ã ã®ä¸ã®åæãæ¼ããããã¨ã«æ³¨åã§ããã®ã§ãããã®2è éã®ãã©ã³ã¹ãå´©ãã¦ããã¨ãå質ä¿è¨¼ã®ããã®ãã¹ãã§ããã°ã©ã ã®ã«ãã¬ãã¸ãæèãããã¨ã«ãªã£ãããéçºè ãã¹ãã¨ãã¦æ¸ãã¦ããããã¹ãã®ä¸ã§ã·ã¹ãã ã¨ãã¦ã®å質ä¿è¨¼ãæèããç¾½ç®ã«ãªãã¾ãã
ããã¦éçºè ã®ãã¹ãã¨å質ä¿è¨¼ã®ããã®ãã¹ãã«éãããããã¹ããæ¸ããã¨ãããã¨ã¯ãç¶ç¶çã¤ã³ãã°ã¬ã¼ã·ã§ã³ãéç解æãã³ã¼ãã¬ãã¥ã¼ããã¢ãããã³ã°ãªã©ããã¼ã éçºã®ããã®å種ãã©ã¯ãã£ã¹ã¨é£æºãã¦ãåãã¦ãã®åãçºæ®ãã¾ãããã®ãã¨ãè¸ã¾ããã«ãTDDã ããåãä¸ãã¦ãéçºã«å½¹ã«ç«ã¤ãå½¹ã«ç«ããªãã¨ããè«èª¿ã«ã¯ãè°è«ã¨ãã¦ã®å±ãããæãã¾ãã
ãããã«
ã¦ããããã¹ãã¨TDDãåä¸è¦ãã¦ãã¾ãè«èª¿ã«ä»£è¡¨ãããããã«ãTDDãåãå·»ãåè¦ç´ ã¯ãããããè¤å±¤çã«æãéãªã£ã¦ãã¦ãä¸ã¤ä¸ã¤ãåç¬ã®è¦ç´ ã¨ãã¦ç解ãããã¨ã«ã¯å°é£ãä¼´ãã¾ããã ãããããåã ã®ç¾å ´ã®éçºããã»ã¹ã®ä¸ã§ãTDDãã©ãããä½ç½®ã¥ãã«ããã®ããéçºããã»ã¹ã®ä¸ã§ã©ããã£ã¦ç·ååãçºæ®ãããã¨ããç¹ãæèããè°è«ãæã¿ã¾ãã