Slide 1

Slide 1 text

ॻ੶ʲςετۦಈ։ൃʹΑΔ૊ΈࠐΈ ϓϩάϥϛϯάʳΛࣸܦͨ͠ײ૝ 2022.4.27 ύʔιϧςΫϊϩδʔελοϑגࣜձࣾ Ѩ෦ ߞೋ koji.abe@persol.co.jp ୯ମςετ͸ΤϯδχΞΛٹ͏LTେձ 1

Slide 2

Slide 2 text

• ࣗݾ঺հ • ॻ੶ʲςετۦಈ։ൃʹΑΔ૊ΈࠐΈϓϩάϥϛϯάʳͷ঺հ • ײ૝ ໨࣍ 2

Slide 3

Slide 3 text

• ໊લɿѨ෦ɹߞೋ(͋΂ɹ͜͏͡) • ॴଐɿύʔιϧςΫϊϩδʔελοϑגࣜձࣾ • ҩྍػث։ൃ • ૊ࠐΈιϑτ΢ΣΞ։ൃɻCݴޠɺϕΞϝλϧͷ։ൃۀ຿ܦݧ͕΄ͱΜ Ͳɻ • twitter: @juraruming ࣗݾ঺հ 3

Slide 4

Slide 4 text

• https://www.oreilly.co.jp/books/9784873116143/ • ૊ࠐΈͰTDD͢Δࡍͷఆ൪ͷຊ(ͱࢥ͍ͬͯ·͢) • TDDͷ΍ΓํΛֶ΂Δɻ ɹ࠷ॳ͸খ͞ͳςʔϚ(LED Driver)͔Βελʔτɻ • ޙ൒͸ઃܭݪଇΛֶͿɻ ɹSOLIDݪଇ ॻ੶ʲςετۦಈ։ൃʹΑΔ૊ΈࠐΈϓϩ άϥϛϯάʳͷ঺հ 4

Slide 5

Slide 5 text

ɾখ͘͞ஈ֊Λ౿ΜͰίʔυ͕੒௕͍ͯ͘͠ɻ ɾϦϑΝΫλϦϯάͷ΍Γํֶ΂Δɻ ɾ૊ࠐΈಛ༗ͷ՝୊΁ͷΞϓϩʔνΛઆ໌ɻ ɹྫ) Ϋϩε։ൃ؀ڥɿϗετͱλʔήοτͰ૊ࠐΉϥΠϒ ϥϦ͕ҧ͏ͨΊಈ࡞͕ҟͳΔ͔΋͠Εͳ͍ɻ ɹྫ) ϋʔυ΢ΣΞɿϋʔυ΢ΣΞͷڍಈΛͲ͏΍ͬͯςετ ͢Δ? ॻ੶ʲςετۦಈ։ൃʹΑΔ૊ΈࠐΈϓϩ άϥϛϯάʳͷ঺հ 5

Slide 6

Slide 6 text

1.ࣸܦͨ͠ײ૝ 2.ςετઓུ 3.ϓϩάϥϛϯάݴޠڭҭͱͯ͠ͷTDD ײ૝ 6

Slide 7

Slide 7 text

1.ࣸܦͨ͠ײ૝ 2.ςετઓུ 3.ϓϩάϥϛϯάݴޠڭҭͱͯ͠ͷTDD ײ૝ 7

Slide 8

Slide 8 text

ɾTDDͷ։ൃϦζϜ͕৺஍Α͍ɻ ɹRed(ςετࣦഊ֬ೝ)→Green(ςετ੒ޭ)→ϦϑΝΫλϦϯά ɹ ৺஍Α͍ɾָ͍ͨ͠Ίςετ͢Δ͜ͱ͕໨తʹͳͬͯ͠·͍͕ͪɻ ɹ⇛ʲςετਥʳʹͳΓ͗͢஫ҙͱࢥͬͨɻ ɹςετਥͱ͸?ɿhttps://gihyo.jp/dev/serial/01/tdd/0014 ݱ৔Ͱ͸ࣄલʹTDDͷϧʔϧܾΊ͓ͯ͘ͱྑ͍͔΋ɻ 1. ࣸܦͨ͠ײ૝ 8

Slide 9

Slide 9 text

