この記事は 【STYLY 主催】XR Advent Calendar 2022 の 5 日目の投稿です
ARアプリをテストするときのテスト観点簡単にまとめてみた
こんにちは!!
STYLY QAエンジニアのuechanです
自分がSTYLY開発にJoinしてはや9ヶ月が経ちます
思い返してみるとジョイントしたての頃、テストやるぞ!となった時にふと思ったことがあります
ARのテスト観点なくね?
ということでちょろっと調べた結果を載せてみます
(あくまで一例です。もっといろいろ調べてますよ!!!)
これ最初の頃のテストしているときかなり苦しみました…
ですのでARアプリのテストをするときに必要な AR特有のテスト観点 についてお話します
今回のテスト観点はARの機能を満足するテストを書くという目的で行うことにします!
そもそもARとは?
AR(拡張現実)とは「拡張現実」という意味で、現実にデジタル情報を重ね合わせ、現実世界に情報を拡張する技術のことを指します。
こんな感じ↓
現実:元自宅のキッチン
デジタル情報:謎のモデル(QAちゃん)を重ね合わせる
ということができる機能をARと呼ぶことにします
今回のARの機能とは
- 現実世界にデジタル情報を 重ね合わせるという機能を持つことになります
本記事でのARの機能はシンプルに 現実の平面に3Dモデルを出すことのできる機能 とします
ARの機能を分解してみる
現実世界にデジタル情報を重ね合わせるという機能を満足するテストになるので細かく機能を分解していきましょう
- 現実を映すカメラ機能
- 現実の平面を認識する画像処理機能
- 認識した位置とデジタル情報を掛け合わせて配置する3D機能
このぐらいでしょうか?
分解した機能を「○○できること」という形式に書き換えてみる
分解した機能を、何ができれば満たされるか?という形式に置き換えます
- 現実を映すカメラ機能
- カメラの映像が正しく映っていること
- 現実の平面を認識する画像処理機能
- 現実に存在する平面が正しく検知できること
- 認識した位置とデジタル情報を掛け合わせて配置する3D機能
- 3Dモデルが意図した描画になっていること
- 現実の位置とモデルの位置がずれないこと
置き換えた現象の派生形を考えてみる
「○○できること」に書き換えた機能の派生を考えてみましょう
検索機能であれば
- フォームに入れた検索キーワードで検索できること
1.様々で文字種で検索
2.and検索を使う
3.or検索を使う
などなど…
実際にやってみよう!
- 現実を映すカメラ機能
- カメラの映像が正しく映っていること
- 室内で映像が映るか
- 屋外で映像が映るか
- 暗いところで映像が映るか
- 明るいところで映像が映るか
- カメラの映像が正しく映っていること
- 現実の平面を認識する画像処理機能
- 現実に存在する平面が正しく検知できること
- 屋外の地面(コンクリート、アスファルト、土)が認識するか
- 屋内の地面(フローリング、畳)が認識するか
- ガラスなど、鏡面な場所が認識するか
- 暗いところで映像が映るか
- 明るいところで映像が映るか
- 現実に存在する平面が正しく検知できること
- 認識した位置とデジタル情報を掛け合わせて配置する3D機能
- 3Dモデルが意図した描画になっていること
- 3Dモデルの形式がどこまで対応しているか
- シェーダーは?ポリゴン数は?
- 現実の位置とモデルの位置がずれないこと
- スマホを動かしてトラッキングできるか
- 歩いてみてトラッキングできるか
- 階段を上ったり、スマホを上下にしてトラッキングできるか
- 3Dモデルが意図した描画になっていること
もうこれで完成です!!!
気が付いたらざっくりしたARのテスト観点できてますね!
- 現実を映すカメラ機能
- カメラの映像が正しく映っていること
- 室内で映像が映るか
- 屋外で映像が映るか
- 暗いところで映像が映るか
- 明るいところで映像が映るか
- カメラの映像が正しく映っていること
- 現実の平面を認識する画像処理機能
- 現実に存在する平面が正しく検知できること
- 屋外の地面(コンクリート、アスファルト、土)が認識するか
- 屋内の地面(フローリング、畳)が認識するか
- ガラスなど、鏡面な場所が認識するか
- 暗いところで映像が映るか
- 明るいところで映像が映るか
- 現実に存在する平面が正しく検知できること
- 認識した位置とデジタル情報を掛け合わせて配置する3D機能
- 3Dモデルが意図した描画になっていること
- 3Dモデルの形式がどこまで対応しているか
- シェーダーは?ポリゴン数は?
- 現実の位置とモデルの位置がずれないこと
- スマホを動かしてトラッキングできるか
- 歩いてみてトラッキングできるか
- 階段を上ったり、スマホを上下にしてトラッキングできるか
- 3Dモデルが意図した描画になっていること
あとは細かいパラメータをかけあわせたり、テストケースの形式になるように手順を補完するなりすきにしてください!
終わりに
文字ばっかりで読みにくい記事ですが再度まで読んでいただきありがとうございます
テスト観点の作成方法みたいな記事になってしまいましたが
これを読んだ方のテストライフがより良いものになりますように!