6
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ソフトウェアテストAdvent Calendar 2019

Day 18

続テストガールRINA(ノービス編)

Last updated at Posted at 2019-12-17

#■これまでのお話

この物語は、シリーズとなっています。前作については昨年のAdventCalendarの投稿をお読みください。

今回は、RINAが一人前のテストガールになる前のノービス・テストガールのころのお話です。(ノービス=noviceとは、初心者や見習いの意味です)
まりまりファンの皆さん、ごめんなさい、今回、まりまりは登場しません。なぜなら、このころのまりまりは、まだ(私が全く想像できない)中学生だからです。

登場人物紹介
**RINA:**主人公(女性)。前職はプログラマー
**あさこ:**ショートヘアで意思の強い獅子座の女。あだち部長の右腕(優秀で行動力あり)
**あだち部長:**評価部の部長。QCD必達の「伝説の開発者」だった過去を持つ
**YUMO:**評価部のテクニカルリーダー
**咳:**開発部のテクニカルリーダー、スキルはguruレベル、wizard成分はない

それではさっそく、福岡県の天神にあるRINAのオフィスに向かい、RINAが新人だった頃の様子をのぞいてみましょう。

#■シーン1. (まぶしい朝)08:45

先月、中途採用で入社したばかりの新人RINAは、先輩あさこの隣の席に座って、毎日、OJT(On-The-Job Training: 実務を通したトレーニング)を受けている。
しかし、OJTといっても、あさこの手足となって、会議配布資料のコピーや、機材の開梱などの雑用をこなす日々である。RINAは、『こんなことばかり続けていては、いつになっても、あさこ先輩に追いつけないのではないか?』と不安になっていた。

そこで、ちょっと仕事に通じそうなネタ振りをしてみた。
RINAにはそういうかわいいところがあった。

RINA「先輩、やっぱり校正とテストは似てると思うの」

あさこ「おっ、朝から哲学ですか?」

RINA「作家が書いた本をチェックして誤字とかを指摘するのが校正の仕事ですよね」✏️

あさこ「まあ、それも校正の仕事だね」

RINA「テストもプログラマーが作ったアプリをチェックしてバグを指摘する仕事です」

あさこ「そう。作家が安心して作品を出版できるように校正は誤りを指摘する。テスターも一緒」

RINA「でも、作家が頑張って推敲して直せばいいとも思うんです」

この会社に転職する前、RINAはプログラマーをしていた。頭の中は開発中のソフトウェアのことで、いつもいっぱいだった。会社にいるときには、「なんで動かないのよー」と叫び、家に戻ってアイデアが浮かぶと「あ、こうしたらいいかも、私ってあったまいいー」と良い気分になり、翌朝会社で、そのアイデアを実装すると「なんで動かないのよー」と叫び、、、以下無限ループを繰り返すので、“気が休まることがない、けれども、充実した日々”だった。
ところが今はどうだろう。会議配布資料のコピー方法に迷うことはない。機材の開梱も同様だ。
『こんな単純作業をリナ様にいつまで続けさせるつもりだ!! 仕事はちょっと難しいくらいが楽しいんだぞっ!!!』と、朝ドラヒロイン喜美子のようなことを考えるRINAであった。

そんなRINAの想いが伝わったのか、はたまた、あさこの勘が冴えわたったのかは分からないが、

あさこ「RINA。どんな大作家にも校正者はつく。それはなぜか? **『たとえ、良いと分かっていてもそれを公式な手順で証明すること』**が品質保証として、とても重要なことだから。でも、それをいま言葉で説明して、頭で理解したつもりになっても何の意味もないと私は思う。それよりそろそろ、テストやってみるか?」

と、仕事らしい仕事を振ってきた。

RINA「ひっ」

変な声が出た。

あさこ「『ひっ』ってなによ。『ひっ』って」

RINA「ひょ」

あさこ「『ひょ』???」

RINA「突然でビックリですよ」🙄

あさこ「突然じゃないわよ。ずっと考えてた」

RINA「ずっと? ウソでしょう!? だってコピーと開梱しか頼まれたことがない」

あさこ「簡単な仕事だと思ってるでしょ」

ドキッ❣️

RINA「コピーと開梱なんて、誰でもできますって」

あさこ「いやいや案外深いのよ」

RINA「深いって、ひょっとして、『新人に宴会の幹事をさせてプロマネ力を観察する』ってタイプの何かですか?」

あさこ「そんなんじゃないけど、RINAは、コピー機の用紙残量を確認してからプリントし、資料のまとまりが分かるように色紙を挟むようになった。開梱の前にゴミ袋を用意するようになった」

