ãã¹ãã¯ãç§ãã¡äžäººäžäººã®ä»äºã«ãããŠç¹å¥ãªå Žæãæã£ãŠããŸãã ããã¯éåžžã«éèŠã§è€éãªãã®ã§ãããæã楜ãããã®ã§ã¯ãªããç§ãã¡ã®ä»äºã®æåŸãŸã§éå°è©äŸ¡ãããéå°è©äŸ¡ãããŠããéšåã§ãã ãããã£ãŠãç§ã¯å°èŠæš¡ãªã¹ã¿ãŒãã¢ããã®å®è·µçãªéçºè
ããã³æè¡ãããŒãžã£ãŒãšããŠããã®åéã®å°é家ãšè©±ãããŠã圌ã«èŠçãªè³ªåãããæ©äŒãåŸãŠããããæããŸããã ããã°ã©ããŒãTDDã§äœæ¥ããªãã®ã¯ãªãã§ããïŒ ããŒã¿ããŒã¹ãæäœããã·ã¹ãã ã®åäœãã¹ãã«é¢é£ããåé¡ã解決ããã«ã¯ã©ãããã°ããã§ããïŒ ããã¥ãŒãã³ãã¡ã¯ã¿ãŒããåãé€ããæçµçã«ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ãã¹ããèªååããæ¹æ³
Joker 2016ã®æºåã®äžç°ãšããŠã ã¬ã¬ã·ãŒã«é¢ããæçš¿ããªãªãŒã¹ããããããJavaã§ã®ãã¹ãã®è°è«ãçœç±ãããã³ã©ã€ã¢ãªã¡ã³ã³ããšã®ã€ã³ã¿ãã¥ãŒãç¶ããããšã«ããŸããã
Nikolayã¯ã12幎ã®çµéšãæã€Javaéçºã¹ãã·ã£ãªã¹ãã§ãã 圌ã®äž»ãªä»äºæŽ»åã«å ããŠã圌ã¯XPã€ã³ãžã§ã¯ã·ã§ã³ãã¬ãŒãã³ã°ã»ã³ã¿ãŒã®å
±åèšç«è
ããã³ãã¬ãŒããŒã§ãããåœéäŒè°ã®ç©æ¥µçãªåå è
ããã³è¬æŒè
ã§ãã 圌ã®åå ã«ãããITäŒè°Selenium CampãJEEConfãXP Days UkraineãIT Brunchãéå¬ãããŸããã ããã§ããããŠä»ãç§ãã¡ã®ããŒã ã®ãã¹ãã®åéã§äœãæ¹åã§ãããããããŠå°æ¥ã©ã®ãããªæè¡çå€åã«åããã¹ããã«ã€ããŠè©±ããŸããã
-ãã³ã©ã€ãç§ã®æåã®è³ªåã¯ãå
éšã§ã¢ãµãŒã·ã§ã³ã䜿çšããèªå·±ãã¹ãã³ãŒãã«ã€ããŠã§ãã ãã®å®è·µã«å¯Ÿããããªãã®æ
床ã
-ãã®èãã¯æããã«ééã£ãŠããããã§ãã ãã®ãããªãã§ãã¯ããã¹ãã«åã£ãŠä»£ãããã³ãŒããèªå·±æ€èšŒã§ãããšæ³å®ãããŠããŸããããæ®å¿µãªãããäžç·ã«æé·ããããšã¯ãããŸããã§ããã ãã®çç±ã¯éåžžã«åçŽã§ãããã®ã¢ã€ãã¢ã¯ãã³ãŒããèšè¿°ãããšãã«ãéçºè
ãå®è£
ãšçºçããå¯èœæ§ã®ããå¯äœçšã®äž¡æ¹ã«ã€ããŠèãããšããäºå®ã«äŸåããŠããŸãã ããããéçºè
ã¯ãã®å Žã§ã³ã³ããã¹ããåãæ¿ããã®ãããŸãåŸæã§ã¯ãããŸããã 代ããã«ãåäœãã¹ãã§ã¯ãæåã«ãã¹ãã«éäžãã次ã«éçºã«éäžããããã«åŒ·å¶ããŸãã
ã¢ã»ããã¯ãã¹ãã§ã¯ãªããã©ã³ã¿ã€ã ãã§ãã¯ã§çœ®ãæããããŸããããšãã°ãäœããnullã®å ŽåãäŸå€ãå¿
èŠã§ãã ãã ããã¢ãµãŒã·ã§ã³ã¯å®è¡ã«å¿
é ã§ã¯ãããŸãããã¢ãµãŒã·ã§ã³ããªãã«ãããšããã§ãã¯ã¯å®è¡ãããŸããã ä»ãããªãã¯ããè¯ãããšãå¯èœã«ããä»ã®å€ãã®ã¢ãããŒãããããŸãã ããšãã°ãã¡ãœãããŸãã¯å€æ°ã®å
¥åãã©ã¡ãŒã¿ãŒã«NotNull泚éãä»ããããšãã§ãã泚éä»ãã®ã¢ãããŒãã ãããŠããã®æ³šéã¯ãäŸå€ããã§ãã¯ããŠã¹ããŒãããã³ãã©ãŒã«å
¥ããããšãã§ããŸãã çŸåšãéåžžã«ããŸãæ©èœããç¹å¥ãªæ€èšŒãã¬ãŒã ã¯ãŒã¯ããããŸãã
ããããç§ã«ã¯ãã¢ãµãŒã·ã§ã³ã¯ç»å Žãããšããã«æ»ãã ããã§ãã ç§ã¯éåžžã«å€ãã®äŒç€Ÿã§å€ãã®ã³ãŒããèŠãŸããããããããçå£ã«äœ¿çšãããŠããäŒç€Ÿã¯èŠãŸããã§ããã ããã§ã¯ã1ã€ã§ã¯ãããŸããã
-çè«çã«ã¯ã誰ãããã¹ãé§åéçºããã°ãããããšãç解ããŠããŸãã ãããå®éã«ã¯ããã¹ãŠã®ã³ãŒããåäœãã¹ãã«ãã£ãŠãããã¯ãããããã§ã¯ãããŸããã ããªãã®æèŠã§ã¯ãéçºè
ã®æ ã«å ããŠããªããããèµ·ããã®ã§ããïŒ
-ãããŠãããã¯éçºè
ã®æ inessã§ã¯ãããŸããã ç§ã®æèŠã§ã¯ãããã«ã¯2ã€ã®çç±ããããŸãã
æåã¯ã人ã
ã¯ãããè¡ãæ¹æ³ãç¥ããªããšããããšã§ãã TDDã§éçºããã«ã¯ãæºåãå¿
èŠã§ãã ããã ãã§ãªããããŒã«ããã®äœ¿çšæ¹æ³ãããã³ãã®å©ç¹ãç解ããå¿
èŠããããŸãã ã³ãŒã¹ãåè¬ããããTDDãåŠç¿ãããããã§ã«TDDã«åãçµãã§ãããªãã©ã·ãŒã®ãã人ç©ãšäžç·ã«ä»äºããã人ã¯ãåãããšã§å€ãã®å©ç¹ãæããŸãã
ãããŠ2çªç®ã®çç±ã¯ãå€ãã®éçºè
ãç¹ã«èªå°å¿ã®é«ãéçºè
ããã¢ãŒããã¯ãã¢ãŒããæå¹ã«ãããããšã§ãã ããã¯ã人ãããºã«ãçç®ã§èŠãŠèšã£ããšãã§ãããããããŸãããããã§çµããã§ãã ããã«å·¥å Žããããããã«ãã®ãããªãã¿ãŒã³ããããŸã-ããã«ãã®ãããªãã®ããããŸããã ãããŠã圌ã¯ããã«ãããã®èããã³ãŒãã«ããŒããŸãã 次ã«ã圌ããèšèšããããã¹ãŠã®ãã®ãæ®ãã®ã³ãŒããšçµ±åããå¿
èŠããããŸãã ãããŠãçµ±åãããªãããšãæããã«ãªããŸãã ãŸãã¯èª°ããã³ãŒãã¬ãã¥ãŒã³ãŒããèŠãŠããã¹ãŠã®ã¡ãœããã巚倧ã§ããããšãæããã«ãªããäœãæ確ã§ã¯ãªããifã®5çªç®ã®ãã¹ãã ãHelloãworldïŒãã®å Žåã誰ããäŸãèŠãã¯ãã§ãããã¶ã€ã³ãã¿ãŒã³ã®å©ããåããŠããHelloãworldïŒããç®ã®åã«ããããšãç解ã§ããªãããã«æãããšãã§ããŸãã
TDDã§äœæ¥ãããšãã¯ããã¹ããäœæããŸããããä»ã§ã¯ãã¿ã¹ã¯ãæ©èœãããã ãã§ãã ããªãã®ä»äºã¯ãã¹ãŒããŒã¯ã©ã¹ã®èšèšãããããšã§ã¯ãããŸããã ã¹ãŒããŒã¯ã©ã¹èšèšãäœæããã¿ã¹ã¯ã¯ãã³ãŒããæ©èœããåŸã«çºçããŸãã ããããããªãã¯åœŒãèŠãŠèšã£ãïŒãããã§ç§ã¯ç°¡åãªè§£æ±ºçãæžããã ãããŠãã©ãããããããããããçŸããããããšãã§ããŸããïŒ ãªããšãªããšã¬ã¬ã³ãã«ã§ããŸããïŒ ãŸãã¯ãåå©çšå¯èœã§ããïŒã ããŸãæ©èœããŸããããã«å
ã«é²ã¿ãŸãããã ã€ãŸããããã«çç±ããããŸãããã¢ãŒããã¯ãã¢ãŒãããšãã¹ããèšè¿°ã§ããªãããšãããã³é©åãªããŒã«ã䜿çšã§ããªãããšã§ãã
-ãŸãããã¹ãŠåãããã«ãããã§ã®ãã€ã³ãã¯ããã¹ããæžãããšãã§ããªãã ãã§ãªãããã¹ãã³ãŒããæžãããšãã§ããªãããšã§ãããããã«æããŸãã ãã¹ãå¯èœãªã³ãŒãã®äœæã«äŒŽãåé¡ã
-ãããŠãããªãã¯ãããæžãå¿
èŠã¯ãããŸããã TDDã§äœæ¥ããå Žåããã¹ãäžå¯èœãªã³ãŒããèšè¿°ããæ©äŒããªãããããã¹ãå¯èœãªã³ãŒããèšè¿°ããå¿
èŠã¯ãããŸããã ãªããŠåè«ã§ãããïŒ
-ããŒãïŒ ããïŒ ã·ã³ãã«ãªã¢ã€ãã¢ãããªãã¯äœãèšããªãã§ãããïŒ
-ãã¹ãã䟿å©ã«ãªãããã«æåã«ã³ãŒããã©ã®ããã«è¡šç€ºãã¹ããããã¹ãã§æãããšãããã¹ããããã³ãŒãã確å®ã«ååŸã§ããŸãããã¹ããããã³ãŒãã¯çŸãããã¹ãã§ããããŸãçµ±åãããã¯ãŒã«ãªAPIããããŸã ããããå®éã«ãã¹ããå®æœããããšã«æ±ºããå Žåããã¡ããããã¹ã容ææ§ã¯éåžžã«å€§ããªåœ¹å²ãæãããŸãã
æåã«ããã€ãã®ã³ãŒããäœæãããããã次ã®ããã«èšã£ãå ŽåããããŠãæåã®ãŠããããã¹ããäœæããŸãããšèšããšããã®ã£ã°ãããã°ãã°çºçããŸãã ããŠãããã«å€å
žçãªäŸããããŸã-ã¡ãœããã§3ã€ã®ããŒã«ãã©ã¡ãŒã¿ãäœæãããšãã ãããŠãããããæž¡ããŸãïŒfooïŒtrueãfalseãtrueïŒã ãããŠãããªãèªèº«ããããèŠãŠãèšãïŒããããããã¯äœã«ã€ããŠã§ããïŒ äœãç解ã§ããŸããïŒããŸãã¯ãããšãã°ã1ã€ã®ã¡ãœãããåŒã³åºãã«ã¯ãå€ãã®ã»ããã¢ãããè¡ãå¿
èŠãããããããã®ãã¹ããäœæããçç±ããã§ã«å¿ããŠããŸãã ããã¯ãäºåŸãã¹ããäœæãããšãã«èµ·ããããšã§ãã
ãããŠãTDDã§äœæ¥ããŠããå Žåã次ã®ããã«ãªããŸããããªããæžããŠããã¹ããæžããŠãæåŸã«èŠãŠãã ããã ãããã©ã®ããã«èŠããããããã¹ã姿ã§ãïŒããããŠãAPIå
šäœãçŽ æ©ãçæããŸããã ãªããªããJavaéçºã«ã€ããŠè©±ããŠããã®ã§ããã°ããã¹ãããIDEã䜿çšããŠå€ãã®ãã®ãçæãããæäœæ¥ã§æžãå¿
èŠããªãããã§ãã ãã®çµæãTDDã§äœæ¥ãã人ã¯ããã®èŠå ã®ããã«å°ãéããªããŸãã 圌ã¯ãåäžã®ã¡ãœããã·ã°ããã£ãåäžã®ã³ã³ã¹ãã©ã¯ã¿ãåäžã®ãã£ãŒã«ããæã§æžããŠããŸããã ããã¯ãã¹ãŠçæãããŸãã ããã«ã¡ã¬ãã€ãã TDDã§äœæ¥ãã人ãæžãã®ã¯ãã¡ãœããã®å®è£
ã ãã§ãã IDEã¯ãã¯ã©ã¹ãã³ã³ã¹ãã©ã¯ã¿ãŒãã²ãã¿ãŒãã»ãã¿ãŒãã¡ãœãã宣èšã®äœæãåŠçããŸããããã¯éåžžã«åœ¹ç«ã¡ãèšå€§ãªæéãç¯çŽããŸãã
-ããããããã§ããã¹ãã§ã¯ãã³ãŒãã®å®è£
ã«ä»å
¥ããå¿
èŠãããå ŽåããããŸãã äŸãã°ãç§ã¯ãã©ã€ããŒãã«ãããã®ã§ããããããéããªããã°ãªããŸããã
-ããããéãå¿
èŠã¯ãããŸããã ããã§ãæ¹æ³ãããããªããã®ã«æ»ããŸãã å
éšã§äœãããã¹ããããã©ã€ããŒãã§éããŠããå Žåããã¹ãããŠããã¯ã©ã¹ã®è²¬ä»»ãå€ãããããšãæå³ããããã§ãã ãããŠããã¯ãè¯ãæ¹æ³ã§ãã¶ã€ã³ãå°ãå€æŽãããã¹ããããã³ãŒãã®åŽé¢ãå¥ã®ã¯ã©ã¹ã«å
¥ããªããã°ãªããªãããšãæå³ããŸãããã®ã¿ã¹ã¯ã¯ãŸãã«ââãããè¡ããŸãã çµéšè±å¯ãªéçºè
ã¯ã圌ã®ãã¶ã€ã³ãè€éã«ãªããããŠããããšã瀺åããŠããŸãã ãã¡ããããã¹ãŠãè©°ã蟌ã1ã€ã®ã¯ã©ã¹ãäœæã§ããŸãã ãŸããããŒã¹ãå°å·ããŠä¿åããJSONã«å€æããŠãããã€ãã®ã¢ã«ãŽãªãºã ãèšç®ã§ããããã«ãªããŸãã ãããŠãçµæã¯é床ã«è€éãªãœãªã¥ãŒã·ã§ã³ã§ãã ããŒã ã§äœæ¥ãå®äºãããšããã®ãããªã³ãŒããä¿®æ£ããã®ã¯éåžžã«å°é£ã«ãªããŸãã誰ãããã®ã³ãŒãã«ä¹ã蟌ã¿ããšã«ããå€æŽããããã§ãã ãããŠãããã«æãããããããŸãã ããªããèŠãŠãèšã£ããªãïŒãã©ããã£ãŠããããã¹ãããã®ïŒ éããå¿
èŠããããŸãã-ããã ãã§ãããã¶ã€ã³ãå€æŽããå¿
èŠããããšããããšã§ãã
-ãããããã ããã£ã ããã§ã¯ãããŒã¿ããŒã¹ã䜿çšãããã¹ãã®å¿
èŠæ§ãªã©ã«ã€ããŠè©±ããŸãããã ã¢ã¯ã»ã¹å¯èœãªããŒã¿ããŒã¹ãåžžã«æã¡ãæ¥ç¶ãæ§æããããŒã¿ããŒã¹ã«äŸåããåäœãã¹ããå®è¡ããå¿
èŠããããããç§ãã¡ã¯å°çã«ãªãã€ã€ãããŸãã æ£çŽã«èšããšãã¢ã»ã³ããªã¹ã¯ãªããã§ããããç¡å¹ã«ããŸãã ã©ããã ã©ããã§moki JDBCããŒã¿ãœãŒã¹ãèšè¿°ããããšããŸãã-éåžžã«å°é£ã§ãã
-å®éãç§ã¯éåžžã«å€ãã®æéãçµéããããšã«é©ããŠããŸãããããã§ããã®ãããªçåãçããŸãã ããã¯ãç§ããããäŒããããšãã§ããå Žæã§ã¯ãªãããšãæå³ããããšç§ã¯å ±åããã
ç§ã¯ãã£ãšåã«ãã®åé¡ã«ã€ããŠè©±ãå§ããŸããããããŒã¿ããŒã¹é¢é£ã³ãŒãã®TDDãã©ãããã°å¯èœã§ããïŒããšããã¬ããŒãããããŸããããã¯ããã€ãã®å€§èŠæš¡ãªäŒè°ã§è©±ããŸããã ãããšããã«ãããªãããã ããã«ã©ã€ãã³ãŒãã£ã³ã°ã¢ãŒãã§ãããè¡ãæ¹æ³ãããŒã¿ããŒã¹ã®æ¥ç¶æ¹æ³ããã®ããŒã¿ããŒã¹ããã¹ãã§äœ¿çšããæ¹æ³ã瀺ããã¬ãŒã³ããŒã·ã§ã³ããããŸãã
ãŸããJDBC APIããã³ã¯ããªãã§ãã ããã JDBC APIã§mokiãäœæããå Žåãäœããã¹ãããã®ã§ããããïŒ ããŒã¿çµ±åãæ£åžžã«æ©èœããããšããã¹ãããã®ã§ã¯ãªããããçšåºŠæ£ç¢ºã«å®åŒåãããSQLã¯ãšãªãéä¿¡ããããšããã¹ãããŸãã ãã ããSQLã§ã¯ãã¯ãšãªãç°¡åã«åæ§ç¯ããŠãèŠãç®ãå€ããããšãã§ããŸãããæ¬è³ªçã«ã¯åãã§ãã ããšãã°ããããã®éã§ANDéšåãåé
眮ããŸãã WHERE "user" = 'Vasya' AND "role" = 'admin'ããŸãã¯ãã®éã ãã®ãããªèŠæ±ã«å¯ŸããŠmokiãå®è¡ããå Žåãæ©èœçã«ã¯äœãå€æŽããªãã£ããã®ãããªå€æŽãå ããå Žåãäœããã¹ãããŸããã ãããã£ãŠãçµ±åãã¹ããããŒã¿ããŒã¹ã«æžã蟌ãå¿
èŠããããšèããããŠããŸããããã«ãããå®éã®ã³ã³ããã¹ããäžãããå®éã®ããŒã¿ããŒã¹ãäžãããäœæ¥ãè¡ãããŸãã
-ããããå®éã®ããŒã¹ã§ã®äœæ¥ã¯éåžžã«é
ãã§ãïŒ
-ããã§ãã€ã³ã¡ã¢ãªããŒã¿ããŒã¹ã圹ç«ã¡ãŸãã å€ãè¯ãHSQLDBãã€ãŸãH2ããããŸããããã¯ãããšãã°ãã®ææ°ããŒãžã§ã³ã§ãã H2ã¯ã¡ã¢ãªå
ããŒã¿ããŒã¹ãšããŠäžæããã ãã§ãªããããŸããŸãªããŒã¿ããŒã¹ããµããŒãããæ§æã¢ãŒãã§ãæ©èœããŸãã ã€ãŸãã次ã®ããã«èšãããšãã§ããŸãããH2ãèµ·ããŠãMySQLæ§æã§äœæ¥ããŠãã ããã H2ãOracleæ§æã§èµ·åããŠå®è¡ããŸãã 100ïŒ
äºææ§ã¯ãããŸããããããã§ãã»ãšãã©ã®åé¡ã解決ããŸãã
ããã«ãå€ãã®èšäºããã§ã«æžãããŠããŸããã©ããããã®éã-æ£ç¢ºã«éãïŒ -RAMãã£ã¹ã¯ã䜿çšããŠããŒã¹ãäžããŸãã ã€ãŸãããã£ã¹ã¯ãµãã·ã¹ãã ã«ãããããã®ã§ã¯ãªããRAMãã£ã¹ã¯ãäœæããŠRAMã«ãããããŸãã çµå±ã®ãšãããåäœãã¹ããäœæããããã«ãå®çšŒåç°å¢ãããã³ãã10ã®ã¬ãã€ãå¢ããå¿
èŠã¯ãããŸãããïŒ ç¹å®ã®ããã©ãŒãã³ã¹ã·ããªãªãæšé²ããã€ããã¯ãããŸããã éåžžã®åäœãã¹ããäœæããŸããããã¯ãå°æ°ã®ã¬ã³ãŒãã§äœæ¥ã®ããžãã¯ããã¹ãããå¿
èŠããããŸãã
ãããŠæåŸã«ãããã®å¥ã®ãã«ããŒã¯DbUnitã§ãã DbUnitããã¹ãããŒã¿ã»ãããéåžžã«ç°¡åã«æäœããããããéåžžã«äŸ¿å©ã«ããXMLã§ãJSONã§ã䟿å©ã«äœæããŸãã ããããæåã®æ¹æ³ã¯ããããã®ã¿ã¹ã¯ãXMLã§åŠçããããšã§ããããããæ§é åããŒã¿ãååŸããæ¹æ³ã ããã§ãã ãã®å Žåãç¹å®ã®ãã¹ãã«çŠç¹ãåœãŠãããŒã¿ã»ãããç°¡åã«äœæã§ããŸãã ã€ãŸããããšãã°ãæ€çŽ¢ãæ©èœããããšã確èªããå¿
èŠãããå Žåãæ¢ããŠãããã®ã®å€æ§æ§ã瀺ã5ã10åã®ãšã³ããªãæ¿å
¥ãããããã®10åã®ãšã³ããªã®ã¿ã«æ³šç®ããŸãã ããã«ãå¿
èŠãªåã®ã¿ãæ¿å
¥ããŸãã
çžäºæ¥ç¶ãããããŒã¿ãããç¶æ³ã«ã€ããŠè©±ããŠããå Žåããªã³ã¶ãã©ã€å¶çŽãç¡å¹ã«ãããªã©ã®ããªãã¯ãããã§æ©èœããŸãã ã€ãŸããããšãã°ãConnectionãéããããã¹ãŠã®å®æ°ã®æ€èšŒãç¡å¹ã«ããŠãã ããããšèšããŸãã ããã¯ããŒã¿ããŒã¹ã«äŸåããŸãïŒã©ããã§ã®ã¿ã°ããŒãã«ã«å®è¡ã§ããã©ããã§æ¥ç¶ã®ãã¬ãŒã ã¯ãŒã¯å
ã§å®è¡ã§ããŸãã å®æ°ããªãã«ããŸããããã«ãããããšãã°ãŠãŒã¶ãŒãæ¢ããŠããå ŽåããŠãŒã¶ãŒã«å¿
èŠãªè¿œå ããŒã¿ã«æ°ãåãããããæ¿å
¥ããããããããšããªããªããŸãã
å¥ã®ããªãã¯ã¯ããã©ã³ã¶ã¯ã·ã§ã³ã§ãã¹ããå®è¡ããæ©èœã§ãã ããã¯ããã©ã³ã¶ã¯ã·ã§ã³ããŒã¿ã®ãã¹ãã§æ¿å
¥ãããåããã©ã³ã¶ã¯ã·ã§ã³ã§ããã®ããŒã¿ãåä¿¡ããããã«å¿
èŠãªèŠæ±ãè¡ãããæçµçã«ããŒã«ããã¯ãããããšãæå³ããŸãã ãã®ã¢ãããŒãã§ãã¹ãŠã®ãã¹ããäœæã§ããããã§ã¯ãªãããšã¯æããã§ãã ããã¯ãããŒã¿ãåä¿¡ãããã¹ãã§ç¹ã«ããŸãæ©èœããŸãã ããŒã¿ãæ¿å
¥ãããã¹ãã®å Žåãããã¯åžžã«è¯ããšã¯éããŸããã å®æ°ãã©ã®ããã«æ©èœããããäŸå€ãæ£ããã¹ããŒããããã©ãããæ£ããã€ã³ã¿ãŒã»ããããããã©ãããã©ããããããã©ãããªã©ãèŠãã®ã¯èå³æ·±ãã®ã¯ããã ãã ããã§ãã
ç§ããªã¹ãããã®ã¯å¯äžã®è§£æ±ºçã§ã¯ãããŸããã ããã¯ããã¹ãŠã®ãã®ã«ç¥ãããŠãããã®ãé·ãéç¥ãããŠãããã®ã§ãã 圌ãã¯ããã®æ©èœãæ¡åŒµãããã䟿å©ã«ããããŒã¿ããŒã¹ã®ãã¹ããå¿«é©ã«ããæ°ãããœãªã¥ãŒã·ã§ã³ãäœæããŠããŸãã
-é·ãéããŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ã®ãã¹ãã®èªååã¯éåžžã«è€éã§ä¿¡é Œæ§ã®äœããã®ã§ãããèªååãããã¹ã¯ãªãããèšè¿°ããããããæŒ ç¶ãšèšãè¡šããããã¹ãã·ããªãªã§äœæ¥ããŠãã人ã
ã«ä¿¡é Œããæ¹ãè¯ããšæããŠããŸãããçµããããã
-ããŠãããªãã¯ç¡é§ã§ããè¿å¹Žãèšå€§ãªæ°ã®ããŒã«ãšã¢ãããŒãããããŸããã Webã€ã³ã¿ãŒãã§ãŒã¹ã«ã€ããŠè©±ããšã確ãã«æã
ããã©ãŠã¶ãäžåšããããŸããŸãªããã¯ãèæ¡ããJavaScriptãä»ããŠããŒãžèªäœã«äœããããã«ãããæ¹æ³ãçºæããŸããã ããããç¹å®ã®åºæºãããããããã¹ãŠãã¯ããã«ç°¡åã«ãªããŸããã Webã¢ããªã±ãŒã·ã§ã³ã®ããŒã«ã«ã€ããŠè©±ããŠããå Žåãããã¯WebDriverã§ããããã®ãµããŒãã¯çŸåšãã©ãŠã¶ãŒèªäœãšã¯ç°ãªããŸãããã©ãŠã¶ãŒèªäœã¯æ¢ã«WebDriverå®è£
ãå
éšã«æ¿å
¥ããŠããããããã©ãŠã¶ãŒããªã¢ãŒãã§å¶åŸ¡ã§ããŸãã ãããŠããã¹ããããã©ãŠã¶ãå®å
šã«å¶åŸ¡ããéåžžã®ãŠãŒã¶ãŒãšåãããã«ãã©ãŠã¶ã§äœã§ãã§ããããšãããããŸããã ãã©ãŠã¶ããæ
å ±ãåãåãããšãã§ãããã¹ãŠã®ãã°ãå
éšåŠçãå€éšç°å¢ãšã®éä¿¡ãåŒãåºãããšãã§ããŸãã
åæ§ã«ãã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³ã®ãã¹ãã¯éåžžã«æ¡å€§ããŠããŸãã å®éã®ããã€ã¹ãšãšãã¥ã¬ãŒã¿ãŒã®äž¡æ¹ãæäœããããã®ãªãã·ã§ã³ãå¢ããŠããŸããããããã«ãç¬èªã®ãã¬ãŒã ã¯ãŒã¯ããããAPIãã¹ãã§ç°¡åã«èšè¿°ã§ããŸãã
å®éã®ããã€ã¹ã«é¢ããŠãçŸåšæŽ»çºã«éçºãããŠããåéã®1ã€ã¯ãããããã¹ãã§ãã é»è©±ãæ¿å
¥ãããŠãã3Dããªã³ã¿ãŒã§ãããããããå°å·ãããããããããã°ã©ã å¯èœã§ããå Žåã ã€ãŸãããã€ã¯ãã³ã³ãããŒã©ãŒãããããã®ãã€ã¯ãã³ã³ãããŒã©ãŒã«ã³ãã³ããéä¿¡ããããšã§ããã°ã©ã ã§ããŸãã ãããã£ãŠãããããã«ã¯ãæ©æ¢°çãªæã®ããã«ã端ã«èŒªãŽã ãä»ãã矜ããããŸãã ããã€ã¹ãç¹å®ã®äœçœ®ã«é
眮ãããšããã¹ãŠãç°¡åã«æ©èœããŸãã
ãç»é¢ã«è¡šç€ºãããŠãããã®ãã©ã®ããã«èªã¿ãŸããïŒã
-é»è©±ã®æ¥ç¶ã«ããç»é¢ã«è¡šç€ºããããã®ã ç»é¢ã®å
容ãèªãããšãã§ããããã«å¿ããŠããã€ãã®ã¢ã¯ã·ã§ã³ãå®è¡ããŸãã ãã¹ãŠã«é©ããŠããããã§ã¯ãªãããšã¯æããã§ãããäžéšã®ã¢ããªã±ãŒã·ã§ã³ã§ã®äœæ¥ã¯èªååãéåžžã«ç°¡åã§ãã ãã®ã¢ãããŒãã¯çŸåšæŽ»çºã«éçºãããŠããŸãã ãã®åéã®ãã¹ã¿ãŒã«ââ代ããçç£ãœãªã¥ãŒã·ã§ã³ã¯ãããŸããã ããããããã«ããããããããŸããŸã人æ°ãé«ãŸã£ãŠããŸãã
-çŽ æŽãããïŒ ãããããã¡ãããç§ãã¡ã®ããŒã ã¯ãŸã é ãã§ãã
-ãé¡ãïŒçŸåšããã¹ãçšã®ã¯ã©ãŠããœãŒã·ã³ã°ã¯éçºãç¶ããŠããŸããã¢ããªã±ãŒã·ã§ã³ã倧èŠæš¡ãªãã©ãããã©ãŒã ã«éä¿¡ãããšãå€ãã®å°é家ïŒäžåœäººãã€ã³ã人ãç§ãã¡ã®åèïŒãåããŠããŸãã åèªåã¢ãŒãã§å¥œããªããã«ãã¹ããã¹ã±ãŒãªã³ã°ã§ããŸãããããåŒã³åºããŸãããã
-ãããã®äººã
ã¯ãã¹ãã±ãŒã¹ãååŸããŸããïŒ
-ãã¹ãã¹ã¯ãªãããåãåãããããã©ã®ããã«æ©èœãããã®èª¬æãå«ãã¢ããªã±ãŒã·ã§ã³ãåãåãããã¹ããå®æœããŸãã ããã¯èå³æ·±ãæ©äŒã§ãããå€ãã®äººããã¹ã¿ãŒã®ããŒã ãæµ®ãã°ããã«èŠããã§ããŸããã圌ãã¯ããã§ãããäžããããšãã§ããŸãã
ããã«ãçŸåšéåžžã«æŽ»çºã«éçºãããŠãããã1ã€ã®åéã¯ãèŠèŠãã¹ãã§ãïŒããšãã°ãApplitoolsã䜿çšïŒã éåžžã«ç°¡åãªèšèã§èª¬æãããšãWebã«ã€ããŠè©±ããŠãããšãã«ã¹ã¯ãªãŒã³ã·ã§ãããæ®ãããŠããå ŽåãWebDriverã䜿çšããŠã¢ããªã±ãŒã·ã§ã³ã®ç¹å®ã®ã¹ã¯ãªãããå®è¡ãããŸãã ãããŠãã¹ã¯ãªãŒã³ã·ã§ããæ¯èŒã¢ã«ãŽãªãºã ãå®è£
ãããå€æŽãç¹å®ãããŸãã ããšãã°ãæšæ¥ãã¹ã¯ãªãŒã³ã·ã§ãããæ®ãããŸãããç§ãã¡ã¯åœŒãèŠãŠã次ã®ããã«èšããŸããã ãããããŒã¹ã©ã€ã³ã«ãªããŸããã ãããŠãä»æ¥ã¯ã¹ã¯ãªãŒã³ã·ã§ãããæ®ããŸããã ãããã®ã¹ã¯ãªãŒã³ã·ã§ãããåæããã¢ã«ãŽãªãºã ããããå€æŽãçºçããå Žæãæ£ç¢ºã«è¿œè·¡ããŠã°ã«ãŒãåã§ããŸãã
-ãããŠããã©ã³ããå€æŽããç»åãå€æŽããããšããŸãããã ããã§äœïŒ ãã¹ãã¯ä»å€±æããŸãããïŒ
-ããïŒ åœŒãã¯ãããå®è·µããæ¹æ³ãç¥ã£ãŠããŸãã 圌ãã¯ããããã°ã«ãŒãåããæ¹æ³ãç¥ã£ãŠããŸãã ã€ãŸãã圌ãã¯èšãïŒããããããã§ãã©ã³ããå€æŽãããããšãããããŸããã ããã«ããã€ãã®ã¹ã¯ãªãŒã³ã·ã§ãããèŠãŠããããã¯å€æŽã®çš®é¡ã§ãã1çª-ãã©ã³ããå€æŽãããŸãããã ãããŠãããªãã¯ããã確èªããªããã°ãªããŸããã ãããã§ããã¢ããªã±ãŒã·ã§ã³ã®ãã©ã³ããå®éã«å€æŽããŸãããã , , , , .
, . , , - , , , . « »? : « â - , , », . , , . - , , , , , .
, : «, ». : «Confirmed, , ». baseline . , .
, : . , . : Firefox, Chrome, IE, Safari, . . , baseline- .
, .
â .
â , . , Selenium Camp , . Selenium WebDriver. , WebDriver- , «». , .
, . . , Google, Facebook .
â , , ? â ?
â , , .
â UI?
â ! , , API.
, , -, - , «» . , , - , , . . .
â - workflow . . workflow- , , , , , , . , , , , .
â ? , ?
â ? . - flow. flow, , . , flow , , . flow, , , . . , , , . - , . . , , - , , . , , , API , «». , , . , . , , , - , .
, . IDE . , - , . background-. , , , IDE , , - , - .
, , , , . , , CI- TeamCity. : , , : «, ?» â , , , â CI-.
â Jenkins ?
â , , .
â !
â , Jenkins , ! , CI. , : « quality gate». quality gate , .
, IDE . , , nightly builds, . , , .
, , , , WebDriver, . API . W3C, , , â , , , â , . , , , API , .
â , . !
â ! !
, QA, Joker 2016 (, 14-15 ).
, (, 10 ).
, 09.09!