試すところまでが仕事
終わりが見えた、と思ったのは、たしかだった。
もちろん案件全体ではない。
高橋部長と村瀬が朝から詰めていた追加要件の話も、完全に片付いたわけではなかった。先方がそのまま引き下がるとも思えないし、後続に回す案だって、すんなり通る保証はない。
それでも、自分の担当しているこの画面機能にだけは、うっすらと出口の形が見え始めていた。
詳細設計。
コーディング。
そして次は、単体試験。
そこまで行けば、一旦この担当は区切りになる。
その言葉が頭のどこかに残っていたせいか、その日の水瀬は、昨日より少しだけ前向きに席へ向かえた。
午前中、藤堂はまず試験観点の考え方から話した。
「単体試験って、動くのを確認するだけじゃないからね」
そう言って、藤堂は自分の画面に試験項目の一覧を開いた。
表の中には、画面名、確認内容、入力条件、期待結果、備考。そういう言葉がきれいに並んでいる。
「正常系だけ見て終わり、にはしない」
「はい」
「入力が足りないとき、条件に合わないとき、想定外の値が入ったとき、戻る押したとき、二重押ししたとき。そういうのも見ていく」
水瀬は頷きながらも、表を見て少しだけ息を詰めた。
思っていたより、項目が多い。
もっと単純なものだと思っていた。画面が開く。値を入れる。ボタンを押す。結果が出る。それを何パターンか確認すれば終わるような、そんなものを想像していた。
だが、藤堂が示している表は、そういう甘い考えを静かに否定していた。
「まず正常系を書くのは分かりやすいんだけど」
藤堂は表の上から順に指しながら続ける。
「実際は、異常系の方が抜けやすいんだよね。しかも、使う側が困るのって、だいたいこっちだから」
その言葉に、水瀬は昨日までのエラーハンドリングの話を思い出した。
動いたら終わりではない。
どう止まるかも設計のうちだ。
それを、今度は“試す側”から見るのだと、ようやく分かってきた。
「じゃあ、まずはこの画面で考えてみようか」
藤堂が自分たちの担当画面を開く。
「正常に入力して、確認画面に進める。これは一個目」
「はい」
「じゃあ、次。必須が抜けてたら?」
「エラーです」
「うん。どこに、どの文言で出る?」
「……あ」
水瀬は少しだけ黙った。
頭の中では“エラーになる”で済ませていた。
けれど試験項目にするなら、それでは足りない。
どこに出るのか。
何と出るのか。
入力済みの値は保持されるのか。
フォーカスはどうなるのか。
他の項目の状態はどうなるのか。
考えなければいけないことが、急に増える。
「単体試験って、こういうのを一個ずつ言葉にしていく感じ」
藤堂は水瀬の反応を見ながら言った。
「動いたかどうかだけじゃなくて、“期待した通りに動いたか”を確認できる形にしておきたいから」
「期待した通りに……」
「うん。あとで見返したときに、自分でも他の人でも、同じ確認ができるようにね」
水瀬は表へ目を戻した。
正常系。
異常系。
境界値。
未入力。
桁数超過。
存在しないコード。
条件外の日時。
戻る操作。
二重送信。
思いつくたびに項目が増えていく。
しかも、増えるごとに「あれもいる」「これも見ないと危ない」が出てくる。
「……異常系、多くないですか」
思わずそう呟くと、藤堂が少しだけ笑った。
「多いよ」
「正常に動くの確認したら、だいたい終わりだと思ってました」
「みんな最初はそう思うかも」
そして、少しだけやわらかい声で続けた。
「でも、実際に問い合わせが来たり、不具合になったりするのって、正常系じゃないところの方が多いから」
その言葉は妙に重かった。
水瀬の中で、仕事の終わりの形がまた少し変わる。
設計して、作って、動いた。
それで終わりではない。
その先に、“試して確認する”がある。
しかもそれは、単なるおまけではなく、かなり大事な最後の工程なのだ。
午前中いっぱいかけて、水瀬は藤堂と一緒に観点を洗い出した。
どこを正常系として見るか。
何を異常系として拾うか。
同じエラーでも、原因によって期待結果を分けるべきか。
そのたびに藤堂は、すぐ答えを言うのではなく、水瀬に問い返した。
「これ、ユーザーの操作で起きる異常?」
「それとも、データ条件の異常?」
「同じ見え方でいいと思う?」
「ログには何残したい?」
問われるたびに、水瀬は考える。
昨日までの自分なら、動くかどうかにしか意識が向いていなかった。
けれど今は、止まるときの形や、確認すべき視点が少しずつ見えるようになってきている。
それでも、やはり大変だった。
昼を過ぎても、試験項目はなかなか出揃わない。
正常系を書いて終わった気になったところへ、藤堂が「じゃあこの条件抜けたら?」と聞いてくる。
入力値の境界を見たところで、「戻る押したときは?」が入る。
確認画面までの流れを書いたところで、「エラーから戻したあとの再入力は?」が出てくる。
一つ決めるたびに、また次の穴が見つかる。
水瀬は試験項目の表を見ながら、思わず小さく息を吐いた。
「……終わる気がしないです」
すると藤堂が、少しだけ肩を揺らして笑った。
「そういう顔になるよね」
「いや、ほんとに……思ってたより全然多くて」
「うん。でも、今それに気づけてるなら大丈夫」
「大丈夫、ですか」
「うん。試験って、最初は“増える作業”に見えるんだけど、実際は不安を減らす作業だから」
その言葉に、水瀬は少しだけ黙った。
不安を減らす作業。
そう言われると、たしかにそうだった。
見ないままリリースに近づく方が、ずっと怖い。
今ここで面倒でも、先に見ておく方が、あとで止まりにくい。
翌日になり、実際に試験を回し始めた。
正常系。
入力して、進んで、確認画面が出る。
戻っても値は保持される。
想定していた通りだった。
そこまではよかった。
だが異常系に入った途端、やはりそう簡単にはいかない。
必須入力を抜いたとき、メッセージの出る位置がずれている。
条件外の日時を入れたとき、文言が曖昧すぎる。
戻る操作のあと、一部の値だけ保持されていない。
二重押し時の挙動も、設計書の意図と微妙に違う。
「あ……ここもだ」
気づくたびに、水瀬は立ち止まる。
コードを見直し、設計を見直し、必要があればまた追記する。
そして、もう一度試す。
動いたと思ったら、今度は別の箇所で引っかかる。
また直して、また試す。
その繰り返しは、コーディングのときとどこか似ていた。
ただ、今回は“作る”というより、“確かめる”ことで穴を見つけている感覚に近かった。
途中で黒川が飲み物を取りに立ち、ついでのように水瀬の席を覗いた。
「どう?」
水瀬は試験項目の表から目を離さないまま答える。
「思ったより全然多い」
「何が」
「異常系」
「あー……」
黒川は少しだけ笑った。
「動けば終わりじゃないやつか」
「まさにそれ」
そう返すと、黒川は紙コップを片手に頷いた。
「でも、そこまで来たならだいぶ進んだんじゃないか」
「……そう思いたい」
「思っていいだろ」
短くそう言って、黒川は自分の席へ戻っていった。
その何気ない一言が、水瀬には少しありがたかった。
たしかに、ここまで来ている。
止まりながらでも、進んでいる。
最初の頃みたいに、何が分からないかも分からないまま立ち尽くしているわけではない。
その日だけで全部は終わらなかった。
翌日も、その翌日も、水瀬は試験項目と向き合った。
昼間に見つけた異常系を潰し、夜にまた別の抜けを見つける。
正常に流れることを確認し、異常時の返り方を揃え、文言を直し、保持する値と消す値を見直す。
数日かかった。
長かった。
正直、もう少し早く終わると思っていた。
だが、試験項目が埋まっていくたびに、画面の挙動は少しずつ落ち着いていった。
最初はただ“起動できる”だけだったものが、やがて“意図した通りに動く”へ近づいていく。
そして数日後の夜、水瀬は最後の試験結果欄へ入力を終えた。
画面上の表は、ようやく一通り埋まっていた。
未実施の欄がなくなり、途中で何度も書き直した備考欄も、ひとまず静かになっている。
水瀬はしばらくその画面を見つめた。
「……終わった」
思わず声が漏れる。
隣で作業していた藤堂が顔を上げた。
「終わった?」
「はい……一応、全部」
藤堂は椅子を少し寄せて画面を確認した。
上から順に目を通し、途中で一、二箇所だけ軽く聞き返し、最後に小さく頷く。
「うん。いいと思う」
「……ほんとですか」
「ほんと。少なくとも、この担当機能は一旦ここまでで区切れるね」
その一言が、水瀬の胸の奥へ静かに落ちた。
一旦ここまでで区切れる。
たったそれだけの言葉なのに、思っていた以上に重かった。
案件全体が終わったわけではない。
追加要件の話だって、まだどこかで燻っている。
他のメンバーも、それぞれ重たいものを抱えたままだ。
それでも、自分の担当した一機能だけは、たしかにここまで来た。
詳細設計をして。
コーディングをして。
エラーハンドリングを見直して。
単体試験まで終えた。
自分が最初から最後まで見た機能が、ここに一つある。
その実感が、じわじわと湧いてくる。
「お疲れさま」
藤堂がいつもの調子でそう言った。
「ここまで持ってこられたの、ちゃんと大きいよ」
水瀬はすぐには返事ができなかった。
嬉しい、と思った。
でもそれをそのまま顔に出すのが少し照れくさかった。
「……ありがとうございます」
ようやくそう言うと、藤堂は小さく笑った。
「じゃあ、次いこうか」
その言い方に、水瀬も少しだけ笑ってしまう。
「はい」
疲れていた。
肩も重いし、目も少し痛い。
それでも、胸の中には久しぶりに、はっきりした手応えが残っていた。
終わりが見えた、ではない。
終わりまで持っていった、という感触だった。
デスマーチはまだ続いている。
夜も相変わらず深い。
時間は変わらず足りない。
それでも、自分の手で一つ終えたものがある。
その事実だけで、水瀬の中にはまた少し、前を向く力が戻っていた。




