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

20210128_QA_Tech_Night_vol2_monoAI technology_Hanahusa

monoAI technology
January 29, 2021
510

20210128_QA_Tech_Night_vol2_monoAI technology_Hanahusa

monoAI technology

January 29, 2021
Tweet

Transcript

  1. Copyright © monoAI technology Co., Ltd. All Rights Reserved. 自己紹介

    2 monoAI technology株式会社 第一QA部 技術支援セクション セクションマネージャー 花房 輝鑑(はなふさ てるあき) ゲームパブリッシャーや第三者検証会社などで、ゲーム・非ゲーム問わず 様々なテストに関わる。 属人的なゲームデバッグの現場から、テスト計画・戦略重視のソフトウェア テストの現場、現場でのプロジェクト管理から会社組織の運営・管理まで、 様々な経験。 2019年にモリカトロン株式会社に入社し、事業継承によりmonoAI technology 株式会社に転籍。 現在、テスト設計体制の構築、教育体制・教育制度の構築など、技術的な 支援を中心に活動中。
  2. Copyright © monoAI technology Co., Ltd. All Rights Reserved. はじめに

    3 本日のお話の視点 内製 外部委託 テスト 開発 第三者検証 内製品管 デベロッパー パブリッシャー
  3. Copyright © monoAI technology Co., Ltd. All Rights Reserved. アジェンダ

    4 ゲームテストの現状 テスト自動化のアンチパターン テスト自動化の向き・不向き ソフトウェアテストの重要性 monoAI technologyの取り組み
  4. Copyright © monoAI technology Co., Ltd. All Rights Reserved. ゲームテストの現状

    6 ゲーム開発は・・・ ギリギリまで要件・仕様が 固まらず変更が入り続ける
  5. Copyright © monoAI technology Co., Ltd. All Rights Reserved. ゲームテストの現状

    7 要件定義や設計に十分な時間が取れず、手戻りが多くなる パブリッシャーや権利元との調整が難航 マルチタスクが膨れてしまい、プロジェクト管理が難航する βテストなどでユーザーの反応を見て仕様が大きく変わる
  6. Copyright © monoAI technology Co., Ltd. All Rights Reserved. ゲームテストの現状

    8 ゲーム開発はウォーターフォールがベース 要件定義 設計 実装 テスト リリース
  7. Copyright © monoAI technology Co., Ltd. All Rights Reserved. ゲームテストの現状

    9 現実のゲーム開発のプロセス 要件定義 設計 実装 テスト リリース 要件定義 要件定義 実装 要件定義 設計 設計
  8. Copyright © monoAI technology Co., Ltd. All Rights Reserved. ゲームテストの現状

    10 現実のゲーム開発のプロセス 要件定義 設計 実装 テスト リリース 要件定義 要件定義 実装 要件定義 設計 設計 設計漏れや、前工程が終わっていない状態で 後工程に進むなどして、本流の工程が進んでも 前工程の作業も並行対応を行うケースが多い
  9. Copyright © monoAI technology Co., Ltd. All Rights Reserved. ゲームテストの現状

    11 リリーススケジュールを変えない(変えられない)ケースが多く、 残業対応や休日出勤でカバー いわゆるデスマーチに陥る
  10. Copyright © monoAI technology Co., Ltd. All Rights Reserved. ゲームテストの現状

    12 ギリギリまで頻繁に変更が入る ドキュメントの更新が追い付かない ドキュメントの更新がされなくなる 担当者しか正しい振る舞いがわからない状態になる
  11. Copyright © monoAI technology Co., Ltd. All Rights Reserved. ゲームテストの現状

    13 テストベースとなる情報が乏しくなり 正しい振る舞いがわからなくなる 振る舞いベースのテストが行えず、 客観視点・一般論でのバグ検出目的の テストしか行えなくなる
  12. Copyright © monoAI technology Co., Ltd. All Rights Reserved. ゲームテストの現状

    14 属人性の高いフリーテストを好む 経験豊富な人が行えばアドホックテストとなるが、 経験が浅い人が行うとただのユーザープレイとなる
  13. Copyright © monoAI technology Co., Ltd. All Rights Reserved. ゲームテストの現状

    15 バグが出ないと不安 バグが出たら安心 開発者の心理
  14. Copyright © monoAI technology Co., Ltd. All Rights Reserved. ゲームテストの現状

    16 人海戦術・属人化の文化が根強く、 ソフトウェアテストの理解度は低い テストは誰でも出来るという 間違った認識が蔓延してしまう
  15. Copyright © monoAI technology Co., Ltd. All Rights Reserved. ゲームテストの現状

    17 ソフトウェアテストの意識が高い ゲーム会社も存在する
  16. Copyright © monoAI technology Co., Ltd. All Rights Reserved. テスト自動化のアンチパターン

    19 CEDECでもテストの自動化といった話題が増え、 ゲーム業界でもテスト自動化の意識が高まっている CEDEC2019 ・ブラックボックステストの自動化による、高品質なテストの実現と自動化部隊の育成(赤﨑 光/奥泉 卓也) ・毎週リリースするスマホ向けコンテンツにおける回帰テストの自動化と、テスト結果の可視化を含む テストワークフローの提案(狩野 真次) CEDEC2020 ・“FINAL FANTASY VII REMAKE”における自動QAシステムの構築と運用(太田 健一郎) ・「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム (阪上 直樹/粉川 貴至)
  17. Copyright © monoAI technology Co., Ltd. All Rights Reserved. テスト自動化のアンチパターン

    20 ※引用元:システムテスト自動化カンファレンス2017(テスト自動化研究会)アンケート結果
  18. Copyright © monoAI technology Co., Ltd. All Rights Reserved. テスト自動化のアンチパターン

    21 アンチパターン① テスト自動化の目的が明確でない 流行っている から 上司に 言われたから 成功例を 聞いて真似 したいから コスト削減 したいから 品質を 挙げたいから
  19. Copyright © monoAI technology Co., Ltd. All Rights Reserved. テスト自動化のアンチパターン

    22 アンチパターン② テストすることが明確でない テスト実施者によって結果が異なる テスト設計やテストケース作成がちゃんと出来ていない そのテストケースで、何を確認したいのかが分からない 自動テストは決められたことしかできない 手順や結果が明確である必要がある
  20. Copyright © monoAI technology Co., Ltd. All Rights Reserved. テスト自動化のアンチパターン

    23 段階を踏まず最初から広範囲を手掛けてしまうと、 目的が不明瞭になりやすかったり、自動化自体が 目的化しやすくなる アンチパターン③ 最初から広範囲を自動化する 試験 運用 水平展開 適用範囲 拡大 スタート
  21. Copyright © monoAI technology Co., Ltd. All Rights Reserved. テスト自動化の向き・不向き

    25 向いていないもの ・変更が頻繁に入るもの ・テストの頻度が低いもの ・バグ検出を目的としたテスト ・テスト結果が明確で無いもの 探索的テスト アホドックテスト ユーザビリティテスト など
  22. Copyright © monoAI technology Co., Ltd. All Rights Reserved. テスト自動化の向き・不向き

    26 ・変更が入らないもの ・テストの頻度が高いもの ・テスト手順が明確なもの ・テスト結果が明確なもの 向いているもの 向いていないもの リグレッションテスト クロスブラウザテスト クロスデバイステスト ・変更が頻繁に入るもの ・テストの頻度が低いもの ・バグ検出を目的としたテスト ・テスト結果が明確で無いもの 探索的テスト アホドックテスト ユーザビリティテスト など など
  23. Copyright © monoAI technology Co., Ltd. All Rights Reserved. テスト自動化の向き・不向き

    27 スマホゲームはバージョンアップを繰り返し、運営も年単位で続いていくが、 それと同時にゲームボリュームも肥大化し、既存機能のテストまで手がまわらなくなってくる リリース(Ver1.00) バージョンアップ (Ver.1.10) バージョンアップ (Ver.1.20) バージョンアップ (Ver.2.00) リグレッションテストを自動化することで、テスト工数を肥大化させず に既存機能のテストが出来るため、大きな効果を見込める
  24. Copyright © monoAI technology Co., Ltd. All Rights Reserved. テスト自動化の向き・不向き

    28 テスト計画やテスト戦略の意識は薄い 属人的なフリーテストに頼っている テストケースと呼ばれているものはチェックリスト粒度 現状のゲームテストの文化は・・・ テスト自動化に向いていない
  25. Copyright © monoAI technology Co., Ltd. All Rights Reserved. ソフトウェアテストの重要性

    30 非属人的なテスト テスト計画・テスト戦略から自動化を検討する テストケースは、テスト手順・期待結果を明確にする テスト自動化には ソフトウェアテストの考え方が重要
  26. Copyright © monoAI technology Co., Ltd. All Rights Reserved. ソフトウェアテストの重要性

    31 基本的なテストプロセス テスト計画 テストのモニタリングとコントロール テスト分析 テスト設計 テスト実装 テスト実行 テスト完了
  27. Copyright © monoAI technology Co., Ltd. All Rights Reserved. ソフトウェアテストの重要性

    32 基本的なテストプロセス テスト計画 テストのモニタリングとコントロール テスト分析 テスト設計 テスト実装 テスト実行 テスト完了 テストを行うにあたって必要となる要素を洗い出し、方針を定める。 主に、テストの目的、テスト対象範囲、テスト戦略、テストアプローチ方法、 必要となる機材・環境の調達方法、テストスケジュール、想定されるリスクの検討など。
  28. Copyright © monoAI technology Co., Ltd. All Rights Reserved. ソフトウェアテストの重要性

    33 基本的なテストプロセス テスト計画 テストのモニタリングとコントロール テスト分析 テスト設計 テスト実装 テスト実行 テスト完了 テスト設計と括られる工程 機能やテスト観点の洗い出し、前提条件・実施パターンの網羅・明確化や、 テスト手順・期待結果の明確化を行う
  29. Copyright © monoAI technology Co., Ltd. All Rights Reserved. ソフトウェアテストの重要性

    34 テスト技法を活用することで、限られた予算・納期の中で必要なテストを 効率良く行うことができ、抜け漏れや重複の防止に繋がる 状態遷移テスト 仕様で定められている状態とイベント (トリガー)を、表や図で整理し表現し たもの 境界値分析 出力結果が変わる境目に着目したテスト 方法 デシジョンテーブルテスト 複数の条件の組み合わせと、それに対応 する結果の整理を行う方法 条件と結果を網羅した表を作成すること で、仕様の整理に繋がる 同値分割 共通の出力結果を出す値を同値として グループ化し、その代表値を使うことで 網羅性を落とさずにテストできる
  30. Copyright © monoAI technology Co., Ltd. All Rights Reserved. monoAI

    technologyの取り組み 37 方針・方向性、スコープといったものを定めずに テストを始めると、認識齟齬が起こりトラブルに なることが多い 取り組み① テスト計画を必ず立てる テスト計画 テストのモニタリングとコントロール テスト分析 テスト設計 テスト実装 テスト実行 テスト完了 よくあるケース テストの目的やスコープを定め、認識齟齬を 防止。また、この段階からテスト自動化を 行う機能の検討も行う
  31. Copyright © monoAI technology Co., Ltd. All Rights Reserved. monoAI

    technologyの取り組み 38 取り組み② テスト設計を行う テスト計画 テストのモニタリングとコントロール テスト分析 テスト設計 テスト実装 テスト実行 テスト完了 よくあるケース 仕様書から直にテストケースを書くやり方は、 機能やテスト観点の抜け漏れ、パターンの 網羅不足などに繋がる 機能×テスト観点を整理し、中間成果物とし てテスト設計書を作成してレビューすること で、テスト内容の齟齬の防止を行う
  32. Copyright © monoAI technology Co., Ltd. All Rights Reserved. monoAI

    technologyの取り組み 39 取り組み③ 探索的テストの活用 ・一定の範囲・方向性の中で自由度を保ったバグ探索が行える ・個人のスキルや経験への依存度が下がる セッションベースド テスト テストチャーターの 活用
  33. Copyright © monoAI technology Co., Ltd. All Rights Reserved. monoAI

    technologyの取り組み 40 ①ノンプログラミングのビジュアルスクリプト →プログラミング知識が無くても、テスト自動化が実現できる →バグの再現確認など、必要に応じて手軽に自動化ができる →難易度高いものは自動化エンジニア、簡単なものはテスターで、といった分業ができる ②プログラミングでの自動化スクリプトの作成 →ビジュアルスクリプトでは実現が難しいものを、自動化スクリプト作って実現する →オーダーメイド型で、やりたいことに沿った自動化が実現できる 取り組み④ 2種類のテスト自動化アプローチの使い分け
  34. Copyright © monoAI technology Co., Ltd. All Rights Reserved. 最後に

    42 ソフトウェア開発全体の中で テスト工数が占める割合は 30%以上 ※参照情報:ソフトウェア開発データ白書2018-2019(独立行政法人 情報処理推進機構 社会基盤センター)
  35. Copyright © monoAI technology Co., Ltd. All Rights Reserved. 最後に

    43 エンジニア単価 (人月単価) 開発 テスト ゲーム 約80万 約40万 非ゲーム 約80万 約70万 現在のゲームテストの文化・構造は、 ゲーム業界のテストの成長を阻んでいる
  36. Copyright © monoAI technology Co., Ltd. All Rights Reserved. 最後に

    44 ソフトウェアテスト技術者は 専門的な知識や技術が必要な 専門職である!
  37. Copyright © monoAI technology Co., Ltd. All Rights Reserved. 45

    ご清聴 ありがとうございました