RINA「そういえば、初めのころは段取りが悪かったですねー」

あさこ「そう。段取りを考えるようになったから、テストを任せられるようになったと思ったの」

RINAは、内心、あさこの話は半信半疑だなと思ったけれど、それでも何か認めてもらえたのかなとうれしかった。
それに尊敬するYUMO先輩はいつも「段取りわりぃよー」ってぶつくさ文句言ってる。裏を返せば≪段取り大事≫ということだろう。

いつにもまして、まぶしい朝になった。

#■シーン2. (修羅場の夜)20:00

あだち部長「テスト、終わらないんで、今日、泊まれる人は頑張れるだけ頑張って、力尽きたら隣のホテルに泊まってくださーい」

言葉は柔らかいが、表情は厳しい。クラウディック社はホワイト企業と言ってよい会社であるが、年に一度くらいは、こんな日もある。あだち部長は、こんな指示を出さなければならなくなった自分を責めているのだ。
もっとも、あだち部長自身、今週は一度も家には帰っていない。目の下の隈は濃くなる一方である。

あさこ「RINAは帰っていいわ。あとはやっとく」

RINA「いえいえ。体力には自信がありますから。一緒に頑張りましょう」

23:45になった。

あだち部長「そろそろ、チェックインできなくなっちゃうんで、終わりにしてホテルに移動しましょう」

あさこ「RINA。行こうか」

RINA「先輩。ちょっと相談が……」

あさこ「じゃあ、チェックインしてひと風呂浴びたらLINE頂戴。私の部屋で話そう」

RINA「はい。私これからPCをシャットダウンしますので、後ほどLINEします」

あさこ「じゃ。先に行くね」

オフィスの隣にあるドーミーインは温泉付きホテルである。
チェックインしたRINAは、最上階にある露天風呂に向かったが、湯舟に、あさこの姿はない。♨️
『地下二階にある中浴場に入っているのかな』とRINAは思った。

お風呂をあがり、部屋に戻ってLINEしてみると、偶然、隣の部屋に泊まっていることが分かった。

ピンポーン♪

RINA「せんぱーい。リナやってきました」

あさこ「よーきた。遠慮せずに入るがいい」

隣の部屋ということで、パジャマのままお邪魔した。
あさこもパジャマだったのでプチ・パジャマパーティーである。
RINAのパジャマはもちろん新品であったが、3回ほど洗濯してよれた感じを出してくることを忘れなかった。

窓際の小さな机にはノートパソコンがあり、テスト中のウェブサービスが開いていた。
どうやら温泉をパスして仕事の続きをしていたようだ。

RINA「お仕事していらしたんですね?」

あさこ、ノートパソコンをパタンと閉じると備え付けの冷蔵庫からビールを取り出す。

あさこ「おっしまーい。さっ呑もっ。みろよ。オホーツクビールだぜ。気が利いてやがる。つまみもあるぞ」

いつ仕入れたのか、あさこのトートバックから、海千の【乾熟明太(旨口)】が出てきた。乾熟明太は、辛子明太子を乾燥&熟成して作られている進化系の明太子である。まるでカラスミのようにねっとりとした食感で塩味は薄めだけれど、カツオだしがきいているので超美味なアテとなる。

RINA「飲む前に、ちょっとお話ししていいですか?」

あさこ「泡が消えちゃうから、ちょっとだけだぞ」

RINA「はい。手短に」

#■シーン3. (深夜の1 on 1)1:01

RINA「あの。今日、上がってきた、“URLをQRコードに変換してそれをポップアップする機能”ありますよね」

あさこ「ああ。パソコンでサービスを利用しているユーザーが、外出時などにスマホに作業を引き継ぐためのQRコード表示機能な」

RINA「『テストしなくていい』って言われたんです」

あさこ「誰に?」

RINA「開発者の咳さんに」

あさこ「理由は聞いたのか?」

RINA「『単純な機能だし、俺の方で十分にテストしといたから』とのことでした。だからテストしていないんですけど、ちょっと心配になっちゃって」

あさこ「そうだな。明日考えよう! そんなことより、オホーツクビールだ」

RINA「泡、残ってますよね」🍻

冷蔵庫にオホーツクビールは2本あったが、RINAの部屋の分も含め全て二人の喉に消えていった。“オホーツクに消ゆ”である。違う。

#■シーン4. (翌朝のクラウディック)9:30

あだち部長「今日は納品日です。思い残すことはありませんね?」

結局、ほとんどの人はホテルからの出勤となった。あさことRINAは夜更かしが過ぎたのか赤い目をしている。

