SlideShare a Scribd company logo
1 of 23
ぼんやりした要件と
テストケースから出てくる
地獄のような
ゲームテスト自動化導入
©AIQVE ONE Inc.
- 2 -
設立:2021年2月
※QA事業は2018年6月開始
代表取締役会長 新堀義之
代表取締役社長 山崎太郎
取締役 本城嘉太郎
資本金:1億円
従業員数:166名
(2021年9月現在)
事業内容:
AI技術や自動化・ツール等を活用した
ソフトウェア品質保証事業
会社紹介
自己紹介
喋る人
島澤 友希 Shimazawa Yuki 中嶌 涼輔 Nakajima Ryosuke 南 美穂 Minami Miho
自動化プランナーその1 自動化エンジニア 自動化プランナーその2
資料作成その他もろもろをお手伝いしてくれた人
AIQVE ONEのテスト自動化について
01
自
動
化
検
討
可
否
精
査
・
仕
様
把
握
02
処
理
フ
ロ
ー
図
作
成
レ
ビ
ュ
ー
03
ス
ク
リ
プ
ト
作
成
・
改
修
マ
ニ
ュ
ア
ル
作
成
04
自
動
テ
ス
ト
実
行
05
テ
ス
ト
結
果
確
認
ケ
ー
ス
反
映
自動化チームで
担うのはこの範囲
イベントが
毎回変わる
フォント・色味・
UIの変更など
テストサイクル
が短くてデータ
更新が頻繁に
ある
保守作業する
機会が頻繁に
あり、スパゲティ
コードに
なりやすい
本セッションについて
◆対象アプリ:スマホのRPGゲーム
◆当初の目的:手動実行するテスターの人数を減らしたい
ゲームの方の
要件がしっかり
していないと
大変
大まかな体験談時系列 2020~2021年
4月〜 非常に曖昧な要件を元に進行
7月〜 十分な引き継ぎが無いまま案件リーダーが変更
8月〜 後任のリーダーと擦り合わせ出来ずトラブルに
9月〜 クライアントと認識擦り合わせで自動化に対する認識の不一致に気づく
10月〜 自動化導入を新しく入ってきた実行者がなんとか着地させた
4月〜:非常に曖昧な要件を元に進行
要件:「(手動テストの実行より)工数削減」
実装内容:「RPGゲームのイベント確認」
例:新規ガチャ排出確認・新規ストーリークリア確認
ソーシャルゲームの
構造って大体同じだから
この案件もスクリプトは
使いまわせるよ
本当ですか!?
じゃあ作成工数少なく
済みますね!!
当時の案件リーダー:Dさん 自動化エンジニア
4月〜:非常に曖昧な要件を元に進行
要件:「(手動テストの実行より)工数削減」
これに関して、実はこんなやりとりがありました…
手動よりも実行早く終わらないと
自動化の意味ないから
めっちゃ速く操作するように作って!
人間では再現できない速さの操作で
作ったら誤字脱字とか
見れないのでテストの意味ないのでは?
ただ最後までエラー出ずに行けるの
確認できれば問題ない!いいね?
アッ、ハイ・・・
当時の案件リーダー:Dさん 自動化エンジニア
4月〜:非常に曖昧な要件を元に進行
「ゲームのテスト」
ソーシャルゲームのテストを自動化する際、
それぞれのソフトで細かい挙動が異なるため、
構造が一緒でも使いまわしは一部箇所のみ適用になる。
ソーシャルゲームの構造って
大体同じだから
スクリプトは使いまわせるよ
手動よりも実行早く終わらないと
自動化の意味ないから
めっちゃ速く操作するように作って!
要件の「(手動テストより)工数削減」
手動で再現できない操作は可能だが、それを実装すると手動
で確認している各要素の確認作業が行えないため、無意味な
自動化テストになってしまう。
また、自動化テストは継続することで初めて利益が得られる。
自動化テストで謳われる「工数削減」はオマケ程度の効果し
かなく、真価は「テスト成熟度の向上」「エビデンスの増
加」にある。
4月〜:非常に曖昧な要件を元に進行
結局のところ…
・自動化をよく理解していない人のみで要件定義をするのは危険
・テスト自動化の特徴や導入することによる効果を
最初にクライアントに具体的な提案・説明を
伝え合意をとるべきだった
そしてこれらを案件リーダーDさんがちゃんと
できなかったせいで、自動化エンジニアは地獄を見ることに…
7月〜:十分な引き継ぎが無いまま案件リーダーが変更
突如案件リーダーが案件から離れることになり、
後任へ引き継ぎが始まったのですが…
7月〜:十分な引き継ぎが無いまま案件リーダーが変更
・業務の引き継ぎは口頭かつ、質問されたことにのみ答えるという手順
・直近で業務上必要だったテストの手動実行のみを引き継ぎされる
自動化の引き継ぎはどうなったか?
後任リーダー
7月〜:十分な引き継ぎが無いまま案件リーダーが変更
自動化関連で残されたものは
要件「(手動テストより)工数削減」のみ!
当時の案件リーダーのDさんが自動化導入でやっていたことはほぼ失伝……
自動化チーム内でも別途で資料を作成していれば
こんなことにならなかった‥‥が、
そもそも自動化を実装するにあたっての要件書がなく、
依頼も口頭だったので引き継ぎができるものがなかった。
3.後任のリーダーと擦り合わせ出来ずトラブルに 8月~
自動化の進行管理が宙ぶらりんになり、
後任リーダー と 自動化エンジニアのどちらが管理するかでトラブルに発展。
後に新しく入ってきたテスターがやっていくことに。
結局…
9月〜:クライアントとの間で自動化に対する認識の不一致に気づく
とりあえず、「改めてすり合わせを行いましょう」ということで
ミーティングを開催。そこで関係者からこの話が出てくる‥‥
9月〜:クライアントとの間で自動化に対する認識の不一致に気づく
クライアント側の自動化の認識
・造りが同じであれば、別で作った
スクリプトでも使いまわせる!
・多少フォントが違っても問題ない
・自動化を導入できればすぐに
テスト実行工数を減らせる!
自動化チーム側の自動化の認識
・造りが同じであっても、
そのアプリごとに細かい仕様が
異なってくるので、使いまわす
にしても一部の処理のみ
・画像認識で進めているので、
フォントがちょっとでも違うと
コケやすくなる
・自動化を導入しても工数削減の
効果が期待できるのは1、2ヶ月後
くらいから
9月〜:クライアントとの間で自動化に対する認識の不一致に気づく
クライアント側の自動化の認識
・造りが同じであれば、別で作った
スクリプトでも使いまわせる!
・多少フォントが違っても問題ない
・自動化を導入できればすぐに
テスト実行工数を減らせる!
自動化チーム側の自動化の認識
・造りが同じであっても、
そのアプリごとに細かい仕様が
異なってくるので、使いまわす
にしても一部の処理のみ
・画像認識で進めているので、
フォントがちょっとでも違うと
コケやすくなる
・自動化を導入しても工数削減の
効果が期待できるのは1、2ヶ月後
くらいから
9月〜:クライアントとの間で自動化に対する認識の不一致に気づく
何故認識の齟齬が起きたのか…?
4月〜の問題点がここにきて爆発したのです。
9月〜:クライアントとの間で自動化に対する認識の不一致に気づく
自動化についての認識を再度?説明し、ご理解いただいたが…
とりあえず、自動化が導入できればOKです
スクリプトの保守作業含めると、
目的にあった
「手動テストより実行工数を少なくする」
が満たせなくなる可能性が高いですが、
問題ないでしょうか?
実行工数は二の次で!
二の次で良いの!?
クライアント
自動化エンジニア
9月〜:クライアントとの間で自動化に対する認識の不一致に気づく
当初の目的「自動化を導入して手動実行するテスターの人数を減らしたい」
→最終的に「PJへのテスト自動化導入」が目的に切り替わる
「テスト自動化導入」が目的を成すための「手段」ではなく
「目的」に変わってしまった…
5.自動化導入を新しく入ってきたテスターが着地させた 10月~1月
この案件はどうなったかというと‥‥
リーダーはリーダー業務でいっぱいいっぱい
チームメンバーは手動テスト実行でいっぱいいっぱい
…と、誰も自動化導入できる余裕がなかったので、メンバーを増員。
そこで新しく入ってきたテスターが仕様把握や手動テストを行いながら
ステークホルダーとの調整を上手く行った。
その結果、自動化導入が当初の目的から見ると失敗状態だった
ところから導入を目的とした意味では“成功”という形で
着地させることができた。
まとめ
・要件の目的と役割をしっかり決めておく
・自動化のメリット・デメリットを把握して、
自動化の切り分けや精査を行えるようにする
・自動化はあくまで目的を達成するための手段(道具)!
どんなテスト案件でも
基本に忠実じゃないと
大炎上の可能性が高い…!
ご清聴ありがとうございました…!!

