「JaSST’25 Tokyo(1日目)」に参加してきました

大規模プロジェクトにおける品質管理の要点と実践

石井 優さん(SHIFT)
原田 慎也さん(SHIFT)
https://speakerdeck.com/shift_evolve/20250327-suguru-ishii

  • 大規模なウォーターフォール案件
  • 要件分析
    • 要件が洗い出しきれなかったり暗黙的で隠された要件があったり
    • 現場の人に聞くことが大切
    • 担当者はシステム寄りな人が多いから
    • 100%を目指すと終わらなくなる
      • 時系列で見ていって収束してくるところ
    • システム起因のリプレイスでどこまで業務改善を入れるか
      • 利用者は現状で満足してることもある
      • 業務側の教育コストも考える必要
  • システム設計
    • IF同士の不整合があるまま進行してしまうことがある
    • 実装レベルで例外とかまで設計して静的チェックできるように
      • スキルの高いメンバーを入れないと難しい
  • 実装テスト
  • システムテスト
    • 一部のテストが数日止まるとか
      • それにちゃんと気付けるようにしないといけない
      • 人が多い時に作業者の声を聞けるように
    • 未完成の機能があって一斉にテストを開始できない
  • 受け入れテスト
    • ユーザのテストをするための習熟度
    • 環境起因の問題
    • ユーザによる正確な問題報告
    • 使ってもらって初めて分かる要件漏れ

テストだけでは終わらない!継続的な品質向上を実現するために、事業会社、ツールベンダー、第三者検証の3社が考えるアプローチとは?

橋爪 祐子さん(KINTOテクノロジーズ)
伊藤 望さん(MagicPod)
木川 広基さん(ポールトゥウィン)
尾崎 由有子さん(ポールトゥウィン)

事業会社視点

  • 品質課題
    • リソース問題
      • 三者県障害者への依頼
        • 早期から入ってもらう
      • 担当者ローテして属人化防止
    • カバレッジ不足
      • 自動化ツール
  • 手動テストもしている
    • 柔軟な対応が可能
    • フィードバックがはやい
    • ユーザ目線でのチェック
  • 自動化技術
    • リソースの最適化を狙える
    • 短時間でのテスト
    • 継続的なテスト

ツールベンダー視点

  • UIテストの自動化ツール
    • テスト生産性向上
      • 人は人にしかできないテストに注力
    • 開発生産性向上
      • フィードバックがはやいことで記憶が鮮明なうちに対応できる
  • 自動化のおすすめの使い方
    • リリースのたびに繰り返す回帰テスト
    • 基本的なストーリー
    • 異常系など細かいケースはあまりペイしない
    • 何をE2Eで何を単体テストでやるかの切り分けは難しい
  • うまく使えてないケース
    • リリースしてからテストしてるようなケース
    • 毎日回して安定させてるといい

三者検証視点

  • 「テストをすること」ではなく「品質を守ること」が使命
  • やってること
    • テスト自動化の支援
    • ソフトウェアのテスト
  • 不具合の発見のフェーズが遅れるほどコストは上がる
    • 上流から入って手戻りコストを減らす
  • 最下層の作業者として見られるケースだと価値発揮が難しい

なぜ人はE2E自動テストの継続に失敗するのか

大園 博昭さん(LINEヤフー)
https://speakerdeck.com/o3/jasst-tokyo-25-ozono

  • E2Eテスト業界
    • ここ10年で導入障壁がさがった
    • ツールやSaasが充実し事例も増えた
      • 昔は全部自分で用意しないといけなかった
    • それでも継続に失敗してる事例をよく聞く
      • UnitTestを継続失敗したとは聞かないからE2E特有の何かがある
  • 継続できなかった要因
    • 技術的課題
      • 実行環境の整備
      • Flakyになりやすい
      • 機械でテストしにくいもの
      • これらは今は解決されている
    • 目的が定まってない
    • E2Eテストに対するなぜが曖昧
  • 継続できた要因
    • E2E専属エンジニアがいる
      • コストがかかっても品質確保が第一のプロジェクト
      • 属人性が生まれるがそれはそうなるしかない
        • 当然変化には弱い
    • 開発チームへの責務移譲
    • 開発とQAの役割分担ができてる
      • 開発が主導でQAがレビュー

開発者主導の自動テスト導入によるバグ早期発見

金子 茉以さん(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を作る