雑記

一般人にテスターを任せるリスク

はじめに

まず私の大好きなユーチューブチャンネルである「桜井政博のゲーム作るには」で本日こんな動画がアップロードされました。

要約するとデバッカーってこんなことやってて超大変なんだよ!という動画です。
で、私はこの記事の存在を思い出します。

実はこの記事3年前から書いたまま放置してたんですが、ちょうどいい機会なので公開します。
自分で読み返してみたら結構面白かった。(自画自賛)

きっかけ

これはとあるゲーム開発で、一般人にテストしてもらいながら開発しちゃおう!という海外ではチョイチョイ見ますが、日本では殆ど見ない開発環境での出来事です。
こんな開発環境を生で日本語ネイティブで見れるのは大変貴重ですし、面白そうだったので日々ウォッチしていました。

しかし、やはりというか、かなり地獄のような状況で逆に面白かったのでこの記事を書いてみました。
ひとことで言うのならば「プログラミング未経験者だとそういう風に解釈しちゃうんだ」という感じです。

仰天の一般人テスターの行動

非公式ツールを使ってる環境でテストしちゃう

これは本当にビックリするのですが、MODを使ってる環境でテストに参加してバグが発生した!
と報告してしまう人がいるのです。

開発者目線で言わせてもらうと、MODを外してからテストするのは当たり前なのですが、本当はMODを1度も使ってないセーブデータでテストに参加してもらいたいのです。
MODを使ったセーブデータはデータ自体が汚れる可能性があって、MODを外してもその汚れが取れることはなくなります。
1度汚れてしまうと直すことはほぼ不可能なので、何が起こるかわからない怪しいセーブデータとなってしまうわけです。

この辺りはSkyrimやFalloutなどのベセスダゲーをMODで遊んでいるプレイヤーならよくご存じのはず。

つまりテスターとして参加するのであればMODを1度も使っていないクリーンなセーブデータで参加するのが必須条件。
でも一般人はそのさらに前の段階で、MODを入れたままテストしちゃうのです。
ハッキリ言わせてもらうと何の意味もないテストです。逆に迷惑をかけていることをお忘れなく。

揚げ足を取るような指摘をしちゃう

「パッチノートのここの言い回しは誤解を生むから変えてくれ」「僕は~という意味でとらえた」

多くの人が理解しているのに、一部のユーザーが汲み取れなかったからパッチノートの言い回しを変えてくれという謎の指摘。
しかもそんなことで1時間くらい議論し始めちゃう。

いや無駄無駄その議論!そんな細かいところ言い合いし始めたら終わらないよ!

どうでもいいところをテストしちゃう

どうでもいいテストなんてないんですけど、いわゆるリグレッションテスト(以下、RT)をしてくれないのです。
RTとは簡単に言えば「出来てたことが出来なくなってるってことがないよね?テスト」です。
例えば以前までは普通に配置出来てた建物をテストバージョンで配置しようとするとクラッシュするとか。

で、RTが非常に大変なので、不特定多数の人に普通に遊んでもらって、バグをふるいにかけるという作戦だったのでしょうが、新機能ばかり着目されてRTが疎かにされている印象。

一般人テスター「新武器が作れるようになったからOK」

まあそれも大切ですが、そういった最低レベルのテストは開発でもやってるのです。
新武器で攻撃できて適切なダメージが出ているかとか、スキルとか重ねてもちゃんと機能するよね?とか、モーションは正しいかとか、そういうテストのほうが大切なのに疎かになってしまっている。

過去バージョンでの結果を報告してくれない

バグが発生したら報告してくれるまではいいのですが、以前のバージョンではどうだったのかを報告してくれないわけです。
これってテスター界隈では普通に行われていることで、これをしないと新機能で発生したバグなのか、切り分けが大変になるわけです。
また、稼働中の本番バージョンでも同様のバグがあるのか、わざわざ調べないといけないのです。

再現手順を知ってる人がバージョン切り替えて確認したらいいじゃん!

再現手順がわからないし、記録することを知らない

なんとなく遊んで、なんとなくバグってたから報告する。
そういう緩い姿勢で始まった体制なので、まあそれでもいいんでしょうけど。

例えば、銃を使ってて、特殊弾を装填すると射撃できなくなったとしましょう。
これを雑なテスターは「銃が撃てない」としか報告してくれないわけです。

普通のテスターは
通常弾だったら射撃できるのか、とか。
別の銃なら射撃できるのか、とか。
テストパターンが何パターンか出てきて、テストし、報告します。

こんな報告じゃわからないし、無駄な議論が発生しますよね。地獄。

ゴールがわかってない

問題です。

例えば、ハウジング機能があるゲームで
「床にトースターを置くことはできるけど、テーブルの上に配置することはできない」
といったとき、あなたはこれをバグとするのか、正常とするのか。

答え
答えはバグです。

なぜならトースターを床においてパンを焼かないですよね?
そういうことしている人もいるかもしれませんが、一般的にはテーブルなりに置きます。
開発が最終的にどう判断するのかわかりませんが、こうあるべきから逸れてしまったら、それはバグです。
報告すべき。

それがわからず、これはバグですか?みたいな質問が乱発しまくっていました。地獄。

テスターがほとんどいなくなっちゃう

これももうしょうがないんですけど、そのゲーム自体の人気がかなり下火になっちゃったんですよね。
するとどうでしょう、今まで活発に動いていたテスター用チャンネルがワンスクロールで終わってしまうほどテスト参加者が激減。

テストサーバーで数ヶ月テストしたのにも関わらず、一般向けに公開した途端、バグが乱発し、すぐにホットフィックスを適用するというサイクルに。
結局テストサーバーがほぼ無意味なものとなってしまいました。

テスターにもモチベーションを保たせるだけの魅力的なものを作らないといけないのに、そこが疎かになっているようです。

さいごに

やはりテスターにはある程度知識のある人がやらないとダメだな、というのが本音。
そもそもこの動作がバグかどうかわからないということは初心者テスターにありがちな事です。
やりたい動作のゴールが明確に共有されていれば、自ずとバグかどうかわかるのですが、一般人には…まあ難しいよねといったところ。