More Related Content

What's hot

「スキルなし・実績なし」 32歳窓際エンジニアがシリコンバレーで働くようになるまで
「スキルなし・実績なし」 32歳窓際エンジニアがシリコンバレーで働くようになるまで「スキルなし・実績なし」 32歳窓際エンジニアがシリコンバレーで働くようになるまで
「スキルなし・実績なし」 32歳窓際エンジニアがシリコンバレーで働くようになるまでShuichi Tsutsumi
 
サービスブループリントによるシステム設計手法の紹介 - XP祭り2022
サービスブループリントによるシステム設計手法の紹介 - XP祭り2022サービスブループリントによるシステム設計手法の紹介 - XP祭り2022
サービスブループリントによるシステム設計手法の紹介 - XP祭り2022Yusuke Suzuki
 
技術記事を書く&楽しむチームの作り方
技術記事を書く&楽しむチームの作り方技術記事を書く&楽しむチームの作り方
技術記事を書く&楽しむチームの作り方Takafumi ONAKA
 
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなテスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなKentaro Matsui
 
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptxネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptxShota Shinogi
 
正しいものを正しくつくる
正しいものを正しくつくる正しいものを正しくつくる
正しいものを正しくつくるtoshihiro ichitani
 
開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)mosa siru
 
