>100 Views
November 26, 25
スライド概要
Node学園 43時限目
ダイキン工業 アジャイル内製センターの外部登壇資料を掲載しています
E2Eテストがない?! pino型テストピラミッドの現状 Node学園 43時限目 Node学園 43時限目 空気で答えを出したい会社 谷尾虎之介 2024/08/09 1/19
自己紹介 Node学園 43時限目 2/19
アジェンダ 話したいこと (特に内製)小規模スクラムチームにおける品質戦略の一例 話さないこと あるべきテスト戦略へチームが向かう方法や是非 各テストレベルの定義や存在意義 Node学園 43時限目 3/19
さまざまなテストピラミッド Node学園 43時限目 4/19
アイスクリームコーン型テストピラミッド おいしそうなソフトクリーム Node学園 43時限目 5/19
逆にE2Eテストが存在しないと・・・? Node学園 43時限目 6/19
pino型テストピラミッド 美味しそうなチョコアイス Node学園 43時限目 7/19
架空の非IT企業でのおとぎ話 Node学園 43時限目 8/19
アジリティを高める動き アジャイルの効果を最大化する内製化チーム設立 メンバーは基本的に開発未経験 スモールスタートのため、小規模スクラムチーム QAチームやSREチームなんてものは存在しない テストはもちろんゼロの状態からコツコツ勉強 Node学園 43時限目 9/19
(架空の)未熟なチームが育ってきた! Node学園 43時限目 10/19
開発生産性:効率の向上 アウトプット力の向上 Node学園 43時限目 11/19
開発生産性:効果の向上 アウトカムへの意識向上 プロダクトゴールやスプリントゴールへの執拗な議論 1つのゴールを決めるのに3時間揉めたことも・・・ リリース後のフィードバックを重視 実際にユーザーの使用状況を見せてもらう POだけでなく開発者から価値提案や課題創出 Node学園 43時限目 12/19
なぜpino型になってしまったのか? Node学園 43時限目 13/19
開発当初のテスト実態 リリース時に作成した手動テスト項目の流用 誰もテスト観点が分からない 自動化するエンジニアも工数も不在 低いテストスイート 偽陰性と偽陽性だらけで信頼性が著しく低い → メンテナンスされず、テスト資産がテスト負債に Node学園 43時限目 14/19
テストの知見が溜まり始めたある日・・・ ユニットテストを開発チームがしっかり記述 やみくもなテスト駆動から、振る舞いを記述したテストに変化 → 少なくとも新規開発に関してはテスト戦略が整ってきた! 振る舞いを持たない謎なレガシーテストに苦戦 属人性が非常に高く、テストの意図が不明 → テストを捨てる勇気へ Node学園 43時限目 15/19
既存のIntegration以上の上位テストを全て放棄 ユニットレベル 開発者全員がテストスイートを意識した自動テストを記述 結合レベル ハッピーパスを通した自動テスト E2Eレベル 受け入れ条件による確認のみ Node学園 43時限目 16/19
E2Eテストがないと困るか? 不具合が発生しても、すぐに修正できる環境作り 定期的なカオスエンジニアリングの実施 テスト観点を含めたポストモーテムの実施 多くの不具合は結合テスト未満で抑えられるケースが多い Node学園 43時限目 17/19
品質はテストだけではない 「プロダクト全体の品質」を作り込む 顧客価値とリスク分析の探求を怠らない 開発チーム全員で品質に向き合う 外部のQAチームには頼らない 自分たちで自動テストの意義を理解する 必要なテストを必要なレベルで遂行する Node学園 43時限目 18/19
pino型ピラミッドは是か?非か? A. 状況による E2Eテストが無くてもテストピラミッドは構築できる 必要に迫られれば、導入すればいい 一方で、大きな技術的発展により自動テストは常に進化している 結合テストはさまざまなツールで簡易化されている → localstackによりAWSとの結合テストがどんどん易化 → API定義書からAPIテストの自動生成 ...etc. つまり、E2Eテストも・・・? Node学園 43時限目 19/19