
ã第3åããæ£è§£ããååšããªããã®ãã©ããã¹ãããã®ãâââ¢æ¬è³ªèŠä»¶ãšReference Oracle
é£èŒãAIæä»£ã®ãœãããŠã§ã¢å質ã第3åãååã¯ãâ¡æé»èŠä»¶ã«ã¯ãæ£è§£ã®åºæºïŒãªã©ã¯ã«ïŒããæžãããŠããªããããAIãåãããŒãããããšè¿°ã¹ããä»åã¯ãâ¡ããããã«æåŒ·ã â¢æ¬è³ªèŠä»¶ ãæ±ããâ¢ã¯ãæžãããŠããªããã©ããããæç€ºçãªæ£è§£ãããããååšããªãé åã ã
æ¬é£èŒã§ã¯ãå質ã3ã€ã®è»žã§æããŸãââ
â èšèšæžé©åïŒä»æ§ã©ãããïŒ
â¡æé»èŠä»¶ïŒä»æ§ã«æžãããªãåœããåïŒ
â¢æ¬è³ªèŠä»¶ïŒæ¬åœã«éæãããç®çïŒ
â¢ã®ãªã©ã¯ã«åé¡ã¯ãâ¡ããããã«æ·±ã
â¢æ¬è³ªèŠä»¶ãšã¯ããã®ã·ã¹ãã ãæ¬åœã«å®çŸãããããžãã¹äžã®ç®çã»ãŠãŒã¶ãŒã®çã®çãã®ããšã ã
â¡ã¯ãæžãã°æžããããã®ãå°ãªããªãã£ããã ãâ¢ã¯ãæžãããšããŠãå¯äžã®æ£è§£ãå®ãŸããªããããžãã¹ã®æå³ã¯æèã«äŸåããé¢ä¿è ã«ãã£ãŠè§£éãæºããçŸå®ã¯å»ã ãšå€ããïŒéãããäžçïŒãããã®åºåãæ£ããããšäžæã«èšããªãããããããã¹ãã®æåŸ å€ïŒãªã©ã¯ã«ãç«ãŠãããªãããããâ¢ã®ãªã©ã¯ã«åé¡ã ã
ã§ã¯ãæ£è§£ãå®çŸ©ã§ããªããã®ããã©ããã£ãŠæ€èšŒããã®ããæ¬ç·šã§ã¯3ã€ã®çµè·¯ã§â¢ã«è¿«ãã
çµè·¯1ïŒæžãããšããã¯ãå ã«æžãïŒShift LeftïŒ
ãŸããâ¢ã®äžã§ã圢åŒåã§ããéšåã¯ãäžæµã§åœ¢åŒåããŠããŸãããããæåªå ã«çœ®ãã
仿§ãâ¢ã®æ¬è³ªïŒããžãã¹æå³ïŒãæ£ããåæ ããŠããããããã¡ã€ã³ãšãã¹ããŒããšãšãã«è©äŸ¡ããïŒãã¹ã¿ããªãã£å¯©æ»ïŒ
éçºè ã»ãã¹ã¿ãŒã»æ¥ååŽã仿§çå®ã®æ®µéããå ±åã§â¢ãäœã蟌ã¿ããWhyããçŽæ¥å¯Ÿè©±ã§äœåŸãã
ããžãã¹æå³ã Given / When / Then ã®åå ¥æ¡ä»¶ã«èœãšããæ€èšŒå¯èœã«ããïŒBDDïŒBehavior-Driven DevelopmentïŒæ¯ãèãé§åéçºïŒ
ããã§åœ¢åŒåã§ããåã¯ããªã©ã¯ã«ãæã€â ã®é åãžç§»ããæ©æ¢°çã«æ€èšŒã§ããããã«ãªããâ¢ãäžžããšè«Šããã®ã§ã¯ãªãããŸããâ ã«ã§ããâ¢ããæå€§åããã®ãèµ·ç¹ã ã
çµè·¯2ïŒæ£è§£ã®ä»£ããã«ãæ£è§£ãäœçŸãããã®ããšæ¯ã¹ãïŒReference OracleïŒ
ããã§ã圢åŒåããããªãâ¢ãæ®ããããã§å¹ãã®ã Reference Oracle ãšããèãæ¹ã ã
æç€ºçãªæåŸ å€ãç«ãŠãããªããšããâ¢ãäœçŸããŠãã"äœã"ããæ£ããšã¿ãªãããããšæ¯ã¹ãŠåŠ¥åœæ§ã倿ãããããšãã°çŸè¡ã·ã¹ãã ã®æåãæ¬çªããŒã¿ã®ååžãå®éã®ãŠãŒã¶ãŒè¡åãéçšå®çžŸãããããæããŠåç §åºç€ã«ãããã®ããæ¬ç·šã§ã¯ ãã¡ã€ã³ã·ã¹ãã ããžã¿ã«ãã€ã³ïŒDSDTïŒãšåŒã¶ã
ãæ£ããçãããæžãäžããªããŠãããæ£ããæ¯ãèã£ãŠãããã®ããæå ã«ããã°ããããç©å·®ãã«ã§ããââãããReference Oracleã®çºæ³ã ããã€ã°ã¬ãŒã·ã§ã³ã§çŸè¡ã·ã¹ãã ãæ£ãšããã®ã¯ããã®å žåã§ããã
çµè·¯3ïŒæåŸã¯æ¬çªã§ç¢ºããç¶ããïŒShift RightïŒ
èšèšã»ãã¹ãã§èŠåããªãâ¢ã¯ãæçµçã«ã¯æ¬çªã確ããªãªã©ã¯ã«ã«ãªããã«ããªã¢ãªãªãŒã¹ãA/Bãã¹ãã§ãªã¹ã¯ãæããªãã確èªããæ¬çªã®ãã¬ã¡ããªïŒå®éçšããŒã¿ïŒããã¹ãèšèšã«éæµãããã«ãªã¹ãšã³ãžãã¢ãªã³ã°ã§ç¶ç¶çã«æºãã¶ãã
ãã ããæ¬çªã§è©Šãããšããçºæ³ã¯ãæ¥æ¬ã®æ¥åã·ã¹ãã éçºã§ã¯ãã®ãŸãŸåãå ¥ããããªãããšãå€ãããã®å Žåã®ä»£æ¿ãšããŠæ¬ç·šãæããã®ããæ¬çªæå ¥åã«æ¬çªçžåœã®æ¡ä»¶ãæå ã«äœã£ãŠç¢ºãããããæ¹ã ãæ¬çªã®æ¥åãµã€ã¯ã«ïŒæ¥æ¬¡ãããâææ¬¡ç· ããšãã£ãäžé£ã®æµãïŒãåçŸã»ç䌌åçŸããã ãã§ãªããæ¬çªãšåããã©ã³ã¶ã¯ã·ã§ã³ååžã»ããªã¥ãŒã ã»é »åºŠã»äžŠè¡åŠçã§æ¥åã·ããªãªãæµãããããReference OracleãšããŠãæ¥åå šäœãæåŸ ã©ããåãããæ€èšŒãããæµãã ããç䌌ãŠã匱ããæ¬çªã®ããŒã¿ãã¿ãŒã³ïŒåãã»çµã¿åããã»éïŒãŸã§åçŸããŠã¯ãããŠãæ¬çªã§å®éã«èµ·ããããäºè±¡ãæå ¥åã«æ€èšŒãžç¹ã蟌ãããæ¬çªãã®ãã®ã«é ŒãåããªããŠããShift Rightã®çãã®å€ãã¯ååãã§åã蟌ããã
æåŸã«å€æããã®ã¯ã人é
ããã3çµè·¯ãå°œãããŠããâ¢ã®æçµå€æã¯AIã«ã¯å§ããããªããAIã¯Reference Oracleãšã®ãå·®åããæ€åºã§ããããããããã®å·®åãâ¢ã®å è¶³ãæ¬åœã«æãªãã®ãââãã®èŠæ¥µãã¯ãããžãã¹ã®Whyãçè§£ãããã¡ã€ã³ãšãã¹ããŒãã®è²¬åã ãAIã«å·®åã®æ€åºãä»»ãã人ã¯ããããéèŠããã倿ããã圹å²åæ ã¯ããã«ããã
ãŸãšã
â¢ã¯ãã²ãšã€ã®ãã¹ãã§ã¯æ±ºããããªããâ ã«ã§ããåã¯å ã«åœ¢åŒåãïŒShift LeftïŒãã§ããªãåã¯Reference OracleãšçªãåããïŒDSDTïŒãæ®ãã¯æ¬çªã§ç¢ºããç¶ããïŒShift RightïŒããããŠæåŸã®å€æã¯äººéãåŒãåãããæ£è§£ãååšããªãé åã®å質ã¯ããåäžã®æ£è§£ãæ¢ããã®ã§ã¯ãªããããããå±€ãèšèšããŠç©ã¿äžããããšã§æ ä¿ãããã
ãã®é£èŒã¯ãå š8åãäžæ¬ã«ãŸãšããããã¥ã¡ã³ãïŒãã¯ã€ãããŒããŒïŒãå ã«ãªã£ãŠããŸããéãã§èªã¿ããæ¹ã»èŠç¹ã ãPDFã§æŽã¿ããæ¹ã¯ãå人ãµã€ãã®å šæçïŒç¡æïŒãžã©ããã
âŒãã¯ã€ãããŒããŒæ¬äœïŒå šæç¡æã»æŠèŠPDFããïŒ
https://software-quality-ai-era.terumitsu-takahashi-qe.workers.dev
次åïŒç¬¬4åïŒ ã¯ããããŸã§èŠãŠããâ¡â¢ãå®éã«å質ãšããŠäœã蟌ãããã®ä»çµã¿ââAIã«çµéšç¥ãçµã¿èŸŒããQEããŒãã¹ãââãæ±ããŸãã
âŒé£èŒã®å šäœåãšååãžã®ãªã³ã¯ïŒé£èŒã€ã³ããã¯ã¹ïŒ
æ¬çš¿ããã³æ¬ç·šã¯å人ã®èŠè§£ã§ãããæå±ããçµç¹ã代衚ãããã®ã§ã¯ãããŸããã
åãåããå
ïŒterumitsu.takahashi.qe [at] gmail.com