45分間で「ユーザー中心のものづくり」ができるまで詰め込む
45分間で「ユーザー中心のものづくり」ができるまで詰め込む45分間で「ユーザー中心のものづくり」ができるまで詰め込む
45分間で「ユーザー中心のものづくり」ができるまで詰め込むYoshiki Hayama
 
アジャイル開発とメトリクス
アジャイル開発とメトリクスアジャイル開発とメトリクス
アジャイル開発とメトリクスRakuten Group, Inc.
 
Power BI のいろいろな活用パターン
Power BI のいろいろな活用パターンPower BI のいろいろな活用パターン
Power BI のいろいろな活用パターンYugo Shimizu
 
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)Yasuharu Nishi
 
Appiumを用いたwebブラウザ自動テスト
Appiumを用いたwebブラウザ自動テストAppiumを用いたwebブラウザ自動テスト
Appiumを用いたwebブラウザ自動テストyumi_chappy
 
Agile開発でのテストのやり方~私の場合~
Agile開発でのテストのやり方~私の場合~Agile開発でのテストのやり方~私の場合~
Agile開発でのテストのやり方~私の場合~Mineo Matsuya
 
パターン QA to AQ: 伝統的品質保証(Quality Assurance)からアジャイル品質(Agile Quality)へ
パターン QA to AQ: 伝統的品質保証(Quality Assurance)からアジャイル品質(Agile Quality)へパターン QA to AQ: 伝統的品質保証(Quality Assurance)からアジャイル品質(Agile Quality)へ
パターン QA to AQ: 伝統的品質保証(Quality Assurance)からアジャイル品質(Agile Quality)へHironori Washizaki
 
UXデザインの資格ってどんなの? HCD-Net認定 人間中心設計スペシャリスト・人間中心設計専門家
UXデザインの資格ってどんなの? HCD-Net認定 人間中心設計スペシャリスト・人間中心設計専門家UXデザインの資格ってどんなの? HCD-Net認定 人間中心設計スペシャリスト・人間中心設計専門家
UXデザインの資格ってどんなの? HCD-Net認定 人間中心設計スペシャリスト・人間中心設計専門家Yoshiki Hayama
 
心理的安全性を 0から80ぐらいに上げた話
心理的安全性を 0から80ぐらいに上げた話心理的安全性を 0から80ぐらいに上げた話
心理的安全性を 0から80ぐらいに上げた話Yusuke Hisatsu
 
