先週の金曜日にこんなことがあった。
いつものように、あるストーリーをcloseするためのテストをしていたのだけど、確認している最中に、テスト対象のプロセスが突然終了してしまった。もうこれだけでNGなんだけど、このシステムは特に複雑でね、これまでも不具合の本質的な原因が”スコープ外”と言うのかな、わたしたちが開発している部分の外側にあることが少なくない。
でもまあ、システムを使うお客様からしてみればそんなことはどうでもよくて、やりたいことができないのは、大問題ですよね。
現象が発生した直後、プログラマーMさんに見てもらい必要なログを採取してもらったのだけど、午後もやっぱりおかしい。午前中に問題が発生したときと見た目の現象はほぼ同じなのだけど、プロセスは残っている。かと思えば、うまく動くときもあってね。これは厄介だな…。
周りを見渡したらMさんはいなくて、プログラマーSさんに午前中の状況も話して見てもらった。SさんもMさん同様にログを採取してくれたのだけど、二人とも「異常終了」というかなりシリアスな場面なのに、盛り上がっていない。(なんでなんだよー)
はじめにも書いたように、不具合の本質的な原因が”スコープ外”ということもあり得るので、まずはログを解析してから…ということだったのだと思います。*1
それにね、MさんもSさんも、いま別のストーリーを絶賛開発中なのですな。どの機能のどこの部分を作っているかもわたしは知ってる。横並びの席に座って、みんなで協力しあっていい感じで作っているんですよ。この光景はいつ見ても気持ちが良い。
そこへだ、わたしが不定期に「なんかおかしい」て割り込んでくるわけでしょう。だからわたしの思い通りにタスクスイッチなんかされないのも分かる。分かるよ。分かるんだけど、でもなー、今回のコレはなんかやっぱり変なんだよなー。
いますぐ見てもらわないとダメなような気がしてならないので、仕方がないからプロの無職に現象を説明しに行きましたよ。*2
そこからは早かったね。
プロの無職が、エースプログラマーYさんとスコープ外のWさんを連れてきて(実際は連れてきてないんだって。自然とそうなる系のやつかな)、Mさん、Sさんを含む5名のエンジニア+わたしでモニターを囲み、現象を見ながらデバッグしました。
その結果、問題はスコープ内で起きていることが判明して、プロセスが落ちる原因であろう関数名まで特定できたみたい。よかった、よかった。
@ryuzee さんが翻訳してくださった『テストエンジニアの面接の際にするとよい20の質問』を、この週末に読みました。
ああ、今回の件は「開発者が納得しない」のではなく「開発者の反応にわたしが納得しない」というケースじゃん。うわー、もうなんていうかテスターとしてこれでいいのでしょうか…。わかんなくなっちゃった。*3
明日もテストするよ!