Ͳ͏ֶΜͰ͍Δ? ɹجຊɺ@t_wada͞Μͷํ๏(https://twitter.com/t_wada/status/9000231741)Ͱ͢ɻ ɹຊͷίʔυࣸܦ⇛gitίϛοτɾϓογϡ ԿΛҙ͍ࣝͯ͠Δ? ɾͰ͖Δ͚ͩࡉ͔͍εςοϓͰίϛοτɾϓογϡΛ৺͕͚ͨɻ ɹίϛοτϩάʹຊͷষ൪߸ɾϖʔδ਺Λهࡌ͢Δɻ ɹෆ໌఺ɾֶͼɾؾ͍ͮͨ͜ͱͳͲ΋ϩάʹ࢒͢ɻ ɾTDDͷྲྀΕΛՄࢹԽ͢Δ͜ͱͰίʔυͷ੒௕͕Θ͔Δɻ ɹ͋ͱͰίϛοτϩάΛݟฦ͢ͱৼΓฦΓ͕Ͱ͖Δɺؾ͕͍͍࣋ͪɻ 1. ࣸܦͨ͠ײ૝ 9

Slide 10

Slide 10 text

ຊͷࣸܦͷίϛοτϩά ※ݴޠ͸CݴޠɻςετϑϨʔϜϫʔΫ͸ຊͱಉ͡CppUTestɻ • LED Driver https://github.com/grace2riku/cmake-cpputest/tree/syakyo • HomeAutomation https://github.com/grace2riku/TDD_EmbeddedC_HomeAutomation 1. ࣸܦͨ͠ײ૝ 10

Slide 11

Slide 11 text

1.ࣸܦͨ͠ײ૝ 2.ςετઓུ 3.ϓϩάϥϛϯάݴޠڭҭͱͯ͠ͷTDD ײ૝ 11

Slide 12

Slide 12 text

• TDDΛ։ൃͰͲ͏ద༻͢Δͷ͔ɾڭҭ͢Δͷ͔ɺઓུॏཁͱײ ͨ͡ɻ • ૊৫ɾ։ൃର৅ɾͦͷଞͰઓུ΋มΘΓͦ͏ɻ ɹྫ) ೿ੜ։ൃ?৽ن։ൃ? ɹྫ) ։ൃܦݧ๛෋ͳϚΠίϯɾϓϩηοα?ͦΕͱ΋৽ن? ɹྫ) TDDΛνʔϜʹͲ͏఻೻ɾڭҭ͍ͯ͘͠? -> ϖΞϓϩ? https://gihyo.jp/dev/serial/01/tdd/0019 2.ςετઓུ 12

Slide 13

Slide 13 text

1.ࣸܦͨ͠ײ૝ 2.ςετઓུ 3.ϓϩάϥϛϯάݴޠڭҭͱͯ͠ͷTDD ײ૝ 13

Slide 14

Slide 14 text

• ຊΛࣸܦ͠TDDʹֶ͍ͭͯΜͰ͍ͬͨΒ࣍ ͷಈըʹग़ձ͏ɻ https://gihyo.jp/dev/serial/01/tdd/0016 ʲϓϩάϥϛϯάݴޠΛϚελʔ͢ΔͨΊʹ ͸ͦͷݴޠͷςεςΟϯάϑϨʔϜϫʔΫΛ ࡞ͬͯΈΔʳ 3.ϓϩάϥϛϯάݴޠڭҭͱͯ͠ͷTDD 14

Slide 15

Slide 15 text

ʲϓϩάϥϛϯάݴޠΛϚελʔ͢ΔͨΊʹ͸ͦͷݴޠͷςεςΟ ϯάϑϨʔϜϫʔΫΛ࡞ͬͯΈΔʳ -> ͔֬ʹͦͷͱ͓Γ͔΋ɻɻɻ ɹൺֱత৽͍͠ϓϩάϥϛϯάݴޠ(Rust, ZigͳͲ)͸ςετػೳ͕ݴ ޠʹ૊Έࠐ·Ε͍ͯΔɻ ɹςετػೳΛ࢖ͬͯݴޠࣗମΛղઆ͍ͯ͠Δɻ ɹTDD͠ͳ͕Βͷݴޠֶश͸Ξϓϩʔνͱͯ͠ྑ͍͔΋ɾɾɾͱײ ͨ͡ɻ 3.ϓϩάϥϛϯάݴޠڭҭͱͯ͠ͷTDD 15

Slide 16

Slide 16 text

͝੩ௌ͋Γ͕ͱ͏ ͍͟͝·ͨ͠ɻ ऴΘΓ 16