転職のテンサゲから始まった自動化入門④~15分の復習~
※ これまでの自動化入門シリーズはこちら 🙆♀️
転職のテンサゲから始まった自動化入門 ~自動化できないQAの民から脱却~
https://note.com/miyu1928/n/n735526e3df96?sub_rt=share_sb
転職のテンサゲから始まった自動化入門② ~結局、全部“期待値”の話だった~
https://note.com/miyu1928/n/ne619b4b45401?sub_rt=share_sb
転職のテンサゲから始まった自動化入門③~自動化テストで見えてきた「人間が無意識にやっている確認」~
https://note.com/miyu1928/n/n71654b61e655?sub_rt=share_sb
今日は回復の日にした。
転職のことや、色々なことを考えすぎて、脳みそが疲れていたからだ。
でも、完全に何もしないと、それはそれで不安になる。
なので今日は、自動化の復習を15分だけやった。
すると、思ったよりちゃんと説明できた。
もちろん教科書通りではない。
でも、
wait
isolation
assert / verify
あたりを、「なんで必要なのか」という観点で、自分の言葉で説明できた。
assert / verifyだけ少し調べ直したが、
「あー、そうだった」
と繋がる感覚があった。
waitは「期待値確認のための待ち」だった
waitに関しては、「何のために必要なのか」を自分の言葉で説明できるようになっていた。
自動化はCPU速度で動く。
つまり、人間より圧倒的に速い。
そのため、
click
↓
画面/API反映前
↓
assert実行
となってしまい、期待値を正しく確認できないことがある。
だからwaitは、
「次の期待値を確認できる状態になるまで待つ」
ための仕組みだった。
assert / verify もQAっぽかった
assert / verifyも、ただの構文ではなく、
「どこで止めるべきか」
の考え方に近かった。
例えば、
データ登録失敗
→後続確認しても意味がない
→止める
一方で、
UI崩れ
→他も確認したい
→続行する
など、品質リスクと結びついている。
つまり、データの連続性が必要かどうかを切り分けないと、期待値の確認ができるとは言えないのだ。
isolationも「前提条件を揃える」話だった
isolationもかなりQAっぽかった。
テストを正しく確認するためには、
前回データを引きずらない
ログイン状態を残さない
前提条件を揃える
必要がある。
そのため、
データ削除
初期化
毎回新規作成
などで独立性を保つ。
「テスト同士を依存させない」
という考え方を isolation という。
QA観と繋がると覚えられる
今回改めて思ったのは、
QA観と結びつくと覚えやすい
ということだった。
waitも、assertも、isolationも、
結局は、
「期待値を正しく確認するため」
に存在している。
自動化は、
「操作を自動でやること」
ではなく、
「期待値を継続的に確認する仕組み」
なのだと理解し始めた。
明日は環境構築ちゃんとしよう。