RESTful Web アプリの設計レビューの話
RESTful Web アプリの設計レビューの話RESTful Web アプリの設計レビューの話
RESTful Web アプリの設計レビューの話Takuto Wada
 
難易度ボラタリティグラフという分析手法
難易度ボラタリティグラフという分析手法難易度ボラタリティグラフという分析手法
難易度ボラタリティグラフという分析手法Tokoroten Nakayama
 
「ユーザーを理解するって言うほどカンタンじゃないよね」 UXデザイン・UXリサーチをもう一度ちゃんと理解しよう!
「ユーザーを理解するって言うほどカンタンじゃないよね」 UXデザイン・UXリサーチをもう一度ちゃんと理解しよう!「ユーザーを理解するって言うほどカンタンじゃないよね」 UXデザイン・UXリサーチをもう一度ちゃんと理解しよう!
「ユーザーを理解するって言うほどカンタンじゃないよね」 UXデザイン・UXリサーチをもう一度ちゃんと理解しよう!Yoshiki Hayama
 
「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム
「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム
「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステムSEGADevTech
 

What's hot (20)

「スキルなし・実績なし」 32歳窓際エンジニアがシリコンバレーで働くようになるまで
「スキルなし・実績なし」 32歳窓際エンジニアがシリコンバレーで働くようになるまで「スキルなし・実績なし」 32歳窓際エンジニアがシリコンバレーで働くようになるまで
「スキルなし・実績なし」 32歳窓際エンジニアがシリコンバレーで働くようになるまで
 
サービスブループリントによるシステム設計手法の紹介 - XP祭り2022
サービスブループリントによるシステム設計手法の紹介 - XP祭り2022サービスブループリントによるシステム設計手法の紹介 - XP祭り2022
サービスブループリントによるシステム設計手法の紹介 - XP祭り2022
 
技術記事を書く&楽しむチームの作り方
技術記事を書く&楽しむチームの作り方技術記事を書く&楽しむチームの作り方
技術記事を書く&楽しむチームの作り方
 
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなテスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
 
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptxネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
 
正しいものを正しくつくる
正しいものを正しくつくる正しいものを正しくつくる
正しいものを正しくつくる
 
開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)
 
45分間で「ユーザー中心のものづくり」ができるまで詰め込む
45分間で「ユーザー中心のものづくり」ができるまで詰め込む45分間で「ユーザー中心のものづくり」ができるまで詰め込む
45分間で「ユーザー中心のものづくり」ができるまで詰め込む
 
アジャイル開発とメトリクス
アジャイル開発とメトリクスアジャイル開発とメトリクス
アジャイル開発とメトリクス
 
Power BI のいろいろな活用パターン
Power BI のいろいろな活用パターンPower BI のいろいろな活用パターン
Power BI のいろいろな活用パターン
 
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
 
Appiumを用いたwebブラウザ自動テスト
Appiumを用いたwebブラウザ自動テストAppiumを用いたwebブラウザ自動テスト
Appiumを用いたwebブラウザ自動テスト
 
Agile開発でのテストのやり方~私の場合~
Agile開発でのテストのやり方~私の場合~Agile開発でのテストのやり方~私の場合~
Agile開発でのテストのやり方~私の場合~
 
パターン QA to AQ: 伝統的品質保証(Quality Assurance)からアジャイル品質(Agile Quality)へ
パターン QA to AQ: 伝統的品質保証(Quality Assurance)からアジャイル品質(Agile Quality)へパターン QA to AQ: 伝統的品質保証(Quality Assurance)からアジャイル品質(Agile Quality)へ
パターン QA to AQ: 伝統的品質保証(Quality Assurance)からアジャイル品質(Agile Quality)へ
 
UXデザインの資格ってどんなの? HCD-Net認定 人間中心設計スペシャリスト・人間中心設計専門家
UXデザインの資格ってどんなの? HCD-Net認定 人間中心設計スペシャリスト・人間中心設計専門家UXデザインの資格ってどんなの? HCD-Net認定 人間中心設計スペシャリスト・人間中心設計専門家
UXデザインの資格ってどんなの? HCD-Net認定 人間中心設計スペシャリスト・人間中心設計専門家
 
