こんにちは、時短ギア管理人の清光です。

コードは書けない現役の営業ですが、AIと一緒に、現場が毎日使う業務システムを1年以上つくり続けてきました。

自分で作ったツールが、手元では正常なのに本番だけおかしい。そんな経験はありませんか?

かといって本番で試すわけにはいきません。お客様のデータが入っている場所を、確認のために触るのは怖すぎます。

この記事では、本番データを使いながら本番には1文字も書き込まない、安全なテスト方法を紹介します。

私が実際にやった手順で、コードが読めなくてもAIへの指示だけで組めます。

ノートPCを操作して本番データのテスト方法を試している手元
本番のデータを読み取るだけなら、向こう側は1バイトも変わらない

本番データでしか出てこない崩れ方がある

自作ツールに、月ごとの推移グラフを足したときの話です。

手元では問題なく描けていたのに、本番のデータを流し込んだ瞬間、中身が必ず0になる棒が2本並びました。

原因は、棒を並べる月を全案件の予定日から作っていたことでした。

まだ予定が決まっていない案件の日付だけで月が生まれるので、その月は構造上ずっと0にしかなりません。

厄介なのは、テストが通っていたことです。0という値そのものは正しいので、機械は何も文句を言いません。

このテストは通るのに本番で壊れるという型は前にも書きましたが、見た目の崩れはとくにそうです。

実データを入れて自分の目で見るまで、その画面は完成していないんですよね。

本番で怖いのは「読む」ではなく「書く」

では、どうやって本番のデータで確かめるのか。ここで私はしばらく止まっていました。

整理してハッとしたのは、本番で怖いのは読むことではなく書くことだ、という当たり前の事実です。

データを読み取るだけなら、本番は1バイトも変わりません。壊れるのは保存・更新・削除が走ったときだけです。

つまり書く側だけを完全に止めてしまえば、本番のデータを使ったまま安全に試せます。

本番データでテストする4ステップ

実際にやった手順です。自分でコードを書く必要はなく、AIに頼む内容がそのまま手順になります。

  1. 本番から必要な分だけ1回読み取って、1つのファイルに保存する
  2. アプリがデータを取りに行く場所を差し替えて、そのファイルを返させる
  3. 保存や更新の通信は外に出さず、送ろうとした中身をファイルに書き出させる
  4. 本番へ書き込む処理が1つも残っていないか、最後に一覧で確認させる

私がAIに投げた指示は、ほぼこれだけです。

本番のデータで画面の見た目を確かめたい
1 本番から読み取ったデータを1つのファイルに保存して
2 アプリがデータを取りに行く所だけ、そのファイルを返すよう差し替えて
3 保存や更新の通信は外に出さず、送ろうとした中身をファイルに書き出して
4 本番へ書き込む処理が1つも残っていないか、最後に一覧で見せて

大事なのは4番です。「書き込みを止めて」だけだと、必ずどこかに止め忘れが残ります。

残っていないことを一覧で出させるところまで頼むと、自分の目で1行ずつ確認できます。

2台のモニタを見比べながら書き込みを止めた画面を確認する様子

一番効いたのは「送ろうとした中身」が見えたこと

おまけのつもりで入れた3番が、結果的に一番効きました。

画面を操作すると、本番には届かないまま「この内容を送ろうとしました」という記録だけが手元に溜まっていきます。

見た目を確認するつもりが、送信の中身まで検証できてしまったわけです。

古い値がそのまま送られていないか、触っていない項目まで一緒に送っていないか。

保存まわりの事故は気づくのが遅れがちですが、ここで先回りして見つけられます。

最初にハマったのが、持ち出したファイルの後始末

この方法には落とし穴があります。手元に置いた本番データのファイルを、消し忘れることです。

特にアプリの公開フォルダの中に置くと最悪で、ログインしていない人でもその1本を直接取りに来られる状態になります。

私は「確認が終わったその場で消す」を手順の最後に固定しました。

あわせて、ファイル名の頭に作った日付を入れています。こうすると古いものが並んだときに消し忘れが目に付きます。

よくある疑問

Q. コードが読めなくてもできますか?

できます。私自身、いまもコードの良し悪しは分かりません。

上の4ステップを日本語のまま渡して、出てきた画面を自分で触って確かめるだけです。

Q. 本番のデータをPCに置くのは危なくないですか?

正直、そこが一番のリスクです。だから持ち出す範囲は確認に要る分だけに絞ります。

個人情報が並ぶ画面なら、名前や連絡先を伏せた形で書き出させてから使うほうが安全です。

Q. テスト用のデータを自分で作ればいいのでは?

それだと、今回のような崩れ方は一生見つかりません。

自分で作るデータは、自分が想像できた形にしかならないからです。

私のグラフが壊れた原因も「予定日が入っていない案件」で、手で作るテストデータには絶対に入れなかったものでした。

まとめ

  • 本番でしか出ない崩れ方がある。実データを入れて目で見るまで、その画面は終わっていない
  • 本番で危ないのは読むことではなく書くこと。書き込みだけ止めれば本番データで試せる
  • 手順は4つ。読み取って保存/取得先を差し替え/送信を横取りして記録/書き込みの残りを一覧で確認
  • 持ち出したファイルは、確認が終わったその場で消す

私の場合、本番を触る不安で先延ばしにしていた確認が、30分ほどで片付くようになりました。

「本番でしか再現しない」を理由に放置している不具合が1つでもあるなら、今日はデータだけ持ち出して、書き込みを止めた状態で開いてみてください。

今日はここまで。

この記事が、あなたの時間を少しでも価値に変えるお手伝いになれば嬉しいです。

それでは、また次の時短ハックでお会いしましょう。

自作している業務システムのことや、お仕事のご依頼はお問い合わせからどうぞ。