テスターちゃん【4コマ漫画】

ソフトウェアテストの用語、やり方などを4コマ漫画でわかりやすく説明する(予定の)ブログです。脱線も多いです。



63.テストの7原則 その③

f:id:m_training:20190114170437p:plain

63.テストの7原則 その③

 原則2:全数テストは不可能

「全数テスト」とは、入力される可能性のある全てのパターンをテストすること。

 

この話で真っ先に思い浮かぶのは、その昔プチブレイクした以下の動画。

組み合わせ爆発のすごさ…狂気をわかりやすく説明しています(爆

www.youtube.com

 

例えば5歳以下は無料、6歳から12歳は小学生料金、それ以上は大人料金になる映画館があったとします。

さて

「不安なので全部見てください!」

と言われたとします。

全数テストならば0歳から入力値マックスまで「0歳の時…1歳の時…2歳の時…」と見ていくことになるでしょう。

ちなみにintの最大値は21億4748万3647です。

このテスト実施の際は、リーダーは夜道でメンバーから刺されないように注意しましょう。

 

 

もう少し考えると「公式記録は122歳だし…」と若干減ったりします。

けどそもそも同値分割&境界値分析の考え方ならば、-1歳、0歳、5歳、6歳、12歳、13歳でよくないか、となったりしますね。

 

単純な例で考えると「何を当たり前な…」と思うのですけど、これに映画のチケットの割引有無がついたり、座席指定がついたり、水曜日はレディースデイだったり、夜はレイトショーで1000円だったり、スタンプが貯まっていたら割引だったり、3D映画鑑賞料金なんてものが組み合わさったりします。

これらを全パターン組み合わせ網羅をするとスンゴイことになります。

 

不安だから全部テストして

マンガにも描いたが、社内開発などでチョイチョイ遭遇した。

ちなみに、本当に不安だからそう言っている。

起点が「不安」という感情であり「とりあえず全部見てほしい」という気持ちであるため、どれくらいの規模でどれくらいかかるのか、ということは口に出した時点では全然考えていなかったりする。

なのでこちらから、どういうテストをしなければならないのか、そのためにはどれくらいの工数がかかるのか、という説明をしっかり伝える必要がある。

 

ガチャとガシャ

2つの呼び名があるが、どうやら商標であるとのこと。

「ガシャ」は「ガシャポン」であり、バンダイの商標らしい。

「ガチャ」はNHNという会社の商標とのこと。

 

ゲームアプリのテスト

作者はゲームアプリのテストも第三者検証/自社開発で何回か行ったことがある。

数年前のことだが、困ったことを思い出して書いておこうと思う。

 

デバッグがない

自社開発のゲームに最初触れたとき、デバッグモードがなかった。

これはゲームのテストをしたことがある人ならヤバさがわかるだろう。

  • ガチャの確認が本当にガチャ。でるまで引き続ける。石がなくなったら……!
  • ゲームの進行操作ができない。先に進みたいのでガンバル、バグ修正が来たけど戻れないので最初からガンバル……
  • クリアできねぇ問題
ステータスチェック

キャラやアイテムのステータスチェックもゲーム上で実際に取得して確認。

確認したいコトがDBへのデータ挿入ミスであるならば、DBを見ていくのが早いだろう。そのあとHPがマックスのキャラでUIが崩れていないか確認する、というのもありだ。(全キャラグラも同時に確認必要、とかなってくるとゲーム上で…にはなるかもだが)

 

ボス強すぎ

「これ勝てないだろ!?」と思う場合もある。

ステータス設定ミスの可能性も高いので、どうやれば勝てるかひたすら考えないで、問題提起した方がいい。

 

原作知らない

原作付きゲームの場合、コアなファンがもちろんプレイしている。

そうすると絶対あるのが

「このキャラはこんなこと言わない」

「このキャラの色が違う」

みたいなこと。

この辺は原作を知らないメンバーでテストしても絶対に出てこない。

 

そいつにしか出せない、なんかすごい難しいバグ

タイミング系バグなど(マリオの壁蹴り2段ジャンプみたいな)だと、その人しか出せない凄腕バグが存在する。

「こうやって、ここで、こう。ほら(ドヤァ」

と教えてくれるが、なるほど、できません!!

開発者ももちろんできません!!

録画準備、ログ取りはしておこう。

 

2019/01/15追記

イベントが時間前に始まっちゃった /  イベントが始まらない

設定ミスでイベント開始時刻に始まらない、なんてこともしばしばあった。

特にランキング制などのとき、時間前に始まってしまうと

「あいつは先に入っていたから得してどうのこうの」

という問題に発展しかねない。

サーバー時間をいじるなどして、イベント開始の境界値は見ておこう!