日本テスト話【JSTQB対策講座】~ 第1回「もしもテストがなかったら? 」~
はじめに
話をしましょう。
むかし むかし あるところに ひとりの「テスター」がいました。
そのテスターは働きはじめてから此の方、あらゆる製品のテスト一筋で生活しておりました。
そんなある日、テスターは、ふと疑問に襲われました。
(自分はなぜ、テストをやっているのだろう…?)
これは、テストという言葉の本意を知るための壮大な物語。その第一歩―――。
自己紹介
こんにちは。
株式会社SHIFTでQAリーダーをしているブルチワワです。
前職もゲームのテスト会社だったので、実質テスト男子ですね。
以前は、実際にスマホでゲームを操作してさまざまな不具合を見つけたり、その傍らで同じ班のメンバーで経験の浅い人をフォローすることが多く、いまは管理者としてスケジュールや進捗のコントロール、検証の旗振り、教育をメインに行っています。
この記事では、「テストとは何か?」をまずは解説するとともに、世界共通でテストに関する諸々を定義した「JSTQB」と呼ばれる資格の知識に基づき、普段の業務でも使える知識を提供します!
❕この記事を書くに至った理由
結論から言いますと、テスト実行に携わっている方々が、テストの知識を感覚ではなく体系的に覚え、成長・評価されやすくなってほしいと思ったからです。
ゲーム領域のテスト、とくに外注の場合、テスト実行に携わる方々はアルバイトから入った人も多いと思います。いわば「専門知識がない」状態ですね。その点を補完するために、チェックリストにテスト観点を載せたり、テストリーダーが監督したりします。これは料理に例えると「既に用意されているレシピ通りに調理師から監修してもらいながら作る」という行為。その繰り返しといえるでしょう。
ただし、ゲーム領域のテストでは、調理師から調味料や素材について詳しく教えてもらえる時間がなかったり、教えてもらえても1つのレシピについてだけ…という条件つきであることが多いです。
言い換えると、担当しているゲームのテストに特化した知識、技術は身につきますが、ほかのプロジェクトではその経験をそのまま活かすのはむずかしいです(各ゲームに特化した手法が用いられていることがあります)。
例えば、バグレポート(起票)はテンプレートに沿って記載しますが、テンプレート通りに記載することはできても、新規プロジェクト立ち上げ時にそのテンプレートを0から作成できる人は少ないです。
こういったことから、「その場は使えるけど、その場でしか使えない知識」しか手に入らないことが多々ある領域➞明確なスキルとしての根拠が不明➞自分のスキルを自覚しづらく、成長しづらい➞なかなか評価されないように感じる…という悪循環にハマりがちです。(実際のところ、評価を上にあげようとしても、基準が不明確なことが多くてむずかしい…。)
JSTQBは世界規模の団体に認証された資格であり、テスト業界全般に役立つ知識で構成されています。現在テスト業務に携わっている方々、とくに定性的(感覚的)な理解に留まっている人たちに対してJSTQBに基づく体系的な話をさせていただきますので、この機会にテストについて改めて学んでいただければ幸いです。
一般的な「テスト」の意味
さて、テストとひと口にいっても、実際にはさまざまな種類があります。
すぐに思いつくものだと学校や塾での「定期テスト✏」、薬品などを使う前に行う「パッチテスト💉」、ゲームの挙動を確かめる「動作テスト🎮」あたりでしょうか。
それぞれ「〇点以上で合格」「肌に異常が起きないか」「予定通りの動きをするか」など手段は異なりますが、「一定の基準を満たしているかを確認すること」が共通の目的といえるでしょう。
そんな「テスト」を生み出したのは、隋の「文帝」(強そう)だと個人的には思います。
文帝は、学科試験で官僚へ登用するに相応しい人物か評価する科挙をスタートさせており、 これは前述の「基準値を満たしているか」を判断する部分と共通しているためです。
強そうな文帝(個人のイメージです)
学業のテストと聞けば「この世から淘汰されるべきランキングTOP3」に居座りつづけていそうなイメージが強いので、ちょっと恐ろしい感じ…。
ITにおける「テスト」の意味
ですが、ハードウェアやソフトウェアのテストはどうでしょう。
少し踏み込んで考えてみましょう。
例えば、日常的に使用しているスマートフォン。インストールしているアプリケーション。
ほかにもカーナビやゲームパッド、キーボード、各種ケーブルや家電などなど。
これらのいずれも、開発・製造工程のなかにテストがあります。
学業におけるテストは、身についている知識がどの程度であるかを数値化して自覚させるという役割がありますが、対して、前述のような日常生活で利用されるさまざまな「製品」のテストにおいては、どんな役割があるのでしょうか?
「製品」を買う際に皆さんは、その製品が「故障しない」ことを前提に考えられると思います。
それはそうですよね。使いものにならないのに、わざわざお金を払うなんて嫌ですよね。
この「故障しない」ことを保証するには、ユーザーがどのように製品を扱うか、そのさまざまなパターンを想定してテストする必要があります。
年齢層や生活環境、一緒に使うであろうほかの製品など、パターンは多岐に渡ります。
それらのパターンを現実的な範囲で網羅して動作テストを行うことで、はじめて「故障しない」ことの保証になりますが、 もしパターンの抜け漏れがあったり、テスト自体が行われていなかったらどうなるでしょうか?!
パターンのなかには、「当たり前」と思うようなものもあります。
例えばカーナビだと、目的地までの道のりを自動検索してくれますが、 最初の道のりから外れた時に再検索されなかったら…。
車の自動ブレーキ機能がまともに働かなかったら…。
または、ソーシャルゲームに課金したとき、正常に決済されず、 請求だけされてアイテムが付与されなかったら…。
全力でイベント周回していたのにサーバーダウンしたら…。
考えただけでも恐ろしいですね…!
上記の通り正常に動作しない場合、製品によっては命に関わるほど重篤な事態に繋がるケースもあります。
テストがなかったらどうなるのか?
ケーブル類だと、ショートによる火災などもありえますし、ゲーム(アプリ)ですら、最近は開発費が高騰しているため、 リリース直後に致命的なバグが発覚すると売上の低迷に繋がり、 会社の経営に響いた結果、社員に給料を払えなくなるなど影響は計り知れません。
つまり、テスト1つで人命を左右するほどの結果に繋がります。
このことから、テストの役割とは、「人の『暮らし』を支えるものである」とも言えるでしょう。そのレベルまで根づいちゃってるんですね。
国内外で日本製が人気なのは、安心・安全というイメージが、無意識に「暮らし」における要素となっているからなのかもしれません。
実際、私が在籍している「株式会社SHIFT」の公式サイト>「コーポレートアイデンティティ」でも日本製についてふれられており、そのなかで「世界へ大きな影響を与えた『Made in Japan』に裏付けられた品質」と記載されています。
それほどの影響力がある製品の品質を保証する、テストする立場にあるというのは、間接的に人々の「暮らし」の要素になっているともいえます。
テストによって生まれる便利で快適な暮らし
長くなりましたが、今回の話をまとめますと重要なのは下記の3点です!
・テストを行うことで「基準を満たしているか」を確認できる
・テストにより保障されるのは製品の質と、人々の「暮らし」である
・テストがなければ、人命にすら関わる事態も起こりうる
おわりに
テストに世界共通の基準を設けた「JSTQB」でも、テストの失敗は人命に影響することが明記されています。
株式会社SHIFTでは、JSTQBの勉強会を実施することで、より練度の高いテスターを育成しています。
こういった知識を共有することで、よりテストに対する考えが深まると幸いです。
解説の一例
次回は、ソフトウェアテストを俯瞰的に見ることで、テストを実行しているだけでは気づけないその前後の部分についてふれていく予定です。
乱文で恐縮ですが、お付き合いいただけますと幸いです。
――――――――――――――――――――――――――――――――――
お問合せはお気軽に
https://service.shiftinc.jp/contact/
SHIFTについて(コーポレートサイト)
https://www.shiftinc.jp/
SHIFTのサービスについて(サービスサイト)
https://service.shiftinc.jp/
SHIFTの導入事例
https://service.shiftinc.jp/case/
お役立ち資料はこちら
https://service.shiftinc.jp/resources/
SHIFTの採用情報はこちら
https://recruit.shiftinc.jp/career/