あだち部長「では、サービスを起動します」

納品日と言っても、クラウディックは、クラウドサービスの提供会社なので特にお客様への「納品の儀」があるわけではない。10時になったらサービスを起動し、開発から運用フェーズに移るだけである。

それでもRINAは、アクセスログのタイムスタンプが更新されたり、ログイン状況のモニタリング画面が変わる様子を見てドキドキしていた。なんといっても自分が関わった初めてのサービスであるから、一人で学校に通うようになった娘の背中を目で追うようなものである。

30分くらいしたころだろうか、モニタリング画面にChatウィンドウが開いた。これは、お客様と直接やりとりするための画面である。

お客様:質問があります。
担当:ご利用ありがとうございます。ご質問は何でしょうか?
お客様:QRコードは、生成されるのですが、スマホで読み取ると変なURLになるんです。
担当:変なとは?どのようになるのですか?
お客様:URLの後半が文字化けしたみたいになってしまって、アクセスしても「404 Not Found」となってしまいます。
担当:スマホの画面を送ってもらうことは可能ですか?
お客様:はい。

#■シーン5. (問題はなに?)14:30

トラブルの原因は単純なものだった。
URLの最後に使用中のウィンドウ名を連結するときに、ウィンドウ名が日本語の場合はエンコード処理が必要なのだが、それを入れ忘れていたのであった。
エンコード処理とは、例えば「検索」なら「%E6%A4%9C%E7%B4%A2」に変換することである。
別のシステムで作成したエンコード用のライブラリがあったので、プログラマーの咳は10分で直した。

あさこ「どうした。RINA」

RINA「私がテストしなかったからだ」

あさこ「そういえば、ホテルで、相談受けてたね」

RINA「相談なんて、要らなかった。当たり前にすべきことをしなかったからだ」

あさこ「それが、問題なのかな。ちょっと一緒に考えてみようか」

RINA「はい」

あさこ「まず、今回、いつもと違っていた点は?」

RINA「いつもと違ったところ? 上手くできたときとの違い??」

あさこ「ううん、理想と違ったところじゃなくて、普段と違っていたところをできれば5W1H(When, Where, Who, What, Why, How)で比較分析するといいけど、取り敢えず1番違っていたのは何だろう?」

RINA「リリース直前で忙しかった」

あさこ「そうだね。仕事の流れは?」

RINA「咳さんが作って、私がテストしなくて、お客様に迷惑をかけた」

あさこ「そう。『バグが生まれ』、『バグが見逃された』」

RINA「ごめんなさい」😢

あさこ「RINA。申し訳ない、って気持ちを表すのはすごくわかる。でも。それだけで終わってほしくないんだ。大切なことは何が問題だったのかをつかむこと

RINA「私が問題。テストさえしておけば」

あさこ「もしも時間があったら、RINAは“日本語のウィンドウ名を持つ画面で操作中”という事前条件を作ってからQRコードを表示する機能をテストしてたと思う?」

RINA「したかどうか分からない。たぶんしなかったと思う」

あさこ「どうしてそう思うの?」

RINA「だって、そんなこと、気が付かない。トラブル発生時も原因がウィンドウ名にあるなんて思わなかったし」

あさこ「どうだったら気が付いたかな?」

RINA「もう大丈夫。次からは上手くやる」

あさこ「そうだね。次は大丈夫だね。でも後輩が来たらどう教える?」

RINA「Wikiのノウハウ集のページに書いておく」

あさこ「それもいいね。でも、RINAは今のノウハウ集、完璧に覚えてる?」

RINA「まっさかー」

あさこ「だよね。じゃあ、今回、RINAがテストするときにどうなっていたら見つけられたと思う?」

RINA「仕様書に書いてあったらテストしたと思う」

あさこ「仕様書みてみようか」

プログラマーの咳に仕様書を送ってもらい、該当箇所を開いてみたが、日本語を含むURLについての記述はなかった」

RINA「仕様書が悪かったのですね」

あさこ「そうかな。どうして仕様書には書いていないんだろう」

RINA「そんなの咳さんに聞かないとわかんないよ」

あさこ「じゃあ、リリース直後はバタバタしているから落ち着いてから一緒に咳さんに聞いてみよう」

#■シーン6. (原因はなに?)17:00

あさこ「咳くん、忙しいのにごめん」

咳「いいって、いいって。ひと段落すぎて暇してたところ」

RINA「よろしくお願いいたします」

咳「よろしくね。今日は『QRコード表示機能』のバグの件でとっちめられるのかな。お手柔らかにお願いします」

