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

実践している探索的テストの進め方 #jasstnano

Makky
January 21, 2025

実践している探索的テストの進め方 #jasstnano

JaSST nano vol.44 で発表した資料です。
https://jasst-nano.connpass.com/event/340528/

「実践している探索的テストの進め方」について紹介しています。

Makky

January 21, 2025
Tweet

More Decks by Makky

Other Decks in Technology

Transcript

  1. システムエンジニア 道内独立系IT企業・札幌市内ベンチャー企業 東証プライム 第三者検証企業 ITコンサルタント 10年 4年 自己紹介 焼き鳥が焼ける QAエンジニア

    巻 宙弥(まき みちや) 主な担当業務 Saasベンダー企業、テックタッチ(株)のQAエンジニア 札幌でフルリモート勤務中 マイブームは“おうちやきとり” #札幌串打同盟 経歴 QAプロセス改善、標準化 QAチームメンバー育成 マネージャー 4年 コミュニティ JaSST Hokkaido 実行委員 JBUG札幌 運営 CanvaCampHokkaido 運営
  2. チームA開発 チームB開発 チームC開発 統 合 リリース前 テスト デ プ ロ

    イ リリース (3ヶ月毎) 抱えている問題④ 抱えている問題と課題 リリース前テストがボトルネックでリリースサイクルを早くしにくい 約2週間 約2週間
  3. 問題 課題 取り組み 増加し続ける手動のテストケース 手動から自動テストへの置き換え 適切な自動テスト対象の選定 テストスクラム テストレベルの混在 テストケースの最適化 テストレベル毎のテスト設計

    テストリポジトリ整理 テスト管理ツール(Qase)活用 限られたQAリソース QAチームのスキルアップ 適材適所のリソースマネジメント TIY(Test It Your Self) リソース可視化(toggl) リリース前のテストがボトルネック テスト期間の短縮 テスト最適化 テスト自動化 問題解決の取り組み それぞれの問題に対処する課題に取り組み中 補足)一例です。実際は複雑に絡み合っています。 抱えている問題と課題 各取り組みの詳細は 最終ページに
  4. なぜ探索的テストなのか? 問題 課題 取り組み 増加し続ける手動のテストケース 手動から自動テストへの置き換え 適切な自動テスト対象の選定 テストスクラム テストレベルの混在 テストケースの最適化

    テストレベル毎のテスト設計 テストリポジトリ整理 テスト管理ツール(Qase)活用 限られたQAリソース QAチームのスキルアップ 適材適所のリソースマネジメント TIY(Test It Your Self) リソース可視化(toggl) リリース前のテストがボトルネック テスト期間の短縮 テスト最適化 テスト自動化 複数の課題解決に必要不可欠なテスト技法である。 補足)一例です。実際は複雑に絡み合っています。 抱えている問題と課題 各取り組みの詳細は 最終ページに
  5. 課題解決に必要不可欠な探索的テスト 課題 重要なポイント 手動から自動テストへの置き換え 適切な自動テスト対象の選定 ローレベルテストを自動化し、ハイレベルテストに注力できる テストケースの最適化 テストレベル毎のテスト設計 ハイレベルテストケースの設計で活かせる 要件のレビューに活かせる(シフトレフト)

    QAチームのスキルアップ QA・SETの採用 具体的な問題点を発見し、抽象化してテストにつなげる力がある AIとの差別化を図るスキルがある テスト期間の短縮 ー 探索的テストが課題解決後の状態を維持するための重要なポイントになる。 ※様々な潮流から行き着いた持論です 抱えている問題と課題 ※
  6. テスト対象 (何をテストするか) テスト方針 (どうやってテストするか) テスト観点 (どんな不具合を見つけたいか) 既存機能 よくある問い合わせからランダムに選定して操作する 仕様通り動作するか 特定の機能

    (影響度の大きいもの) A x B x Cの組み合わせで有効値を確認する 期待値が誤っていないか 修正済み不具合 リリース待ちとなった不具合の周辺機能を操作する デグレードが発生していないか 新機能“AAA” システム統合テストのテストケースを実行しながら要 件の妥当性を確認する ユーザの価値を損なうおそれがな いか テストチャーターとは 実践している探索的テスト テストの目的や観点を記述したドキュメント テストチャーターの例
  7. 探索的テストのプロセス 実践している探索的テスト 情報を集める 計画を立てる チャーターを作る 手順を決める 気づきを記録 テスト フィードバック チャーターに

    載せる 設計 実施 プロセス ドキュメンテーション 1セッションの時間 テストスコープ テスト開始条件 プロダクトリスク 要求/要件/設計 開発進捗 テスト環境 過去不具合 チャーターに 載せる テスト目的(なぜ実施するか?) テスト方針(どうやって実施するか?) テスト観点(何を確認するか?) チャーターに 載せる 時間内で操作を繰り返す 結果を記録する チャーターに 載せる
  8. 探索的テストのメリット まとめ コストパフォーマンス 形式的なレビュープロセスを省略するためコスパが良い 仕様書や設計書が不十分な状態でも実施可能 きっかけとなりうる何かがあれば着手できる “テストの弱化”を回避できる 過去実績のあるテストを再現しているわけではない ※テストの弱化とは?(旧:殺虫剤のパラドックス) 同じテストを何回も繰り返すと、新たな欠陥の検出に対する効果は薄れてくる(Beizer

    1990) 。この影響を克服するため、 テストとテストデータを変更したり新規にテストを作成したりする ことが必要になる場合がある。 しかし、例えば、自動化されたリグレッションテストのように、 同じテストを繰り返すことが有益な結果を示すことができる場合がある(JSTQBシラバス 2.2.3 項参照)
  9. 型をつくって まとめ 情報を集める 計画を立てる チャーターを作る 手順を決める 気づきを記録 テスト実施 フィードバック チャーターに

    載せる 設計 設計 プロセス ドキュメンテーション 1セッションの時間 テストのスコープ テストの開始条件 プロダクトリスク 要求/要件 開発の進捗 テスト環境 過去の不具合 チャーターに 載せる テスト目的(なぜ実施するか?) テスト方針(どうやって実施するか?) テスト観点(何を確認するか?) チャーターに 載せる 時間内で操作を繰り返す 結果を記録する チャーターに 載せる
  10. 開発プロセスに適応させる まとめ 情報を集める 計画を立てる チャーターを作る 手順を決める 気づきを記録 テスト実施 フィードバック チャーターに

    載せる 設計 設計 プロセス ドキュメンテーション 1セッションの時間 テストのスコープ テストの開始条件 プロダクトリスク 要求/要件 開発の進捗 テスト環境 過去の不具合 チャーターに 載せる テスト目的(なぜ実施するか?) テスト方針(どうやって実施するか?) テスト観点(何を確認するか?) チャーターに 載せる メリットとデメリットを踏まえ、 開発プロセスに合ったタイミングと深さで適応させる 時間内で操作を繰り返す 結果を記録する チャーターに 載せる スクリプトテストで発見した不具合と探索的テストで 発見した不具合を分けて傾向を把握し、 次のテストに活かす
  11. 取り組み 詳細 テストスクラム 開発者とQAの越境で自動テストが増える開発プロセスを実現する @ソフトウェアテスト自動化カンファレンス2024 by 92thunder テストリポジトリ整理 テスト管理ツール(Qase)活用 リグレッションテスト期間の短縮を目指して

    @PayPay / Rakuten Group / Techtouch - QA Night #1 by Shutty 最高効率でテストをするためにQaseを選んだ理由 @Techtouch Developers Blog by mikaty TIY(Test It Your Self) 持続可能なQA活動のために @Qbook-隣のQA by Shutty E2Eテスト最適化 E2Eテスト自動化 開発プロセスに開発者主体のテストを組み込む - 自動テストで手動テ ストを減らすには? @TechRAMEN 2024 Conference by 92thunder おまけ)各取り組みの詳細 積極的にカジュアル面談受付中!