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

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

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

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. まとめ • 開発者として、自動テストには「品質保証」よりも「即時フィードバック」への期待が 大きい • フィードバックをオンデマンドで得られることで、開発者は安心して試行錯誤すること ができる • 成果物が完成する前でもテストのことを考えることはできる •

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