バグを発生させてしまった反省
今日は自分の実装した機能が原因の不具合がたくさん発覚しました。
具体的な内容
具体的には以下のような内容です。
・変更→ 検索で1件のみ絞り込んで表示していたのを条件一致するもの全件表示する
バグ→ 半角のものがヒットしなくなってしまった
・変更→ 未来日付のものは一括作成しない
バグ→ 日付なしのものが一括作成されなくなってしまった
・変更→ 自動延長処理をかける条件の変更
バグ→ 延長処理かかるはずのものがかからない
・変更→ 検索条件の保持
バグ→ 連続確認機能に不具合がでた
月末に使うアプリケーションなので、月末にバグがボロボロ発覚しました。
POさんや、アプリを使う経理担当の方に大変な迷惑をかけてしまいました。
経理担当の方にとって凄く忙しい月末だというのに作業効率が落ちるようなバグであったため、本当に申し訳ない気持ちでした。
ひとまず元の状態に戻すことで対応しました。これから根本解決をして上記の機能をもう一度実装していくところです。
どう対策するか
毎回マスター反映する前にPOさんにステージング環境を動かしていただき、問題ないか確認が済んでから反映をしていたのですが、それだけではダメだと思い知りました。
対策としては、以下のようなことを考えました。
デグレーション対策
・自分が触る機能周りだけでなく、アプリの全体像、API連携しているアプリの概要、お客さんの経理処理の流れやルール、お客さんが提供しているサービスの詳細や料金体系について理解する。
・テストを充実させ確実に信用できるものにすることで、その変更によって予想外の影響が現れていないかしっかり確認する。
・境界値のテストもしっかりかく。
把握しきれていない要望対策
・POさんだけでなく経理担当の方にもステージング環境を叩いて確かめてもらう。
・週次ミーティング以外にスラック上でまめに小さい単位で新しい機能の確認を行う。
バグの発覚が月末にまとまってしまう対策
・月末のマスター反映を避ける。
感想その他
テストしっかり書くのはもちろんですが、想定漏れが怖いので、まめに経理担当の方にステージング環境を動かして確認してもらうようにしようと思います。
こまめにスラックでの連絡&機能の確認をしてもらうようにしつつ、アプリの全体像、API連携しているアプリの概要、お客さんの経理処理の流れやルール、お客さんが提供しているサービスの詳細や料金体系についての理解も進めていこうと思います。