心理的安全性を 0から80ぐらいに上げた話
心理的安全性を 0から80ぐらいに上げた話心理的安全性を 0から80ぐらいに上げた話
心理的安全性を 0から80ぐらいに上げた話
 
RESTful Web アプリの設計レビューの話
RESTful Web アプリの設計レビューの話RESTful Web アプリの設計レビューの話
RESTful Web アプリの設計レビューの話
 
難易度ボラタリティグラフという分析手法
難易度ボラタリティグラフという分析手法難易度ボラタリティグラフという分析手法
難易度ボラタリティグラフという分析手法
 
「ユーザーを理解するって言うほどカンタンじゃないよね」 UXデザイン・UXリサーチをもう一度ちゃんと理解しよう!
「ユーザーを理解するって言うほどカンタンじゃないよね」 UXデザイン・UXリサーチをもう一度ちゃんと理解しよう!「ユーザーを理解するって言うほどカンタンじゃないよね」 UXデザイン・UXリサーチをもう一度ちゃんと理解しよう!
「ユーザーを理解するって言うほどカンタンじゃないよね」 UXデザイン・UXリサーチをもう一度ちゃんと理解しよう!
 
「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム
「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム
「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム
 

Similar to ぼんやりした要件とテストケースから出てくる地獄のようなゲームテスト自動化導入

AI学習データ作成支援サービス”Annotation One”のご紹介.pdf
AI学習データ作成支援サービス”Annotation One”のご紹介.pdfAI学習データ作成支援サービス”Annotation One”のご紹介.pdf
AI学習データ作成支援サービス”Annotation One”のご紹介.pdfNakashima @Global Walkers
 
SORACOM UG Explorer 2018 - IoTxAIを活用した小売業向け店舗解析サービスの仕組みとノウハウ
SORACOM UG Explorer 2018 -  IoTxAIを活用した小売業向け店舗解析サービスの仕組みとノウハウSORACOM UG Explorer 2018 -  IoTxAIを活用した小売業向け店舗解析サービスの仕組みとノウハウ
SORACOM UG Explorer 2018 - IoTxAIを活用した小売業向け店舗解析サービスの仕組みとノウハウ紘之 大田黒
 
分析可能なアジャイルQAでの取り組み
分析可能なアジャイルQAでの取り組み分析可能なアジャイルQAでの取り組み
分析可能なアジャイルQAでの取り組みHiroyuki Hanaue
 
SPI Japan2016発表資料
SPI Japan2016発表資料SPI Japan2016発表資料
SPI Japan2016発表資料Reiko Rikuno
 
20230712_KARAKURI Digital CS Series概要.pdf
20230712_KARAKURI Digital CS Series概要.pdf20230712_KARAKURI Digital CS Series概要.pdf
20230712_KARAKURI Digital CS Series概要.pdfYusukeTamura7
 
スケジュール管理・ガントチャートやバックログ の作成について
スケジュール管理・ガントチャートやバックログ の作成についてスケジュール管理・ガントチャートやバックログ の作成について
スケジュール管理・ガントチャートやバックログ の作成についてagileware_jp
 
AdTruthが生み出すGoogle アナリティクス プレミアムの新しい活用方法 第1部
AdTruthが生み出すGoogle アナリティクス プレミアムの新しい活用方法 第1部AdTruthが生み出すGoogle アナリティクス プレミアムの新しい活用方法 第1部
AdTruthが生み出すGoogle アナリティクス プレミアムの新しい活用方法 第1部Sumio Ebisawa
 
JaSST Niigata'20
JaSST Niigata'20JaSST Niigata'20
JaSST Niigata'20JumpeiIto2
 
第79回 Machine Learning 15minutes ! 生成AIをエンタープライズで活用するWatsonx.aiの紹介
第79回 Machine Learning 15minutes ! 生成AIをエンタープライズで活用するWatsonx.aiの紹介第79回 Machine Learning 15minutes ! 生成AIをエンタープライズで活用するWatsonx.aiの紹介
第79回 Machine Learning 15minutes ! 生成AIをエンタープライズで活用するWatsonx.aiの紹介Tsuyoshi Hirayama
 
engineed サービス概要資料
engineed サービス概要資料engineed サービス概要資料
engineed サービス概要資料Anti-Pattern Inc.
 
