テスト駆動開発のスタイルを取り入れているもののテストのことはあまりよくわかっていないプログラマーと、テストへの熱い情熱をもちつつプログラマーの事情はわかっていないテスターとが、小さな障害の発見をきっかけとして出会い、役割の壁を崩しながら少しずつ協調するようになっていく、小さなお話です。
登場人物
プロ之 … プログラマー
テス緒 … テスター
前回、テス緒さんがテスト中に偶然システムのおかしな挙動を見つけ、調査をして、プログラマーのプロ之さんに相談しました。問題意識は共有できましたが、プロ之さんはいまは手が離せないとのことでした。その後、テス緒さんがどう過ごしているか、見てみましょう。
テスターが網羅しまくる話
「50.0…49.9…50.0…49.9…」
テス緒さんは困っていました。このあいだ見つけた表示のちがいについて、同じ現象を起こせずに行き詰まっているのです。プロ之さんと話した後、自分の仕事もこなしながら、ときどき時間を見つけて既存テストケースを見直したり、自分でテストケースを増やしてみたり、思いついた入力を試したりしていました。しかし再現の方法は見つかっていません。
そうこうしているうちにテス緒さんも作業が立て込んできて、すぐに1週間が過ぎてしまいました。火曜日、プロ之さんのほうから、テス緒さんに声をかけてきました。今日明日なら30分くらい時間があるから話そうというのでした。
テス緒さん(以下、T)は自分が試したことを説明しました。「表示がおかしくなる入力のテストパターンを考えて、入力してみたけど、おかしくならないんだよね」テス緒さんはそう言って、自分が作ったテストパターンを見せました。
プロ之(以下、P)「183パターンもあるんですか?」
T「いろいろ考えてみてね。0秒とか1秒とか59分59秒とか境界値周りはあやしいし、日またぎや月またぎ、年またぎも問題になりやすいでしょう。画面でバーの位置を1ピクセルだけずらしたり、ウインドウやフォントの大きさを変えたり、遷移やリロードしながら入力したり。別々のブラウザで削除したり更新したり。触っているとこれはどうかな? あっちならどうなる? ってアイデアが湧いてくるんだよね」
P「そんなにたくさん観点あるんですね」
T「でもおかしくならない。他のパターンも考えないといけないなあ」
プロ之さんが突然目を見開いて大声を上げました。「テス緒さん!」
テス緒さんはびっくりして答えました。「なんですか!?」
P「もしやと思いますが、183件のテストは手で入力してませんよね?」
T「したよ? 手で」
沈黙が5秒間続き、ネットワークが落ちたかなとテス緒さんが心配になったとき、プロ之さんが言いました。
P「開発チームはテストを自動化しています。テス緒さんにも役に立つと思います。いま説明します」
T「えっ、でもプログラムは書けなっ」
テス緒さんが言うのを待たずに、プロ之さんは自分の画面を共有しました。表示されたのはプログラミング言語で書かれた自動テストのコードです。テス緒さんはコードは読めませんが、テストデータらしき数字が並んでいて、日本語の補足も書いてあるのでなんとなく把握できます。
テス緒さんはテスターの目で見て、いろいろなパターンのテストケースがあるものの、十分な網羅ができているか判断が難しいと感じました。テストケースの内容も人工的というか不自然で、現実的なケースを足したいと感じます。テス緒さんはそう感想を言いました。
ポイント:
- テスト設計技法を用いて、さまざまなテストケースを作れる
- テスト駆動開発や探索的テストなど、手を動かしながら作ったテストケースは、その人やその作業独自の内容になる
続きを読むにはログインが必要です。
ご利用は無料ですので、ぜひご登録ください。