一般的に、おかしなところを探すのがテスターのお仕事なのだけど、おかしくないところ(良いこと)も探すといい。積極的にそれを探す、というよりは、普段からそういうことも感じられるように、あなたの持ってるアンテナを1つ増やし、周波数を調整しておくといい。
もし、そのアンテナに「良いこと」が引っかかったら、あなたの心の中にしまっておくのではなく、インシデントを報告するときと同じように、チームの誰かに伝えるといい。
ストーリー220をテストする
用意されているテストケースは全てPassしたので、少し(かなり)意地悪な状況を作りました。わたしの頭の中には、シーケンス図のようなもの(複数のスレッドがこう動いているのかもしれない…という予想)があったのです。あの処理の隙間に◯◯をしたら、何か嫌なことが起きるかもしれない。だから、その隙間を狙うようなテストをしました。
結果は…というと、隙間を狙えなかった。処理が速すぎて、わたしの思い描いていたテストができなかったのです。
うはー、これはすごい!
ストーリー220を担当したプログラマーTさんを探したら、斜め後ろにいたので、話しかける。
miwa「いまストーリー220を確認しているんですけどね(画面を見せながら)ほら、こんな状況で◯◯しようとしたけど、処理が速すぎて出来ないの」
miwa「すばらしいです!」
Tさん、わたしの話をニコニコしながら聞いていました。「たまたまですよ」と言うので、そのあと何度かトライしてみたけど、◯◯は一度も出来ませんでした。
夕方から土砂降りの雨の日のテスト
この日はシミュレータではなく、本物の装置を使ってテストしていました。(ここから先は、本物の飛行機を使ってテストしているイメージで、お読みください。)
その時、雷による瞬電が起きたんですよ。格納庫でメンテナンスしている時ではなく、お空を飛んでる最中に!*1
本物の瞬電でテストができた
— miwa (@miwa719) 2016年8月3日
飛行中に瞬電が起きるとどうなるのか。実際に見るのは初めてでした。
システムダウンはしなかったけど、目の前で起きているそのふるまいが、期待するものであるのか。よく分からなかったので、エンジニアHさんに連絡してすぐに来てもらい、瞬電が起きてからの状況を話しました。Hさんはわたしの話を聞きながら、ログファイルをスクロールしながら確認している。
結果は…というと、やるべき処理がきちんと動いていました。Hさんから説明を受けながら「ああ、よかったー」「さすがです!」と、自然に口から出てしまいました。
翌日のテストの朝会で、キャプチャーした画面を見せながら、みんなに話しました。
miwa「昨日、ちょうど飛行中に瞬電が起きたんですよ!ええ、あの時です」
miwa「結果から言うと、ちゃんと動いてました。よかったー」
miwa「あ、瞬電だ!と思った直後、すぐに画面にはこんなメッセージが出て、次にこうなります。これは内部的にはXXというシグナルを感知して…云々」
(かなり熱く語っていたのではなかろうか)
そうなるように設計して、そうなるように実装して、そうなることを確認してるのだから、そう動くのは当たり前なのかもしれないけど、でもやっぱり「すごいなー」と思うのです。作ったものを信じてないとか、そう言うのじゃないんですよ。うまく言えないけど。
さいごに
このテストの朝会は、テスターの他にも、数人の(わりと主要な)エンジニアが参加しています。ストーリー220のプログラマーTさんも、瞬電のエンジニアHさんもそうだけど、わたしが伝えたことを聞いてどう思ったのかは、実際のところ分かりません。
でもね、「良いこと」を伝えると、みんな決まっていい顔になるのです。それでまた、わたしは嬉しくなる。だから、これからも「良いこと」を感知したら、まわりのみんなに伝えます。