LFK_MagicPod_Meetup_Share
LFK_MagicPod_Meetup_ShareLFK_MagicPod_Meetup_Share
LFK_MagicPod_Meetup_ShareMakotoFukunaga1
 

Similar to ぼんやりした要件とテストケースから出てくる地獄のようなゲームテスト自動化導入 (20)

cecservices.pdf
cecservices.pdfcecservices.pdf
cecservices.pdf
 
cecservices.pdf
cecservices.pdfcecservices.pdf
cecservices.pdf
 
cec_services.pdf
cec_services.pdfcec_services.pdf
cec_services.pdf
 
cecservices
cecservicescecservices
cecservices
 
cecservices
cecservicescecservices
cecservices
 
cec_Services.pdf
cec_Services.pdfcec_Services.pdf
cec_Services.pdf
 
Q te cc2
Q te cc2Q te cc2
Q te cc2
 
AI学習データ作成支援サービス”Annotation One”のご紹介.pdf
AI学習データ作成支援サービス”Annotation One”のご紹介.pdfAI学習データ作成支援サービス”Annotation One”のご紹介.pdf
AI学習データ作成支援サービス”Annotation One”のご紹介.pdf
 
SORACOM UG Explorer 2018 - IoTxAIを活用した小売業向け店舗解析サービスの仕組みとノウハウ
SORACOM UG Explorer 2018 -  IoTxAIを活用した小売業向け店舗解析サービスの仕組みとノウハウSORACOM UG Explorer 2018 -  IoTxAIを活用した小売業向け店舗解析サービスの仕組みとノウハウ
SORACOM UG Explorer 2018 - IoTxAIを活用した小売業向け店舗解析サービスの仕組みとノウハウ
 
Smfl20201001
Smfl20201001Smfl20201001
Smfl20201001
 
分析可能なアジャイルQAでの取り組み
分析可能なアジャイルQAでの取り組み分析可能なアジャイルQAでの取り組み
分析可能なアジャイルQAでの取り組み
 
SPI Japan2016発表資料
SPI Japan2016発表資料SPI Japan2016発表資料
SPI Japan2016発表資料
 
20230712_KARAKURI Digital CS Series概要.pdf
20230712_KARAKURI Digital CS Series概要.pdf20230712_KARAKURI Digital CS Series概要.pdf
20230712_KARAKURI Digital CS Series概要.pdf
 
スケジュール管理・ガントチャートやバックログ の作成について
スケジュール管理・ガントチャートやバックログ の作成についてスケジュール管理・ガントチャートやバックログ の作成について
スケジュール管理・ガントチャートやバックログ の作成について
 
AdTruthが生み出すGoogle アナリティクス プレミアムの新しい活用方法 第1部
AdTruthが生み出すGoogle アナリティクス プレミアムの新しい活用方法 第1部AdTruthが生み出すGoogle アナリティクス プレミアムの新しい活用方法 第1部
AdTruthが生み出すGoogle アナリティクス プレミアムの新しい活用方法 第1部
 
JaSST Niigata'20
JaSST Niigata'20JaSST Niigata'20
JaSST Niigata'20
 
ドライバへのETWの埋め込み
ドライバへのETWの埋め込みドライバへのETWの埋め込み
ドライバへのETWの埋め込み
 
第79回 Machine Learning 15minutes ! 生成AIをエンタープライズで活用するWatsonx.aiの紹介
第79回 Machine Learning 15minutes ! 生成AIをエンタープライズで活用するWatsonx.aiの紹介第79回 Machine Learning 15minutes ! 生成AIをエンタープライズで活用するWatsonx.aiの紹介
第79回 Machine Learning 15minutes ! 生成AIをエンタープライズで活用するWatsonx.aiの紹介
 
engineed サービス概要資料
engineed サービス概要資料engineed サービス概要資料
engineed サービス概要資料
 
LFK_MagicPod_Meetup_Share
LFK_MagicPod_Meetup_ShareLFK_MagicPod_Meetup_Share
LFK_MagicPod_Meetup_Share
 

ぼんやりした要件とテストケースから出てくる地獄のようなゲームテスト自動化導入

