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

絶対にテストコードを書かないチームのテストルール

 絶対にテストコードを書かないチームのテストルール

生活協同組合コープさっぽろ
ヒグ!(樋口修也)

CO-OP Sapporo

August 25, 2021
Tweet

More Decks by CO-OP Sapporo

Other Decks in Technology

Transcript

  1. コープさっぽろDXとは? 小売業界の巨大組織 • 180万人以上の組合員 • 約3000億円の年間売上 • 1万人以上の従業員 コープさっぽろがもっと 使いやすく、買い物しやすく、働きやすく

    デジタル集団 • 4人のAWS samurai認定者 • 16人の内製エンジニア • 20年以上付き合いがあるシ ステムベンダー デジタル(D)の力で巨大組織を変革(X)が昨年秋始動!
  2. そもそもなんでこんなことになったか? • 納期 ◦ ビジネスサイドがエンジニアが入協する前にリリース期日を先に決め ていた ▪ 正確なシステムの見積もりができていない ▪ テストを工数に組み込んでいない

    • 品質 ◦ 詳細な要件を固めないで制作に入っていた ▪ ファーストリリース分のみテストケースを作っていた ▪ リリース後に不具合を改修をすると決めていた ▪ リリース直前にIEを対応することになった
  3. フォーカスポイント(他は今度たっぷり話します) • 納期 ◦ ビジネスサイドがエンジニアが入協する前にリリース期日を先に決め ていた ▪ 正確なシステムの見積もりができていない ▪ テストを工数に組み込んでいない

    • 品質 ◦ 詳細な要件を固めないで制作に入っていた ▪ ファーストリリース分のみテストケースを作っていた ▪ リリース後に不具合を改修をすると決めていた ▪ リリース直前にIEを対応することになった
  4. テストどーする問題 • テストの形式は?(How) ◦ 運用テスト?結合テスト?単体テスト? • 何をテストする?(What) • レビューは誰が行う?(Who) •

    いつ行う?(When) • 実施環境はどうするか?(Where) • なぜテストに工数をさかなくてはいけない?(Why) 一般IT企業ではルール化されているものが 立ち上げチームにはない><
  5. 改善案 • テストの形式は? ◦ フロントチームはユーザーストーリーテストのみ絞って行う • 何をテストする? ◦ スプレッドシートをテンプレート化して使い回す •

    レビューは誰が行う? ◦ コードレビューを行った人 • いつ行う? ◦ コードレビューの際 • 実施環境はどうするか? ◦ リリース直前の検証環境を必ず利用する • なぜテストに工数をさかなくてはいけない?(Why) ◦ 不具合を出して顧客の信頼不審やバグ改修による効率の低減を防ぐため (学び)
  6. 一応CI/CDのフローを真似て作りました main dev feature/.. feature/.. ・PRでテストのレビュー ・マージ後すぐにdevでテスト の実施 ・PRでlintの実施 ・マージのタイミングで自動テス

    トの実施 今回のテスト運用フロー 一般的なCI/CD ※このフローはコープさっぽろ のエンジニア、岡部さん、和泉 さん、伊藤さんと共に考えまし た
  7. 前職の時と比較して実感するメリット・デメリット • テストの工数を分担できる • テストケースも直しやすい • テストで不具合があった時の出戻 りが大きい • 利用規約の同意やユーザーの表

    示など必ず間違えてはいけない場 所を毎回テストできる • こまめに走らせることでコアな部分 の不具合を早めに見つけられる • テスタビリティの観点からコードの 品質を確認できる • 実装コストが大きい • 全てのテストは自動化できない 手動テスト 自動テスト やっぱテストコード欲しい。。