æãŸããèªåãã¹ããšã¯: ã©ã®ãããªãã¹ããéçºçç£æ§ãšéçºè äœéšãå ±ã«é«ããã®ã | Developer eXperience Day 2024ã¬ããŒã
2024幎7æ16æ¥ãš17æ¥ã®2æ¥éã«ããã£ãŠéå¬ãããäžè¬ç€Ÿå£æ³äºº æ¥æ¬CTOåäŒãäž»å¬ãããDeveloper eXperience Day 2024ãã®ã»ãã·ã§ã³ã®äžããããæãŸããèªåãã¹ããšã¯: ã©ã®ãããªãã¹ããéçºçç£æ§ãšéçºè äœéšãå ±ã«é«ããã®ããã®ã¬ããŒãããå±ãããŸãã2024幎7æ16æ¥ãš17æ¥ã®ïŒæ¥éã«ããã£ãŠéå¬ããããDeveloper eXperience Day 2024ãã®ã»ãã·ã§ã³ã®äžããããæãŸããèªåãã¹ããšã¯: ã©ã®ãããªãã¹ããéçºçç£æ§ãšéçºè äœéšãå ±ã«é«ããã®ããã®ã¬ããŒãããå±ãããŸãã
éèªWEB+DB PRESSã«ãŠã³ã©ã ããµãã³ã䟿ãããé£èŒãããåç° å人æ°ã«ããããªãèªåãã¹ããæžãã®ãããšããåãããã«å§ãŸããèªåãã¹ãã«æ±ãããããä¿¡é Œæ§ã®é«ãå®è¡çµæã«çãæéã§å°éããç¶æ ãä¿ã€ããããŒã¯ãŒããšããŠãèªåãã¹ãã®ã¢ã³ããã¿ãŒã³ãçšèªã®ææ§ããèžãŸãã€ã€èªåãã¹ãã®ããã¹ãå§¿ãæããã«ããŠãã£ãã
ç»å£è
åç° å人æ°
ã¿ã¯ãŒãºã»ã¯ãšã¹ãæ ªåŒäŒç€Ÿ
åç· åœ¹ç€Ÿé·
ãªãèªåãã¹ããæžãã®ã
ã»ãã·ã§ã³ã¯ããªãèªåãã¹ããæžãã®ãããšããåç°æ°ã®åãããããå§ãŸã£ãã
ããããã¢ã³ããã¿ãŒã³ãšããŠãèªåãã¹ãã¯ãã³ã¹ãåæžããç®çãšãããšçæçã«ã¯åŠç¿ã³ã¹ããäžé·æçã«ã¯ä¿å®ã³ã¹ãããããããšã§æã£ããããªçµæãåŸããããçµå±æåãã¹ãã«ååž°ããã¡ã§ãããšç¶ããã
æ¬æ¥ã®èªåãã¹ãã®ç®çãšã¯å€æŽå®¹ææ§ã®é«ããœãããŠã§ã¢ã«ããã¢ãžãªãã£ã®ç²åŸã§ããããœãããŠã§ã¢ã¯å€åããããšãåœããåãªã®ã§èªä¿¡ãæã£ãŠå€åããç¶ããããåãå¿ èŠã«ãªãã
ããã§åç°æ°ã¯ãã¹ãã®ç®çãšããŠ
ãä¿¡é Œæ§ã®é«ãå®è¡çµæã«çãæéã§å°éããç¶æ
ãä¿ã€ãããšã§éçºè
ã«æ ¹æ ããèªä¿¡ãäžãããœãããŠã§ã¢ã®æé·ãæç¶å¯èœã«ããããšãšçµè«ã¥ããã
以éã®ããŒã¯ã§ã¯ãã®çµè«ããä¿¡é Œæ§ã®é«ããããå®è¡çµæã«ãããçãæéã§å°éãããããç¶æ ãä¿ã€ãã®4ã€ã«åããŠããããã解説ããŠãã£ãã
ãä¿¡é Œæ§ãé«ããèªåãã¹ã
ä¿¡é Œæ§ã®é«ãèªåãã¹ããšã¯ãåããªãããšããšåç°æ°ã¯è¿°ã¹ãã
ããã§ã®åãšã¯ä»¥äžã®2çš®é¡ã«åé¡ãããã
- åœéœæ§
- ã³ãŒããæªããªãã®ã«ãã¹ãã倱æããç¶æ³
- äŸãããªãç«ãåºãŠããªãã®ã«ç«çœå ±ç¥åšã鳎ãç¶æ³
- åœé°æ§
- ã³ãŒãã«åé¡ãããã®ã«èŠéããŠããŸãç¶æ³
- äŸãããªãç«ãåºãŠããã®ã«ç«çœå ±ç¥åšã鳎ããªãç¶æ³
ãããã¯ãã³ãŒãã®æ£ãã/誀ã£ãŠããããã¹ãçµæãæå/倱æã®ããŒãã€ããŒã®ãããªã¯ã¹ã§è§£èª¬ããåœéœæ§ãšåœé°æ§ãå¯èœãªéãæžãããŠããããšã§éçºè ã®çç£æ§ãäžããããšãã§ãããšåç°æ°ã¯ç¶ããã
ãã®åœéœæ§ãšåœé°æ§ã«ã€ããŠåç°æ°ã¯ä»¥äžã®ãã¿ãŒã³ã«åé¡ããŠèª¬æããã
- åœéœæ§
- ä¿¡é Œäžèœãã¹ã(flaky test)
- äœãããªããŠã倱æããå¯èœæ§ã®ãããã¹ã
- èããã¹ã (brittle test, fragile test)
- å°ãã§ãæãè§Šãããšå€±æãããã¹ã
- ä¿¡é Œäžèœãã¹ã(flaky test)
- åœé°æ§
- 空æ¯ã
- ãã¹ãããŠããã€ããã§ã§ããŠããªãã£ã
- ã«ãã¬ããžäžè¶³ããã¹ãäžè¶³
- æžãããã¹ãã³ãŒããæžãããŠããªã
- 空æ¯ã
- èªäœèªæŒ
- äžå ·åã®ããã³ãŒããšåãã³ãŒãã§æåŸ å€ãå®çŸ©ããŠãã
èªäœèªæŒã®åœé°æ§ã«ã€ããŠã¯JavaScriptã®ãµã³ãã«ã³ãŒãã亀ããªããã®è§£èª¬ããã£ãã

