正しい日付を入力してるのにエラーになるときがある

20
ぱいん🍍 @pineapplecandy

"エラーになるときがある"が同じ値に対して毎回発生している(とある正しい日付にエラーになるパタンがある)のか、それとも一つの入力で時々発生するのかが気になってしまい、質問文が入ってこなかった(後者だと原因がややこしそう twitter.com/miwa719/status…

2021-09-07 21:25:34
miwa @miwa719

日付欄の入力チェック処理で「正しい日付を入力してるのにエラーになるときがある」というバグが潜んでいるとしたら 1. どのようなことが起きていると思いますか? 2. (ソースコードは見れないとして)どんなテストをしてみますか?

2021-09-07 17:21:36
Yasuyuki Suga / コミューンQAエンジニア @kawabeaver

「なるときがある」なので、Webだと ・同じ値の入力でランダムにエラーになるか確認(条件判定周りかの確認) ・ブラウザのコンソールのエラーを確認(jsの読み込みタイミングの確認) ・APIの応答時間を確認(timeoutの確認) ・エラーが発生するサーバーの特定(複数サーバーの場合、環境差異の確認) twitter.com/miwa719/status…

2021-09-07 22:19:00
丁稚(443番煎じ) @masaodx007

まず、どういう時にエラーが発生するか切り分けてぼんやり予想がつくまで特定します。1/3程度再現すれば良 同条件のデータを複数回送信。 →再現する。→条件を減らしながら繰り返して特定。 →再現しない。→思い当たるパラメータから調整、再度調査 あと、時間系は外部環境にも左右されていそう twitter.com/miwa719/status…

2021-09-07 22:51:41
丁稚(443番煎じ) @masaodx007

もし、予測も難しいバグに遭遇したら、バグのおおよその性格が見えるまで絞込み作業を先にやっています。 自分の場合はそんな感じです。

2021-09-07 22:53:56
yoshitake @yoshitake_1201

「ときがある」ってことは成功するときもある、って感じかなぁ。以下が気になりました! ・存在しない日付をうっかり入力してないか(2021/2/31とか ・無意識にダブルクリックしてないか(重複登録が許可されてない的なイメージ twitter.com/miwa719/status…

2021-09-07 23:25:06
yoshitake @yoshitake_1201

・日付を入力したあとなんか変なことしてないか確認する(他のエラーになるような操作をしてないかとか ・画面を開く前の動作を確認する(直リンクで開く と起きないか/ ブラウザバックしてないかとか

2021-09-07 23:25:54
yoshitake @yoshitake_1201

・サーバーが重たくて受け付けてくれてないとか?(スペックが低いとか、別の人がサーバーに負荷かけてないかとか ・入力許可されるフォーマットが変わってた  (前はyyyy/mm/dd だったけど、yyy-mm-dd に仕様変更されたけど、変更し忘れてた とか。

2021-09-07 23:26:19
右近忠重 @ukontadasige1

1. 現象による 2. 再現できないことには予想できないので、再現するパターンを探す。いくつか必ず再現する日付があれば、共通項から再現するパターンを予想して、その予想が正しそうかさらに何パターンか試してみる。 twitter.com/miwa719/status…

2021-09-07 23:32:25
macoril ❤️🐴 @__macoril__

「正しい〜」が利用者の報告と仮定すると正しいか疑わしい 1 -元号関連 -閏年や閏日関連 -タイムゾーン関連 -4/31のような不正な日付 -特殊な操作 など。複数の利用者から報告がない場合広範に起きやすい問題ではない可能性が高そうで特定の状況や閾値の影響と仮定する 例えばformatに問題がある場合→ twitter.com/miwa719/status…

2021-09-08 00:18:42
macoril ❤️🐴 @__macoril__

だとより広く問題が発生しているだろうと思う 2 まず -閾値に絡まない無難な日付で確認←失敗した場合直近のリリースで広範なバグが紛れたかも ↑の後 -元号跨ぎ -閏跨ぎ -別のタイムゾーンやlocaleからの利用 -不正な日付 -リロード -ブラウザバック -複数タブ操作 ↑これ以上の調査はコード見たいな

2021-09-08 00:18:43
tonono @tonono2587

1-1. バリデーションがうまくいってない 1-2. 入力の「確定」が失敗してる 1-3. 送った先のサーバー(かなにか?)が混んでる 2-1. いろんな形式の入力を試す →全角/半角、YYYY/MM/DD、YY-M-D、D/MM/YYYY… 2-2. 入力方法を変える →キーボード?テンキー?手書き? 確定するとき末尾欠けないかとか twitter.com/miwa719/status…

2021-09-08 00:21:37
tonono @tonono2587

(続) 表計算ソフトみたいに自動でなんかする処理かかってないかとか 2-3. 入力確定を連続でやって、エラーの間隔をはかる

2021-09-08 00:25:22
あべみ @cats0830v

最近スプレッドシート+GASの処理で踏んだのは、日付に全角混ざってた(実行ログをみた) twitter.com/miwa719/status…

2021-09-08 08:06:19
リナ? @____rina____

その日付が何の機能の日付かで機能制限を確認するかな🙄また、入力している日付は正(例えば今日)なら、入れた日の特別(日曜日だけどなんかあるっけ?)を確認する 入れたのが自分なら変なの入れてないか確認する(わいが一番疑わしい) twitter.com/miwa719/status…

2021-09-12 08:21:56
リナ? @____rina____

もうちょっとメモ とりあえず画面ベースのシステムとします。 エラーていうのがバリデーションなのか、何か処理しようとしたときっぽいかでわけます。

2021-09-12 08:30:51
リナ? @____rina____

1.バリデーションぽい 1-1 UIはデートピッカーなどの提供されたライブラリーを使っている デートピッカーなら存在しない日付はないて前提になるので、イレギュラーな日付はとくに怪しまない そのフォーマットとバリデーションのための日付のフォーマットが違うてことも経験上考えにくいので放置

2021-09-12 08:38:43
リナ? @____rina____

これが登録ならありうるのと、和暦のデートピッカーなら疑うけど、コード見れないなら、仕様の疑いに入るかな (隣にエンジニアがいれば、「これ和暦です…よ…ね?!」と話しかけると、 大抵ハッとしてくれる)

2021-09-12 08:43:33
リナ? @____rina____

1-2.UIは直接入力 補完がなければ完全に自分を疑うので、期待されている日付のフォーマットをいれる 区切り文字が-か/かゼロパディングありなしか…(さすがになんの補完もないとか…ある?!ちょっと考えるのめんどくさくなったので雑にこんな感じ)

2021-09-12 08:48:28
リナ? @____rina____

ちゃんと?今の仕事(モバイル向けサービス)だったらを考え直しました。こんな感じです。 twitter.com/miwa719/status… pic.twitter.com/76LtWcbChh

2021-09-12 11:29:17
拡大
NiSi @nisi_kerokero

「開始日を入れると1ヶ月後の終了日が内部的に自動入力」とかで、翌月同日が無いとかも、しっかり仕様を定義してないプログラムだと稀によくある。 twitter.com/miwa719/status…

2021-09-15 22:07:00

フフッ…気づいた者がいるな

Matsu(まつ)@Testerchan @mty_mno

みわさんのお題、みんなが日付系でどんなバグに遭遇してきたのかの経験が見れる気がする

2021-09-08 07:46:40
じっちゃん @DJ_5296

Twitterに不具合をツイートすれば無限に考察が返ってくるんだ!

2021-09-07 21:39:17

あわせて読みたい

miwa @miwa719

正しい日付を入力してるのにエラーになるときがある - CAT GETTING OUT OF A BAG miwa719.hatenablog.com/entry/daily202…

2021-09-12 19:54:55