Editor's Notes

  1. これより「ぼんやりとした要件とテストケースから出てくる地獄のようなゲームテスト自動化導入」についてセッションを始めさせていただきます。
  2. まずは軽く会社紹介と喋る人の自己紹介から 弊社AIQVE ONE株式会社と申します。 AI技術やテスト自動化導入・ツールなどを活用したソフトウェア品質保証事業をおこなっている会社で、主にスマホのアプリゲームを中心にテストをおこなっております。
  3. その中で自動化チームとしてお仕事をしています、島澤が今回お話しさせていただきます。
  4. まず前提といたしまして、弊社のテスト自動化に関して少し説明させていただきます。 弊社の自動化エンジニアは残念ながらあまり人数がおりません。 そのため、基本的には1人で複数の案件を横断的に受け持っており、その案件専任でアサインすることがほとんどありません。 図のように自動化チームとして受け持っているのはスクリプトの作成までとなっており、基本的に現場のテスターさんが自動化オペレータとして 作成されたスクリプトを実行して、その結果をケースに反映させていくといった方式を取っております。
  5.  続いて、本セッションについてのご説明です。  今回お話しするテスト自動化導入の対象はスマホのRPGゲームになります。  当初は手動実行するテスターさんの人数を減らしてコスト削減をしたいを目的としており、本導入後に動作が安定した段階で現場のテスターが自動テストの実行を引き継ぎ、自動テストを実行・確認する予定で進めていました。  ここでゲームの自動化の特徴についてご説明いたしますと、   ・1番目はイベント毎にアセットに使われるフォントや色味、画面自体のUIの更新が発生する。   ・2番目はテストサイクルが非常に短く、データ更新が短いものだと週に1度、隔週更新でデータ更新が発生する。   ・3番目はゲーム自体のテスト要件の精査が出来ていないとテストのうまみがない   ・4番目は2番目、3番目の特徴に付随しますが、保守作業する機会が頻繁にあるため、要件に根差したスクリプト構造ではないとスクリプトがスパゲティコードになり、保守しにくい構造になりやすい。  といった特徴があります。  もう十分に大変そうだなと思われるゲームテストの自動化導入ですが、その中で自動化エンジニアが「実際に体験した地獄のような自動化導入の体験談」をお話しいたします。
  6. まずは何があったのか…大まかな時系列がこちらになります。 この表だけでもヒヤッと感じられるかもしれません…ひとつずつ何が起こっていたのかご説明いたします。
  7. 4月頃は、当時の案件リーダーがなんと、非常に曖昧な要件をもとに自動化導入を進行していました。 案件の要件は手動テストの実行よりも工数を削減させることです。 自動化させる対象はRPGゲームの新規ガチャ、ストーリーといった新規で実装されるイベント施策の確認で、 当時、案件リーダーは「ソーシャルゲームの構造って大体同じだから、この案件もスクリプトが使いまわせるよ」や
  8. 「手動以上にテスト自動化の実行が早く完了しないと<<自動化の意味がない>>から凄く速く操作するように作成してください!」といった、結構な無茶振りかつ疑問に思う内容で進んでいました 当時、自動化エンジニアが疑問に思ったのなら、その時点でツッコミすればよかったのでは?と思う方もいらっしゃるかと思いますが、 当時の案件リーダーは開発経験者であったことから、自動化についてもそこそこ理解があるだろうという思い込みによりそのままスルーしてしまった感じです
  9. ここでツッコミ云々以外で何が問題だったかといいますと、 「スクリプト使いまわせるよ」は流用できたとしても、それぞれのゲームアプリで細かい挙動が異なるので、いくら構造が一緒でも流用は一部分に限定されることが多いです。 また、「手動よりも実行が早く終わらないと自動化の意味がない」は、手動で確認している各要素の確認作業を無視した操作になりますので、逆に無意味なテスト自動化になります。 テスト自動化は継続することで初めて利益が得られるテストであるため、「手動テストよりも自動テストが実行が早く完了しないと自動化の意味が無い」なんてことはありません。
  10. 当たり前の話ですが、要件定義はテスト自動化の特徴についてよく理解していない人のみで行うのは危険であることや テスト自動化の特徴や導入することによる効果を最初にクライアントに具体的に提案・説明をし、合意を取るべきだったのですが、 これを当時の案件リーダーが遂行できなかったため、担当の自動化エンジニアは地獄を味わうことになりました
  11. そんなこんなで時は過ぎまして、 7月に入り、なんと突如案件リーダーが案件から離れることになり、後任への引き継ぎが始まりました
  12. しかし、引き継ぎの内容が不十分すぎて自動化に関する引き継ぎ資料・作業がほぼなく、自動化は「工数削減する」という名目だけが引き継ぎ内容になりました。
  13. 自動化チーム内でも別途で資料を作成していればよかったのですが、自動化を実装するにあたっての要件・依頼が案件リーダーからの口頭伝達だったため、 引き継ぎできるものがありませんでした…
  14. そしてそのまま8月になり、自動化実装のスケジュール管理は誰も担当しなくなり、宙ぶらりんに… スケジュール管理は後任リーダーと自動化エンジニアのどちらが管理するかなどでトラブルに発展し、 結局こちらはのちに新しくジョインしたテスターさんが管理することになりました
  15. そして9月に入り、改めてこの案件についてすり合わせを行いましょうということでクライアントも交えてミーティングを開催したのですが、そこで関係者から4月のこの話が出てきました…
  16. 再度すり合わせということで、まずは自動化に対する認識などの確認を行ってみたところ、 クライアントは最初の案件リーダーからこちらに伝わっていたよくわからない要件そのままの内容で、 表のように認識の齟齬がかなりあったことが今更ながらに発覚。
  17. 4月頃の問題がここにきて爆発し、地獄がまみえた瞬間でした…
  18. なんとか状況を打破しようと、自動化についての認識を再度説明し、 幸いクライアントにもご理解・合意を得られたのですが、このようなやりとりがありました。 元々のスクリプト要件にあった「手動テストより実行工数を少なくする」が満たせなくなる可能性が高いですが、問題ないですか?とお聞きしたところ、  「とりあえず、自動化が導入できればOKです。工数は二の次で!」という返答が返ってきたのです。
  19. この時、「自動化導入」をして目的である「工数削減」を達成するはずだったのが、逆に「工数を犠牲」にして「自動化導入」を達成するという目的に変わってしまいました。 当時目指していたテスト自動化案件は「失敗」という形になってしまったのですが、新たに「テスト自動化をテスト実行に導入する」目的に変わったため、案件は続行となりました。
  20. 結局、この案件はどうなったといいますと、クライアントとのすり合わせの後、 後任の案件リーダーはテストリーダーの業務が厳しく、余裕がない状態。 チームメンバーは手動実行が忙しすぎて余裕がない状態。 と誰も自動化導入、自動テストの導入時に回せる余裕がなかったので、結果的にメンバーが増員されました。 そこで新しく入ってきたテスターさんが案件の仕様把握や、あふれそうな手動テストを行いながら、自動化の学習をしていただき、クライアントからの自動化実装に対する要望と、 テストエンジニアの実装要件やそもそもの可否などの伝達、自身で行えそうな部分のスクリプト改修などテストに関わっている方々との調整をなんとか上手く行い、 結果として、自動化導入が当初の目的から見ると「失敗」という状態だったところから、翌年である2021年の1月に本導入まで漕ぎつけ、現在まで運用できている状態まで持ってきました。 9月に変わってしまった「テスト自動化をテスト実行に導入する」目的という意味では、「成功」という形で着地した…といえるのかなと思います。
  21. こんな感じで地獄を体験した自動化エンジニアからの教訓として、  ・要件の根幹をなす目的と役割を決めておく  ・自動化のメリット・デメリットを把握して、自動化を行う箇所の切り分け、精査を行えるようにする  ・自動化はあくまで目的を達成するためのツール、手段であるという認識   大事なのは自動化を導入した後、ちゃんと運用できるかどうかで効果が発揮される/されないが決まることをクライアントに   最初から合意を取ること  そして、今回のお話はスマホゲームの案件についてでしたが、  どんなテスト案件でも基本に忠実じゃないと大炎上の可能性が高いということを一番お伝えしたいです。  一番最初にスマホゲームの自動化の特徴についてお伝えしました。  その特徴からしてスマホゲームの自動化は難しいと言われておりますが、  それ以上に基本に忠実じゃないと大炎上しやすいことが難易度を上げているのかもしれません…
  22. ということで、以上で本セッションを終了いたします。 ご清聴ありがとうございました!