RINA「いえいえ、とっちめるだなんて、そんなことはありません。咳さんのお話をお伺いしたくて来ました。ところで、こちら如何ですか?」

RINAは風雅の海苔煎餅を差し出した。有明海の海苔を使った美味しいお煎餅である。🍘

咳「ありがとう。でも海苔煎餅は、口の中の水分持ってかれるから苦手なんだ」

咳は、そういうと、煎餅を、小袋を開く前に割ってから、小さなカケラを口に運んだ。そのあと、コーラを口にした。

そんなに水分持っていかれるのだろうか? RINAは不思議に思った。🤔

あさこ「早速だけど、送ってもらった仕様書に、日本語URLの仕様が書いていなかったのはどうして? バグ原因を秒で特定し、10分で直した咳くんなら知識は持ってたよね」

咳「うん。直すときに使ったライブラリって、実は以前、僕が作ったものなんだ」

RINA「えー、そうだったのー???」

咳「さすがの僕でも他人が作ったライブラリを使ってたら10分で直すのは無理ですよ」

RINA「えー、だったら、どげんしたと?」

咳「うっかりした」

RINA「しょんなかねぇ」

咳「バリすまん」🙏

あさこ「あのー。咳くんほどのプログラマーが、どうしてうっかりしちゃったのかなぁ? 思い出してみて」

咳「うーん。忙しかったし、みんな忙しそうだったからレビューを頼めなかったし。YUMO先輩にレビューしてもらってたらきっと指摘されていたと思う」

あさこ「そうだよね。みんな忙しくしてて頼める雰囲気じゃなかったよね」

#■シーン7. (洋食屋トマト畑)19:00

その晩のこと、RINAとあさこは、気分なおしにガッツリしたものを食べようと、町の洋食屋にやってきた。RINAは牛カルビステーキ🥩、あさこは海老フライセット🍤を頼んだ。

RINA「忙しいことが原因だったなんて」

あさこ「RINAも忙しかったもんね」

RINA「はい。リナも忙しかったです。忙しかったからバグを見逃しました。え、えっ、それでいいの???」

あさこ「私は、せっかくRINAがホテルで相談してくれたのに呑んで寝たら忘れてしまった。しかたない。え、えっ、それでいいの???」

RINA・あさこ「それでいいんですか?」

あさこ「いいともいえるし、良くないともいえる」

RINA「今からステーキを焼くので今日は時間があります。教えてください」

あさこ「そうね。今日はビールもないし」

RINA「そうそう。いやいや、ビール🍺は頼みましょう」😋

あさこ「まず、良い理由は、“うっかり”やそれを引き起こした状況が自分が制御できる範囲を超えていたら諦めるしかないということ」

RINA「簡単に言うとなんでしょう?」

あさこ「どんなに頑張っても“うっかり”はゼロにならない」

RINA「確かに。それでは、良くない方は?」

あさこ「ゼロにはできないけれど、小さくはできるということ」

RINA「具体的に言うと??」

あさこ「咳くんはもうこの問題はたぶん起こさない。ゼロではないけど問題が発生する可能性は低くなっている」

RINA「そうですね。私も次回から見逃しませんよー」

あさこ「さらに、昨日、あだち部長に事の顛末を報告しておいた。『どんなに忙しくても必要なレビューやテストをしていなければ、納期を延ばすか、そこに問題がある可能性が高いことをお客様に伝える』って言ってくれた。今よりマネジメントの問題も小さくなる」

RINA「ふむふむ」

RINAは、先輩あさこの行動力と人間力に感動していた。『いつになったら私も、あさこ先輩のような一人前の社会人になれるのだろう』と。

あさこ「お客様にも、仕様の追加や変更が引き起こすリスクについて理解してもらうように説明していく」

RINA「お客様にも!」

あさこ「そう。これまでRINAとしてきたことをまとめるとこんな感じ」

ステップ やること
1. いつもと比べる 問題発生時といつもとを比較する(できれば5W1Hで)
2. 過去に遡る 時系列に何があったか整理する
3. 全員が対策 どこかの組織に問題を押し付けず、関係する全員が少しずつ問題が発生しないように対策する

RINA「おお! 問題解決しそう」

あさこ「3つめの、全員が少しずつ努力して問題の原因となる穴を小さくするについては『スイスチーズモデル』という名前が付いているから、あとでググるといい」🧀

RINA「『スイスチーズモデル』!!! おいしそうなモデルです。リナは乾熟明太子モデルを作りたいです!」

おしまい。

長文、お読みくださってありがとうございます。

6
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?