- 2025/3/27
- https://jasst.jp/tokyo/25-about/
大規模プロジェクトにおける品質管理の要点と実践
石井 優さん(SHIFT)
原田 慎也さん(SHIFT)
https://speakerdeck.com/shift_evolve/20250327-suguru-ishii
- 大規模なウォーターフォール案件
- 要件分析
- 要件が洗い出しきれなかったり暗黙的で隠された要件があったり
- 現場の人に聞くことが大切
- 担当者はシステム寄りな人が多いから
- 100%を目指すと終わらなくなる
- 時系列で見ていって収束してくるところ
- システム起因のリプレイスでどこまで業務改善を入れるか
- 利用者は現状で満足してることもある
- 業務側の教育コストも考える必要
- システム設計
- IF同士の不整合があるまま進行してしまうことがある
- 実装レベルで例外とかまで設計して静的チェックできるように
- スキルの高いメンバーを入れないと難しい
- 実装テスト
- システムテスト
- 一部のテストが数日止まるとか
- それにちゃんと気付けるようにしないといけない
- 人が多い時に作業者の声を聞けるように
- 未完成の機能があって一斉にテストを開始できない
- 一部のテストが数日止まるとか
- 受け入れテスト
- ユーザのテストをするための習熟度
- 環境起因の問題
- ユーザによる正確な問題報告
- 使ってもらって初めて分かる要件漏れ
テストだけでは終わらない!継続的な品質向上を実現するために、事業会社、ツールベンダー、第三者検証の3社が考えるアプローチとは?
橋爪 祐子さん(KINTOテクノロジーズ)
伊藤 望さん(MagicPod)
木川 広基さん(ポールトゥウィン)
尾崎 由有子さん(ポールトゥウィン)
事業会社視点
- 品質課題
- 手動テストもしている
- 柔軟な対応が可能
- フィードバックがはやい
- ユーザ目線でのチェック
- 自動化技術
- リソースの最適化を狙える
- 短時間でのテスト
- 継続的なテスト
ツールベンダー視点
- UIテストの自動化ツール
- テスト生産性向上
- 人は人にしかできないテストに注力
- 開発生産性向上
- フィードバックがはやいことで記憶が鮮明なうちに対応できる
- テスト生産性向上
- 自動化のおすすめの使い方
- うまく使えてないケース
- リリースしてからテストしてるようなケース
- 毎日回して安定させてるといい
第三者検証視点
- 「テストをすること」ではなく「品質を守ること」が使命
- やってること
- テスト自動化の支援
- ソフトウェアのテスト
- 不具合の発見のフェーズが遅れるほどコストは上がる
- 上流から入って手戻りコストを減らす
- 最下層の作業者として見られるケースだと価値発揮が難しい
なぜ人はE2E自動テストの継続に失敗するのか
大園 博昭さん(LINEヤフー)
https://speakerdeck.com/o3/jasst-tokyo-25-ozono
- E2Eテスト業界
- ここ10年で導入障壁がさがった
- ツールやSaasが充実し事例も増えた
- 昔は全部自分で用意しないといけなかった
- それでも継続に失敗してる事例をよく聞く
- UnitTestを継続失敗したとは聞かないからE2E特有の何かがある
- 継続できなかった要因
- 技術的課題
- 実行環境の整備
- Flakyになりやすい
- 機械でテストしにくいもの
- これらは今は解決されている
- 目的が定まってない
- E2Eテストに対するなぜが曖昧
- 技術的課題
- 継続できた要因
- E2E専属エンジニアがいる
- コストがかかっても品質確保が第一のプロジェクト
- 属人性が生まれるがそれはそうなるしかない
- 当然変化には弱い
- 開発チームへの責務移譲
- 開発とQAの役割分担ができてる
- 開発が主導でQAがレビュー
- E2E専属エンジニアがいる
開発者主導の自動テスト導入によるバグ早期発見
金子 茉以さん(LINEヤフー)
https://www.slideshare.net/slideshow/jasst2025-d5-1-pdf/277229229
- テストフェーズでバグが多発してリリースが遅れた
- 振り返り
- 使用誤認しやすい環境
- 仕様変更があったが気づかずに開発していた
- Acceptance Criteriaを全員で作るように
- テストが後工程に集中していた
- リファクタリングしたいところがあったがテストがQAに依存していてやり取りが起きるので諦めた
- 開発中からテスト
- 使用誤認しやすい環境
- Acceptance Criteria
- 機能が満たすべき条件
- Gherkin記法で書く
- 仕様変更が入ったら必ず修正
- これを元にテストをする
- すべてpassしないとリリースできない
- テストの実装
- Playwrightでテスト
- Gherkin記法のファイルを読み込めるプラグインがある
- テストの種類
- Unit Testで内部のテスト
- Acceptance Testで仕様のテスト
- E2E Testで外部連携を含めたテスト
- 開発フロー
- 仕様策定時にAcceptance Criteriaを全員で作る
- 実装前にAcceptance Criteriaを元にAcceptance Testを作る