ユニットテストとは何なのか.改 2025年 4 月 7 日 (月) 俺の勉強会 #1 @stwile871 1
スタヰル (@stwile871) public const ZAYU_NO_MEI = '天然パーマに悪い奴はいない'; public const HOBBY = ['🥃', '#ztmy', '洗車']; public const HOME = '名古屋'; public const WORK = 'Software Engineer'; public const FAVORITE_NAGOYA = '味噌煮込みうどん🟤'; 2
前提条件 ● 昔、現場の非エンジニア向けに作った資料 ○ 2020年10月13日(火) ● 5年の時を超えて世に解き放つ時が来た ○ 一部、加筆修正 ● ユニットテストの定義をするものではない(※重要) 3
対象者 ● ソフトウェア開発における関係者 ○ 開発者(プログラマ)ではない人 ● プロジェクトにおけるユニットテスト 単体テストに興味がある人 4
今日話すこと ソフトウェア開発における単体テストの役割 5
今日話さないこと ● 単体テストを書くことによるエンジニア向 けのメリット ○ 数字とか使って説明はしません ● 単体テストの書き方 6
ソフトウェア開発におけるテスト 7
いまいちわからん🤬🤮 8
唐突な食品工場の例 9
レトルト食品ができるまで ● 煮込み ● 材料加工 ○ 野菜の皮むき ○ 味付け ○ 冷ます ○ カット ■ 乱切り ■ 角切り ● パック詰め 10
レトルト食品工場におけるテスト(過程) 商品の完成:レトルト 食品の完成: カレー 食材の完成 ← 食材の加工 11
皮剥きの例(仮) 責務 ● 皮が剥かれていること 12
カットの例(仮) 責務 ● カットされていること ○ 角切り 13
単体テストのイメージとは ◯◯ が ◎◎ されている 状態を証明する、 動作証明(スナップショット) 14
単体テストのイメージ ● 定期的に実行 ● プログラムが プログラムを実行 CI 15
皮むきの例(仮) が されている 状態を証明する、 動作証明(スナップショット) 16
カットの例(仮) が されている 状態を証明する、 動作証明(スナップショット) 17
なぜ、ユニットテストが落ちる🤬🤮の か 18
ビジネスに変更🛠 19
ユニットテストが落ちる 20
期待値が変わったためテストが落ちた が されている 状態を証明する、 動作証明(スナップショット) 21
まとめ ● ユニットテストとは、 ○ 期待したソースコードの状態を保証する ○ 動作証明(スナップショット) ● テストが落ちる理由 ○ 要件が変わり、ソースコードが書き換わったため 22
をはり 23