
ããã«ãªç€Ÿã«ãããDatadog Syntheticã«ããE2Eãã¹ãã®åãçµã¿(éçšç·š)
â»ãã®èšäºã¯èªåãæå±ããçµç¹ã§æžãã以äžã®èšäºã®ã³ããŒã§ããæçš¿ããèšäºã¯å人ã®èäœç©ãšããŠèªããã°ã«ã³ããŒããŠè¯ãã«ãŒã«ãšããŠããŸãã
https://tech-blog.mitsucari.com/entry/2025/02/17/102259
ããã«ã¡ã¯ãããã«ãªCTOã®å¡æ¬ããšãã€ãã³ãŒ(@tsukaby0) ã§ãã
以äžã®ååã®èšäºã§ã¯Datadog Syntheticãéžå®ããéçšã®è©±ãäž»ã«æ±ããŸããã
https://tech-blog.mitsucari.com/entry/2025/02/17/102031
ä»åã®èšäºã§ã¯ãããå ·äœçãªéçšã®è©±ãããŠãããããšæããŸãã
ãã¹ãã±ãŒã¹èšèš: ã¿ã€ãã³ã°ãšå¯Ÿè±¡ç°å¢
åå以äžã®ãããªããšãèãããšè¯ããšããããšãè¿°ã¹ãŸããã
- å®è¡ã¿ã€ãã³ã°
- CI/CDã®ããã»ã¹ã§dev, stgçã®ç°å¢ã«ãããã€ããåŸã§å®è¡ãã
- prdç°å¢ã«ãããã€ããåã«å®è¡ãã
- prdç°å¢ã«ãããã€ããåŸã§å®è¡ãã
- 2æéããšãªã©ãå®æçã«å®è¡ãã
- 察象ç°å¢
- å°çšã®ç°å¢ãçšæããŠãããããã§å®è¡ãã
- stgç°å¢ã§å®è¡ãã
- prdç°å¢ã§å®è¡ãã
- çµæ(ã€ã³ã·ãã³ã)ã«å¯Ÿãã察å¿ããã»ã¹
ãã®ç¹ã«ã€ããŠãããã«ãªã§ã¯ä»¥äžã®ããã«å®ããŠããŸãã
å®è¡ã¿ã€ãã³ã°: CI/CDã®ããã»ã¹ã§stgç°å¢ã«ãããã€ããåŸã§å®è¡ãã
ã§ããã ãæ©æã«åé¡ãçºèŠããããããCI/CDã®äžç°ãšããŠå®è¡ããããšãšããŸããã
察象ç°å¢: stgç°å¢
prdç°å¢ã«å¯ŸããŠå®è¡ãããšããèãæ¹ããããŸãããstgãprdãã©ã¡ãã察象ã«ãããšããããæ¹ããããšæããŸãã
stgãšprdã§äºéã«ãã¹ãã±ãŒã¹ã管çããããªãã§ããããããã ã«å§ãããã£ãã®ã§stgç°å¢ã ãã察象ãšããŸãããprdã察象ãšããå Žåãå€æŽããããã€ãããŠããã§ãªããšãã¹ãã§ããªãããšããã®ããããŸããåé¡ã¯æ©æã«çºèŠãããã§ãã(â»prdç°å¢ã§ãå®è¡ããããšã§åé¡ãæ©æã«(確å®ã«)çºèŠãããšããèãæ¹ããããŸãã)
çµæ(ã€ã³ã·ãã³ã)ã«å¯Ÿãã察å¿ããã»ã¹: CIãGitHub Actionsã§æ§ç¯ããŠãããããE2Eã倱æããå Žåã¯CIãFailãããã®çµæã¯ç¹å®ã®Slackãã£ã³ãã«ã«mentionä»ãã§éç¥ãããéç¥ãåãã人(PR mergeããCIå®è¡è )ã¯E2Eã®ãã¹ãçµæãã¿ãŠå³æ察å¿ãéå§ãã
äžèšã®éãã§ããéçºè ã¯localç°å¢ã§ãã¹ãããŠããPRãäœããŸãããåœç¶ååã«ãã¹ãã§ããŠããªãã±ãŒã¹ããããŸãããã®ãããªã±ãŒã¹ã§Slackéç¥ã«ãã£ãŠæ©æã«åé¡ã«æ°ã¥ããŸãã
ãã¹ãã±ãŒã¹èšèš: ãã¹ãç¯å²
ãã¹ãã®æ¹éãšããŠã¯ããã¹ãã£ã³ã°ãããã£ãŒã«åŸã£ãŠåºãæµ ãäœæããæ¹éãšããŸãããåäžã®ç»é¢ã§åå²ãããã€ããããããšããã±ãŒã¹ããããŸããäŸãã°checkboxãcheckããŠããButtonãæŒãã±ãŒã¹ãšcheckããªãã§ButtonãæŒãã±ãŒã¹ãªã©ã§ã¯ã±ãŒã¹ã¯2ã€ãããŸããããã®ãããªç¶²çŸ æ§ã¯æ±ããã«ããã¯1ãã¿ãŒã³ã§è¯ããšããããšã«ããŸããã
ãã¡ãããã®ãã¹ãããŠããªãã±ãŒã¹ã§ãã°ãããå ŽåãE2Eã§ã¯æ€ç¥ã§ããŸãããããã®ç»é¢ããã³ButtonãæŒãããšã§çºçããå¯äœçšãæå³éãã§ããããšãããã¹ãã«ã¯ãªããŸãããã®éšåã¯å²ãåã£ãŠãã£ãŠããŸããçæ³çã«ã¯ç¶²çŸ æ§ãäžãããšãã°ãæžããããšæããŸãããæ®å¿µãªãããããŸã§äœã蟌ãã ãä¿å®ããäœå¶ã¯ä»ã®ããã«ãªã§ã¯æ§ç¯ã§ããŸããã(ããã«ãªã®ããŒã èŠæš¡ã売äžèŠæš¡ã10åãªã©å€§ãããªã£ãå Žåã¯QAããŒã ãE2Eç°å¢ãä¿å®ãã€ã€ãããç¶²çŸ çã«ãªã°ã¬ãã·ã§ã³ãã¹ãã§ããç°å¢ãæ§ç¯ãã¹ãã ãšã¯æããŸãããä»ããã¹ãã§ã¯ãªããšæã£ãŠããŸãã)
å®éã®å©çšè ã®ãŠãŒã¹ã±ãŒã¹ãæš¡ããŠããã¹ãã±ãŒã¹ãäœæããããšã«ããŠããŸããããã«ãªç€Ÿã®è£œåã¯toBåãã®ããã«ãªé©æ§æ€æ»ã§ããããã¯SPIã16Personalitiesãã€ã¡ãŒãžããŠè²°ããã°ãšæããŸããããã«ãªã®Webã¢ããªã±ãŒã·ã§ã³ã®ç»é¢ã«ã¯å€§ããåããŠïŒã€ã®ã«ããŽãªããããŸãã
- äž»ã«æªå¥çŽè
ãé²èŠ§ãã
ãµãŒãã¹ãµã€ãã»LP
- å°å
¥äŒæ¥æ§ïŒäž»ã«äŒæ¥ã®äººäºéšïŒãæ€æ»ã®åæ€è
ãç»é²ããããçµæãé²èŠ§ãã
管çç»é¢åŽ
- å°å
¥äŒæ¥æ§ã®èªç€Ÿã®ç€Ÿå¡ãªã©ãé©æ§æ€æ»ãåæ€ãã人ãå©çšãã
åæ€ç»é¢åŽ
ãããã«å¯ŸããŠä»¥äžã®ãããªãã¹ããäœæããŠããŸãã
- ãµãŒãã¹ãµã€ãTOP(LP)ã«ã¢ã¯ã»ã¹ããäŸ¡æ ŒããŒãžãšæ©èœããŒãžãé²èŠ§(é·ç§»)ããè³æè«æ±ããŒãžãéããŠããè³æè«æ±ããããã®åŸå ¥åããã¡ãŒã«å®ã«åä»ã¡ãŒã«ãå±ããŠããããšã確èªãã
- 管çè ã管çç»é¢ããé©æ§æ€æ»ã®åæ€è ãç»é²ããåæ€ãäŸé Œããã¡ãŒã«ãéãããããšã確èªãã
- é©æ§æ€æ»åæ€è ãé©æ§æ€æ»ã®åçãè¡ãïŒéžæè¢ãéžãã§ãç»é¢é·ç§»ããïŒãå®äºããŒãžã®è¡šç€ºã確èªãã
ãã¹ãã±ãŒã¹äœæ(åºæ¬èšå®)
Datadog Synthetic Monitoring & Testingã®ç»é¢ãããã¹ããäœæããŸãã
ç§ãå°å ¥ããé ã¯ç¡ãã£ãã®ã§ããã以äžã®ããã«ããçšåºŠã®ãã³ãã¬ãŒããçšæãããããã«ãªã£ãããã§ããã
ããããåèã«ããŠãããã®ã§ãããStart from ScratchãéžæããŸãã
察象ã®URLãéžæããŸããããã«ãªã®å Žåã¯ããã¯stgç°å¢ã®URLãšããŠããŸãã ããã«ãªã§ã¯stgç°å¢ã«BasicèªèšŒããããŠããŸããããããçªç Žããããšãã§ããŸããHTTP Authenticationã«å¿ èŠãªå€ãèšå®ããŠãã ããã
ãŸããCookieã®èšå®ãã§ããŸããäŸãã°ãã°ã€ã³åŸã«ãã¥ãŒã¹ããããã¢ãããããšãããªã³ããŒãã£ã³ã°ããŒã«ã®ãããã¢ãããèµ·åããŠããŸããæäœãã§ããªããšãããããªã±ãŒã¹ããããŸããããããå Žåã¯å€§æµã¯Cookieã§å®äºç¶æ ãªã©ã管çãããŠããã®ã§ãããã§å®äºæžã¿ã«ã³ã³ãããŒã«ã§ããŸãããã®ä»ãç¹å®ã®Cookieå€ãããå Žåã¯ç¹å®ã®æåãããªããªã©ã®éçºãã§ããŸãããããçšåºŠã¯ã³ã³ãããŒã«ã§ããŸãã
ããã§å°ãé£ããã®ããäŸãã°GoogleèªèšŒãªã©ã®OAuthèªèšŒããæäŸããŠããªãã·ã¹ãã ã®å Žåã§ããGoogleèªèšŒã®ID, PASSãå ¥åãããããšã¯ã§ããŸãããBOTããã®æäœãšå€å®ãããŠã倧æµã¯å ã«é²ã¿ãŸãã(reCAPTCHAçãªãã®ã§é²ããã)ãããã¯çªç Žããè¡ããªãã®ã§ãGoogleèªèšŒä»¥å€ã®èªèšŒçµè·¯ãäœã£ãŠããå¿ èŠããããŸããäŸãã°STGç°å¢ã§ã ãæ©èœããç°¡æãã°ã€ã³ãã¿ã³ãäœããšããã¡ãŒã«ã¢ãã¬ã¹ãšãã¹ã¯ãŒãã«ããèªèšŒãäœããªã©ã§ããä»ã®æ代ã®æµãçã«ã¯Twitter瀟ã®APIæ¹æªçã®åœ±é¿ã§ãã¡ãŒã«ã¢ãã¬ã¹ãšãã¹ã¯ãŒãã®èªèšŒçµè·¯ãçšæããŠããã»ç»é²ãä¿ãããšãããµãŒãã¹ãå¢ããŠããŠããå°è±¡ããããŸãã
ã¿ã°ã«ã€ããŠãç»é²ããŠãããšè¯ããšæããŸããããã«ãªã®å Žå㯠e2e-tests
ãšããã¿ã°ãä»ããŠããŸããçç±ã¯åŸè¿°ããŸãã
次ã®èšå®ã«ã€ããŠè§£èª¬ããŸãã
ããã€ã¹ã®éžæã¯ã奜ã¿ã§è¯ããšæããŸããããã«ãªã§ã¯ã³ã¹ãããŠã³ããã³E2Eã®é床ãèæ
®ã㊠Chrome Laptop Large
ã®ã¿éžæããŠããŸããè¿å¹Žã§ã¯ã ãã¶ãã©ãŠã¶éã®å·®ç°ã¯ç¡ããªã£ãŠããŸãããããã«ãªã®å Žåã¯ãã©ãŠã¶ã®éãã«ããé害ãåãåããã¯ããã»ã©ç¡ãããããã®ãããªèšå®ã«ããŠãŸãããçæ³çã«ã¯ããå€ãã®ããã€ã¹ã§æ€æ»ããããšã¯æã£ãŠããŸãã
ãã±ãŒã·ã§ã³ã«ã€ããŠãã奜ã¿ã§è¯ããšæãŸããããã«ãªã¯ã°ããŒãã«å±éããŠããªããããTokyo (AWS)ã ããå©çšããŠããŸããOsakaã¯ãã£ãŠãè¯ããããããŸãããããããåè¿°ãšåããã³ã¹ãããŠã³çã®çç±ããéžæããŠããŸããã
Retry Conditions ã¯éèŠã§ããE2Eã¯ã©ãããŠãåäœãã¹ãçãšæ¯èŒããŠFlakyã«ãªããããã§ããããã«ãªã§ããã®ãããªçµéšã¯äœåºŠããããŸãããã®åé¡ã¯Retry Conditionsãèšå®ããããšã§å€§å¹
ã«æ¹åããŸãããããã«ãªã§ã¯ 1 times
ã«èšå®ããŠããã倱æããå Žåã§ã1åã ãèªåã§ãªãã©ã€ãããŸããDatadog Synthetic Browser Testã¯cronçãªå®æå®è¡ãã§ããŸãããã³ãã³ãå®è¡ã«ããå³æå®è¡(CIãžã®çµã¿èŸŒã¿)ãã§ããŸãããã®è©±ã¯åŸè¿°ããŸãããå®æå®è¡ã ãã§ãªããã³ãã³ãå®è¡ã®å Žåã§ããã®Retry Conditionsã¯æ©èœããŸãã
Scheduling & Alert Conditions ã¯èŠããšããã§ããã¹ã±ãžã¥ãŒã«èšå®ã¯ããã«ãªã§ã¯äžèŠãªãããOFFã«ãããã®ã§ãããã©ãããã§ããªãããã§ãããã®ããã1weekã«èšå®ããŠããŸãã(ããã«ãªã§ã¯CIã®ããã»ã¹ãšããŠå®è¡ããããããå®æå®è¡ã¯äžèŠãšããèãã§ãã)
Monitorã«ã€ããŠã¯Datadogã®ä»ã®æ©èœãšåãã§ããã詳现ã¯å²æããŸããããã«ãã£ãŠE2Eã倱æããå Žåã«Slackéç¥ããããšãã§ããŸãããããã«ãªã®å Žåã¯GitHub Actionsã倱æããå Žåã«ãã¡ãã®ã¯ãŒã¯ãããŒã®1jobãšããŠSlackéç¥ããä»çµã¿ãçµãã§ããã®ã§ããã®Monitorã¯äœ¿ã£ãŠããŸããã
ãããŸã§ã®åºæ¬èšå®ãçµãããã次ã¯ã¬ã³ãŒãã£ã³ã°ã«ç§»ããŸãã
ãã¹ãã±ãŒã¹äœæ(ã¬ã³ãŒãã£ã³ã°)
ã¬ã³ãŒãã£ã³ã°ã§ã¯å³ãã€ã³ã§å®éã«ç»é¢ãæäœããŠããã®èšé²ãå·Šã«æ®ãããšãã§ããŸããå³ãã€ã³ã§æäœãã¥ãããšãã¯ãPopupããŠå¥ç»é¢ã§æäœããããšãã§ããŸãã
åºæ¬çã«æäœããã ãã§ã¬ã³ãŒãã£ã³ã°ã§ããããããã®ç¹ã¯ããŒã³ãŒãã§ãã¹ãã±ãŒã¹ãäœããŠæ¥œã§ãããéãšã³ãžãã¢ããžã¥ãã¢ãšã³ãžãã¢ã§ãååã«äœãããšãã§ãããšæããŸããå®éã«ããã«ãªã«ã¯ãžã¥ãã¢ãšã³ãžãã¢ãããŸããã30åçšåºŠã®ã¬ã¯ãã£ãŒã»ãã£ããã¢ããã ãã§ãä»ã§ã¯æ®éã«ä¿å®ã§ããŠããŸãã
ç»é¢ãæäœããã ãã§ã¯åã«ç»é¢é·ç§»ãããformã«å ¥åããã ãã§çµãã£ãŠããŸããŸãããã¡ããããã ãã§ãæå³ã¯ãããŸããããããªã³ã¯ãæ€ç¥ã§ããããç»é¢ãæ£ããæç»ã§ããŠããããªã©ã¯æ€èšŒã§ããŸãã
ãã以å€ã«äœããæ€èšŒãããå Žåã¯é©å®Assertionãå ¥ããŸãã
ç¹å®ã®èŠçŽ ãç¹å®ã®ã³ã³ãã³ã(æå)ãæã£ãŠãããããªã©ã¯äžè¬çãªAssertionã§ãããã¡ãŒã«ãŸã§Assertã§ããã®ã¯ãšãŠãè¯ãã§ããã
ããã«ãªã§ã¯äœããæäœãããšãã«ãã°ã€ã³ãŠãŒã¶ãŒã«ã¡ãŒã«ãéããããšããããšããããŸãããã®ãããªã±ãŒã¹ã§æ£ããã¡ãŒã«ãéãããŠããããæ€èšŒãããã¹ããäœã£ãŠããŸãããããç°¡åã«å®çŸã§ããã®ã¯SaaSåã®E2EããŒã«ãªãã§ã¯ã ãšæããŸãã
äŸãã°ä»¥äžã®JXé信瀟ã®Sirosuzumeããã®èšäºã§ã¯PlaywrightãšSESãšS3ã䜿ã£ãŠã¡ãŒã«é ä¿¡ã®ãã¹ããè¡ã£ãŠããŸãã
https://tech.jxpress.net/entry/2024/06/25/142839
ããèªäœã¯çŽ æŽãããããšã§ããããããŸã§äœã蟌ãã³ã¹ããšä¿å®ã³ã¹ãããããšããåé¡ããããŸãã
以äžã®COUNTERWORKSã®kuririmaroããã®èšäºã§ã¯PlaywrightãšMailtrapãçµã¿åãããŠããŸãã
https://zenn.dev/counterworks/articles/d2751f4e5ae2f5
ãããéçºã³ã¹ãã¯ããããŸãããã¡ãŒã«ãµãŒããŒã¯mockããŠãããšèšããããprdç°å¢ãšåããã¹ãã«ã¯ãªããŸããã
Datadogã®Mailã®Assertionã®å ŽåãDatadogããã¹ãå®è¡ããšã«æãåºãããDatadog瀟ã®ãã³ãã©ãªã¡ãŒã«ã¢ãã¬ã¹ã«å¯ŸããŠã¡ãŒã«ãå±ããŠãããïŒãšãããã¹ããã§ãããããããªãæ¬çªç°å¢ã«è¿ããã¹ããã§ãããšããã¡ãªããããããŸãã
åºæ¬çã«ã¯ãã®æµããç¹°ãè¿ããŠãã¹ãã±ãŒã¹ãäœã£ãŠããããã§ãããæ¯åäœãã®ã¯æéãªã®ã§ãTemplateãšãããããªå称ã§ãã¹ãã±ãŒã¹ãäœã£ãŠãããããããã³ããããŠäœããšããããšæããŸãã
ãã¹ãã±ãŒã¹ã®å®è¡
åŒç€Ÿã®å ŽåãGitHub Actionsã§CI/CDãæ§ç¯ããŠããŸãã以äžã®éããDatadogãå ¬åŒã«Actionãå ¬éããŠããã®ã§ãåºæ¬çã«ã¯ãããå©çšããã ãã§è¯ãã§ãã
https://docs.datadoghq.com/ja/continuous_testing/cicd_integrations/github_actions/
å ã»ã©TagãšããŠe2e-testsãä»ãããšè¯ããšèšããŸããããããã¯CIã§å®è¡ãã察象ã®ãã¹ãã±ãŒã¹ãã³ã³ãããŒã«ããããã®ãã®ã§ããäžèšã®èšäºã«ããããŸããã
test_search_query: 'tag:e2e-tests'
ãã®èšå®ã䜿ã£ãŠããã®ã¿ã°ãä»ããŠãããã®ã ããå®è¡ã§ããŸããäžã«ã¯äžæçã«å®è¡å¯Ÿè±¡ããå€ãããã±ãŒã¹ããå®æå®è¡çšã®å¥ã®ãã¹ãã±ãŒã¹ããããããã¯CIã§ã¯å®è¡ããããªããªã©ã®ã±ãŒã¹ããããŸããã¿ã°ç®¡çã¯ãã®ãããªã±ãŒã¹ã§åãçºæ®ããŸãã
éçšããŠã¿ãææãç¥èŠ
å®éã«éçšããŠã¿ãŠä»¥äžã®ãããªç¥èŠãåŸãããŸããã
Good
- 2ã¶æã«äžåºŠçšåºŠã¯æ¬åœã«ãã°ããããE2Eã®ãããã§æ©æã«åé¡çºèŠã§ããŠãã
- ããã«ãªé©æ§æ€æ»ã®åæ€ç»é¢åŽã¯ç®¡çç»é¢åŽãšæ¯èŒããŠããŸãå€æŽãå ¥ããªãããããã§ãã©ã€ãã©ãªã¢ããããŒãçã®å šäœå€æŽæã«åœ±é¿ã¯ãããããããªãããã®æžå¿µãæããªããããä»ãŸã§ã¯æåã§ãã¹ãããŠãããE2Eãå°å ¥ããŠããæåã§ã®ãã¹ããå€§å¹ ã«æžã£ã (â»2020幎ãããªã©ã¯E2Eãå°å ¥ããŠãããããã¹ããããªãã£ããããåæ€ç»é¢åŽã§åé¡ãèµ·ãããšããã±ãŒã¹ãè¥å¹²ãã£ãããè¿å¹Žã§ã¯åæ§ã®åé¡ãçºçããŠããªã)
- stgç°å¢ã§ã®åäœç¢ºèªã³ã¹ããããçšåºŠç·©åã§ããŠãã
- ããçšåºŠå®å¿æãåŸãç¶æ ã§prdãžãããã€(ãªãªãŒã¹)ã§ããŠãã
- äœãä¿å®ã³ã¹ãã§E2Eãéçšã§ããŠããã倧ããç»é¢ãäœãå€ããå Žåãªã©ã¯å¥ãšããŠãå€å°ã®å€æŽã§ã¯ãã¹ãã·ããªãªãç·šé(åèšé²)ããå¿ èŠããªã
- ããçšåºŠäœãééã³ã¹ãã§E2Eãéçšã§ããŠãããPlaywrightçã®ç¬èªå®è£ ã®æ¹ãå€§å¹ ã«å®ãã ããããããããä»ç€ŸSaaSããã¯äœã³ã¹ãã§éçšã§ããŠãããã¡ãªã¿ã«ããã«ãªç€Ÿã®å Žåã¯E2Eã ãã§å¹Žé$3000ã»ã©ã
Bad
- E2Eã®å®è¡ãšstgãžã®ãããã€(CD)ãæä»å¶åŸ¡ããŠããªãã®ã§ãPRãé£ç¶ã§mergeããå Žåãªã©ã¯1ã€ãã®PRã®E2Eãå®è¡ãããŠããæäžã«2ã€ãã®PRã®å 容ãstgã«ãããã€ãããŠããŸããå®ç§ãªç¶æ ã§E2Eãå®è¡ã§ããŠããªã (â»ãšã¯ããã2ã€ãã®PRã®E2Eãåãããããã¡ããéãã°åé¡ãªããšãèšãã)
- CI/CDã«E2Eãçµã¿èŸŒãŸããŠããããã§ãæ¥ãã®ãªãªãŒã¹ã®å Žåã§ãE2Eã®å®è¡(çŽ13å)ã®åŸ ã¡æéãçºçããã (â»E2Eãéããªããšprdç°å¢ãžã®ãªãªãŒã¹ã¯ã§ããªãããšãšããŠãã)
- 察象ç°å¢ãstgãšããŠããããã䞊åå®è¡çã®å¶éããããäŸãã°å人ã®äŒç€Ÿã§ã¯docker-compose + Playwrightã§éçšããŠãããããç°å¢ã䞊åã§ç«ã¡äžããããšãã§ããE2Eããã©ã¬ã«åã§ãããšããã¡ãªãããããããåŒç€Ÿã§ã¯çŸç¶ããã¯ã§ããŠããªãããSaaSåã®E2Eã§ã¯ããã¯ããã¥ãã
- E2Eå®è¡æã«ã¹ãã€ã¯ã¢ã¯ã»ã¹ãçºçããŠããŸãã5XXç³»ã®ãšã©ãŒãçºçããŠããŸãããstgç°å¢ãscale outããŠããŸã
- â»ãã®åé¡ã¯ããã©ãŒãã³ã¹ããªãœãŒã¹ã®æ¹åã§è§£æ±ºãããããçŽè¿æ°ã«æã¯5XXã§ã®Fail(Flaky)ã¯ã»ãŒ0
ä»ã®ãšããæŠãæºè¶³ããŠããŸãããçæ³çã«ã¯ãã£ãšã©ã³ãã³ã°ã³ã¹ããäžãããã§ãããã§ããã°5åæªæºã§E2Eãå®äºããããã§ãããŸãããã©ã¬ã«ã§å®è¡ãããããããããã¹ãã±ãŒã¹æ§æã«æ¹åããããšãæã£ãŠããŸãããã®ãããã¯ä»åŸã®èª²é¡ãšããŠãæãèŠãŠæ¹åããŠãããããšæã£ãŠããŸãã
ä»åã¯éçšç·šãšããããšã§Datadog Synthetic Monitoring Browser Testã®å©çšæ³ãéçšç¥èŠãå ±æããŸããã
çŸåšãããã«ãªã§ã¯ITãšã³ãžãã¢ãåéããŠããŸããããã«ãªã§ã¯è£œåéçºã ãã§ãªããDeveloper Experienceã«ãåãå ¥ããŠããŸããèå³ã®ããæ¹ã¯ãã²ãæ°è»œã«ãé£çµ¡ãã ããïŒ