Upgrade to Pro — share decks privately, control downloads, hide ads and more …

私のテストコードの書き方

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.

 私のテストコードの書き方

Avatar for Atsushi Okui

Atsushi Okui

January 12, 2026
Tweet

More Decks by Atsushi Okui

Other Decks in Programming

Transcript

  1. 自己紹介 Atsushi Okui (@blue32a_jp) ソフトウェアエンジニア / Webアプリケーション エンジニア / PHPer

    関心:設計、コード品質、リファクタリング、テス ト、モデリング
  2. どのような結果が欲しい? test('2つの数値を足し算する ', () => { // Arrange // ???

    // Act // ??? // Assert expect(result).toBe(3); }); // todo 実行結果して2つの整数を足した数値が欲しい🤔
  3. 結果を得るために、どのように実行する? test('2つの数値を足し算する ', () => { // Arrange // ???

    // Act const result = plus(a, b); // Assert expect(result).toBe(3); }); // todo 2つの数値を引数に取り、戻り値として足し算した結果を返す関数にしよう🤔
  4. 実行するために必要なものは? test('2つの数値を足し算する ', () => { // Arrange const a

    = 1; const b = 2; // Act const result = plus(a, b); // Assert expect(result).toBe(3); }); // todo 引数として渡すための2つの数値が必要だ🤔
  5. 実装する test('2つの数値を足し算する ', () => { // Arrange const a

    = 1; const b = 2; // Act const result = plus(a, b); // Assert expect(result).toBe(3); }); function plus(a, b) { return a + b; } 👍
  6. うまくいかない方法をたくさん見つける “I have not failed. I’ve just found 10,000 ways

    that won’t work.” 「私は失敗したわけではない。ただ、うまくいかない方法を1万通り見つけただけだ」 – Thomas Edison(トーマス・エジソン)
  7. まとめ • 開発者として、自動テストには「品質保証」よりも「即時フィードバック」への期待が 大きい • フィードバックをオンデマンドで得られることで、開発者は安心して試行錯誤すること ができる • 成果物が完成する前でもテストのことを考えることはできる •

    プロダクトコードとテストコードを一緒に育てていくことで、「テストしやすさ」「使いや すさ」も一緒に作っていく • 完成形が分からないからこそ、テストを書いて試行錯誤する