å®è¡çµæã«ã€ããŠ
èªåãã¹ãã®å®è¡çµæãšã¯äœããåç°æ°ã¯ãããåãªãå®è¡çµæã§ã¯ãªããæ å ±ãã§ããã¹ããšè¿°ã¹ããããã§ã®ãæ å ±ããšã¯åãªãå®è¡çµæã§ã¯ãªã人éã«è¡åãä¿ããã®ã
ä»®ã«ãã¹ãã®çµæã«åããªããã°æ¬¡ã®è¡åã¯ããããã€ãããŒãžãããåé¡ç®æã®ç¹å®ãšä¿®åŸ©ãã®2æã«çµãããšãã§ããã
ãŸããåç°æ°ã¯èªåãã¹ãã®å€±æãšããŠExecution ErrorãšAssertion Failureã®2çš®é¡ããããAssertion Failureã®æ¹ã調æ»ã®é£æåºŠã¯è¥å¹²é«ããšè¿°ã¹ãããã®Assertion Failureã調æ»ããäžã§Assertionã®æžãæ¹ãéèŠã«ãªãããAssertionã®æžãæ¹ã¯å€±ææã«èŒãããšAssertionãæ£ããèšè¿°ããããšã®éèŠæ§ã匷調ããå ·äœçãªã³ãŒãã亀ããªãã説æããã
çãæéã§å°éãã
åç°æ°ã¯ãã®ãã£ãã¿ãŒã®èª¬æãå§ããã«ããããèŽè¬è ã«ä»¥äžã®æ§ãªåããããè¡ã£ãã
- ããŒã¿ããŒã¹ã«ã¢ã¯ã»ã¹ããã®ã¯ãŠããããã¹ã? Yes / No
- ãããã¯ãŒã¯ã«ã¢ã¯ã»ã¹ããã®ã¯ãŠããããã¹ã? Yes / No
- ãã¡ã€ã«ã«ã¢ã¯ã»ã¹ããã®ã¯ãŠããããã¹ã? Yes / No
- çŸåšæå»ã«ã¢ã¯ã»ã¹ããã®ã¯ãŠããããã¹ã? Yes / No
- äŸåå ã®ã¢ãžã¥ãŒã«ã«æ¬ç©ã䜿ãã®ã¯ãŠããããã¹ã? Yes / No
ãªã³ã©ã€ã³ããªãã©ã€ã³ã®èŽè¬è ããå¯ãããã倿°ã®åçã«ã¯ã°ãã€ãããã£ãã
åç°æ°ããããã®åãã«ã¯æ£è§£ããªãããŒã ã«ãã£ãŠç°ãªããã®ãšããäžæ¹ã§ãã®ãŠããããã¹ããšããèšèã¯ä»æ¥ãŸã§å³å¯ãªåæãåããŠããªããŸãŸäœ¿ãããŠããŠãããšããããšãæŽå²çãªèæ¯ã亀ããªãã説æããã
ãŠããããã¹ããšããå®çŸ©ãææ§ãªçšèªã«ä»£ãããã¹ãã®åé¡ãšããŠåç°æ°ã¯ãã¹ããµã€ãºãšãã軞ã玹ä»ããã
ãã¹ããµã€ãºãšã¯ãGoogleã®ãœãããŠã§ã¢ãšã³ãžãã¢ãªã³ã°ãã«ãããšä»¥äžã®æ§ã«åé¡ãããã
- Small
- ãã¹ãã®å®è¡ã1ã€ã®ããã»ã¹ã«åãŸã£ãŠãã
- Medium
- 1ã€ã®ããã»ã¹ã«åãŸã£ãŠããªããã1ã€ã®ãã·ã³ã«åãŸã£ãŠãã
- Large
- 1ã€ã®ãã·ã³ã«åãŸã£ãŠããªã
ãã®ãã¹ããµã€ãºãšããåé¡ã¯ãŠããããã¹ããšã¯ç°ãªããå®çŸ©ãéåžžã«æç¢ºã§ããã
ãã®ãã¹ããµã€ãºãšããåé¡ãšåŸæ¥çšããããŠããUnit, Integration, E2Eã®Test Scopeã3Ã3ã®è¡šã«ãŸãšãããã®ãåç°æ°ã¯æç€ºããã
ãã®è¡šã®çžŠè»žã¯äžããUnit, Integration, E2Eãæšªè»žã¯å·ŠããSmall, Medium, Largeãšãªã£ãŠããããã®è¡šã®å³äžã»ã©è²»çšå¯Ÿå¹æãæªããéã«å·Šäžã»ã©è²»çšå¯Ÿå¹æãé«ããªãã

