84. チェッキングとテスティング
チェッキング
チェッキングは、仕様書など「こうなるべき」という答えがあって、確かにそれ通りになっているねと確認する活動。
もう答えがあるので、成功/失敗のどっちか答えがはっきりしているゾ。
開発側のユニットテストとか、E2Eのテスト自動化なんかは「チェッキング」にあたる活動だ。
(テスト業界あるあるだけど、チェッキングの大まかなところはこんな感じだけれど、細かなところは諸説あるゾ!)
テストコード
テストは何も手で行うテストばかりじゃない。(この辺の話は今後テスターちゃんでもやりますね)
開発の人は、自分の書いたプログラムがちゃんと仕様通り動くか確認するために「テストコード」という、プログラムをテストするためのプログラムを書いて確認していたりするんだ。
この入力値が来たときは、こんな出力になればOK!といったことが書かれたプログラム。
で、OKだったらpass、違う出力になっていたらfailが出力されて真っ赤になるゾ。
このテストを通すことによって、自分が思い描いた通りにプログラムが動いているか確認できる。
あと、このテストコードがあると、プログラムを手直し(リファクタリングという)するときに「前のプログラムだとこの入力の時はこう出力されて…今の直したのも同じになるはずだから……同じになったからプログラム壊れてない!」なんてことも確認することができる。
おかしい
作者は、スマホゲームやユーザー数が多いプロダクトを受け持ったことが多かったり。
で、リリース後はtwitterなんかでどんな発言があるか見たりしてたわけで。
やっぱり感想の速報はtwitterとか見るほう早いんで。
んで!!
ね……。
twitterとかでね……。
「これ、~~~なのっておかしくね?」
とか
「ここで止まるんだけど」
なんてツイート見た瞬間、何か冷たいものが体を駆け巡るワケですよ!!
あの感覚ね……。
たぶん「血が引く」ってやつなんだと思う。
それ見た瞬間思うんですよ。
「そ、それ、テ、テストしてたっけ……?」
で、恐る恐る自分のスマホ取り出して試すんですよ。。。
そして……
……………………。
…………。
……。
「あぁあぁあぁあぁ~~~~!!」
って悶絶するわけですよ。。。
ね……。
今はそういうお仕事についてないけど、絶対忘れられないですヨ。
異常系
なんとなくみんな使っている「異常系」という言葉。
よくよく考えると「何が異常系なの…?」と思ってきたりする。
話をしていると大体の人は「こう動くべき」(正常系)以外全部が異常系派が多そう。
この場合は「xxしたらエラーになって"半角英数で入力してください"と出力される」なんてのはエラーの話をしているので異常系に含まれたりする。
けどよく考えてみる。
「xxしたらエラーになって"半角英数で入力してください"と出力される」
これが仕様で決められたことなら、ある意味「こう動くべき」なので
「あれ?正常系じゃね?」
とかなる。
そうなってくると「仕様に記載された以外のこと」なんて思ったりする。
さらに仕様以外に記載された以外のことの中でも、例えば急に電波が遮断された時の動作なんかを指して「異常系」では、と思ったりする。
なんとなくみんなの頭の中にあるのは「正規ルート以外」のことという感じだとは思ったり。
(ちなみに英語だと正常系/異常系という言葉がなかったので Normal / Abnormal scenario と訳させてもらった)