ãç¶æ ãä¿ã€ãããã«
ãä¿¡é Œæ§ã®é«ãå®è¡çµæã«çãæéã§å°éãããç¶æ ãä¿ã€ããã«ã©ã®æ§ã«ããã¹ãããåç°æ°ã¯ãã¹ããã©ããããåŒãåãã«åºããªããæãŸãããã¹ãã®æ¯çã«ã€ããŠè§£èª¬ãå§ããã
äžè¬çã«ã¯ãã¹ããã©ãããã¯E2Eãäžæ®µãã€ã³ãã°ã¬ãŒã·ã§ã³ãã¹ããäžæ®µããŠããããã¹ããäžæ®µãšããäžã«è¡ãã»ã©ãã¹ãã±ãŒã¹ã¯å€ããªãã
ãããããã®ãã¹ããã©ããããšããèãæ¹ã¯20幎以äžãåã«æå±ããããã®ã§ãããã€ã³ãã°ã¬ãŒã·ã§ã³ãã¹ããæåããããããã£ãŒåãããã«ã åãšãã£ãå¥ã®æ¯çãæå±ããçãã«è°è«ãããŠãããçŸå Žã®éçºè ã«æ··ä¹±ãåŒãèµ·ãããŠããã
åç°æ°ã¯ãããã®æ··ä¹±ã®å
ã¯åè¿°ã®ããŠããããã¹ããããã€ã³ãã°ã¬ãŒã·ã§ã³ãã¹ããã®è§£éã®ãã¬ããçããŠãããã®ãšããã
ã§ã¯ããã¬ã®ãªãå®çŸ©ãšã¯äœããããã§åç°æ°ã¯Large, Medium, Smallã®ãã¹ããµã€ãºããã¹ããã©ãããã®èãæ¹ã«åœãŠã¯ãããããã«ããå®çŸ©ã¯æç¢ºã§æ··ä¹±ãçããªããªããšããã
ãŸããåç°æ°ã¯ãã¹ããµã€ãºãåœãŠã¯ãããã¹ããã©ãããããã«ããã€ãã©ã€ã³ã«ããããã¡ãªããã«ã€ããŠãè¿°ã¹ãã
ã§ã¯ããã®çæ³çãªãã©ãããåãå®çŸããããã«ã¯ã©ãããã¹ãããåç°æ°ã¯ãã¹ãã®ãµã€ãºããŠã³æŠç¥ã®è§£èª¬ãå§ããã
å€ãã®çŸå Žã§ã¯ãã¹ãã®æ¯çã¯ã¢ã€ã¹ã¯ãªãŒã ã³ãŒã³å(ãã¹ããã©ãããã®éã§ã¢ã³ããã¿ãŒã³)ããå§ãŸããããèªäœã¯æªãã¯ãªãããšã ãããªãE2Eãã¹ããéèŠãããŠããŸãã®ãã®èæ¯ã«ã¯éçºããŒã ãšQAããŒã ãåãããŠããããšããããè¯ãããšæã£ãŠãã®ã¢ã³ããã¿ãŒã³ã«é¥ã£ãŠããŸã£ãŠãããšåç°æ°ã¯èª¬æããã
åç°æ°ã¯E2Eãã¹ããTechnology Radarã§ãHOLD(ç©æ¥µçãªæè³ã¯é¿ããã¹ã)ãã«æå®ãããããšãåŒãåãã«åºããªããE2Eãã¹ãã§ãªãã§ãã«ããŒããããšããããšãžã®å±éºæ§ãè¿°ã¹ãã
次ã«ã©ã®ããã«ãã¹ããµã€ãºãå°ããããŠãããã«ã€ããŠå ·äœçãªäŸãæããŠãã£ã
- LargeããMediumãž
- ãã¹ãããã«ã掻çšããŠ1ã€ã®ãã·ã³ã«åãã
- MediumããSmallãž
- è¯ãèšèš(äœçµåãé«åé)ããã
- ãã¹ããã«ããç®æãåãé¢ããŠ1ããã»ã¹ã§ãã¹ãã§ããããã«ãã
è¯ãèšèšãããããšã§å質ã¯äžãããåç°æ°ã¯é¢æ°ã®ããã¹ãã¯ãããŸã§ãå質äžãããã£ãããå質ãäžããã®ã¯ããã°ã©ãã³ã°ããšããåèšã玹ä»ããããã¹ãã¯äœéèšã®æ§ãªãã®ãäœéèšã«ä¹ã£ãŠãç©ããªãããç©ãããã£ããã«ã¯ãªããããšä»ãå ããã
è¬æŒã®ãŸãšã
åç°æ°ã¯æåŸã«è¬æŒã®çµè«ãšããŠãã¹ããµã€ãºãåœãŠã¯ãããã¹ããã©ããããæç€ºããªããLargeããMediumãMediumããSmallãžãã¹ããµã€ãºãå°ããããŠããããšããä¿¡é Œæ§ã®é«ãå®è¡çµæã«çãæéã§å°éããç¶æ ãä¿ã€ãããšã«ã€ãªãããšããã
ææ
ãšã³ãžãã¢ãšããŠã®çµéšãæ¯ãè¿ããšããããŸã§çµéšããŠããããã€ãã®ããŒã ã§ããŠããããã¹ããã€ã³ãã°ã¬ãŒã·ã§ã³ãã¹ããE2Eãã¹ããšãã£ããã¹ããåé¡ããçšèªã¯ããŒã ãã·ã¹ãã ã«ãã£ãŠãŸã¡ãŸã¡ã§ã©ãããã©ããŸã§ãã¹ãããã®ããäœãããŠã¯ãªããªãã®ããææ§ã§ããã
ããããŒã ã¯äŸå察象ã®å šãŠã®ã¢ãžã¥ãŒã«ãã¢ãã¯åãããã¹ãã®ããšããŠããããã¹ããšåŒãã§ããããå¥ã®ããŒã ã¯ãŠããããã¹ãã§å¥ã·ã¹ãã ãžã®é£æºããã¹ãããŠããããããŠããŸããã
ä»åã®ããŒã¯ã§ã¯ãã¹ããµã€ãºãšããæç¢ºãªåºæºã«ãã£ãŠãã¹ããåé¡ãããããããã¹ããã©ãããã«åœãŠã¯ããããšã§ãããŸã§ææ§ã§ãã£ããã¹ããã©ãããã®ããã¹ãç¶æ ãæç¢ºãªãã®ã«èœãšã蟌ãããšãã§ããŠããéšåãéåžžã«è峿·±ããã®ã§ããã
ãã¹ããµã€ãºã«ãããã¹ããã©ãããã¯ããŒã ã«å¯ŸããŠæç¢ºãªåºæºã瀺ãããšãã§ããããããã®èããããŒã ã®ãã¹ãæŠç¥ã«åãå ¥ããããšã§ãæ°ããåç»ããã¡ã³ããŒã«å¯ŸããŠããã®ãã¹ãã§ã¯äœããã¹ãããŠäœããã¹ãã§ã¯ãªãããšããåºæºã瀺ãããšãã§ãããŸã巚倧ãªE2Eãã¹ãã倧éã«çšæããŠæ¥ã 倧éã®ãšã©ãŒéç¥(å®éã«ã¯ãªãã®åé¡ããªã)ã«æ©ãŸããããããšã©ãŒéç¥ãç¡èŠããç¿æ £ãã€ããŠèŽåœçãªåé¡ãèŠéããšãã£ããªã¹ã¯ã軜æžã§ãããšæããŸããã
ãŸãããã¹ããšäœéèšã®æ¯å©ãªã©éæã«æã¿èŸŒãŸããåç°æ°ã®äŸã話ãå
·äœäŸãéåžžã«çè§£ããããå°è±¡çãªãã®ã§ããã
ä»åã®ããŒã¯ã¯ãšã³ãžãã¢ã
- ãªãèªåãã¹ããäœãã®ã
- ããã¹ããã¹ããé¿ããã¹ããã¹ã
- ããŒã ãããè¯ããã¹ãã®ç¿æ £ãäŒåŸããã«ã¯
ã«å¯ŸããŠæç¢ºãªè§£ãæã€äžã€ã®æéã«ãªãã®ã§ã¯ãªãããšæããŸããã
ããããã€ãã³ã
é¢é£ããã€ãã³ã

Developer eXperience Day 2024 -âéçºè ...
2024幎07æ16æ¥ (ç«)ããããã®èšäº

èªåè»æ¥çã§ã¢ãžã£ã€ã«éçºã®å質ä¿èšŒãé©çšããããã€ã³ããšã¯ïŒââSDVãžã®å€é©ã«åããåŠã³

ããªãµãŒãã®ç¥èŠãçããããã¹ãã±ãŒã¹èªåçææè¡ãã¢ãã«ããŒã¹ããã¹ããã®æšæºåã»å¹çåãžææŠãšã¯











