テスト自動化とお掃除ロボット2018/7/27伊藤由貴(@yoshikiito)
View Slide
自己紹介伊藤由貴(@yoshikiito)テスト自動化エンジニア某第三者検証会社に所属。主にGUIのテスト自動化から運用までをサポートするお仕事。ひとり作業~10人超のテスト自動化チームまで。Selenium+Jenkins、UFT+QC など。2
今回のお話について持ってかえってもらいたいこと• テスト自動化の効果は工数やお金以外もある、と知る• テスト自動化について説明する際の”たとえ”を手に入れるおことわり• 資料は後程アップします• 「テスト自動化」は主にGUI操作を伴うテストを想定し、単体テストは対象外としています3
本題4
お掃除ロボットを買う理由例えば、• 掃除の手間を省きたい• 楽をしたい• 自分だけだとうまく掃除ができないなどが考えられる。ただ、根本は部屋をきれいにしたいから。5
買っただけでは・・・お掃除ロボットを買うと、部屋がきれいになる。・・・わけではない。なぜか。6そうだ、ル○バ買おう
お掃除ロボット、その前に邪魔なモノが多いと、ロボット掃除機が使えない。まずは部屋の片づけが必要。7モノが多くて進めないよー
お掃除ロボットの効果お掃除ロボットを動かすために部屋を片付ける↓お掃除ロボットを使う↓部屋がきれいになる!お掃除ロボットの購入をきっかけにきれいな部屋を保つ習慣ができる8Point
一方・・・9
テストを自動化する理由例えば、• テストの手間を省きたい• 楽をしたい• 人手だとうまくテストができないなどが考えられる。ただ、根本は品質を良くしたいから。10
テストを自動化しただけでは・・・テストを自動化すると、品質が良くなる。・・・わけではない。なぜか。11そうだ、自動化しようバグ実行環境周囲の協力工数不足顧客の圧
テスト自動化、その前に開発・テストに問題があると、自動テストが活きない。まずは開発・テストの改善が必要。12問題が多くてテストできないよーバグ実行環境周囲の協力工数不足顧客の圧
テスト自動化の効果自動テストを動かすために開発やテストのプロセスを整える↓自動テストを行う↓品質が良くなる!(※)テストの自動化をきっかけにあるべきプロセスを保つ習慣ができる13Point※次ページ
後日補足1• テストを自動化すると品質が良くなる、というわけではない。• テストを自動化することで以下のような効果があり、結果的に品質向上につながる、と考える。• いままで十分に出来ていなかった範囲までテストができる• 機能の開発や改修から不具合発見までの時間が短くなる→修正にかかる時間も短くなる14
まとめ• テスト自動化と、お掃除ロボットは似ている!• それ自体の導入効果だけでなく、導入のための人間の準備が習慣や文化を良い方向に変える!15
Appendix16
テスト自動化の効果自動テストを動かすために開発やテストのプロセスを整える↓自動テストを行う↓品質が良くなる!(※)17
テスト自動化の効果テストを自動化する↓動かない・効果がない↓自動テストを動かすために開発やテストのプロセスを整える↓自動テストを行う↓品質が良くなる!(※)18
動かない・効果がない原因例えば…• テスト用の環境や条件の問題• 他作業と共有• テスト用データが準備できない• そもそもの品質問題• 自動テストが期待通り動作しない• 実行のたびに結果が異なる• 何をどこまでテストするか決めかねる問題• 過去の不具合情報がたまっていないなどなど19
動かない・効果がない原因例えば…• テスト用の環境や条件の問題• 他作業と共有• テスト用データが準備できない• そもそもの品質問題• 自動テストが期待通り動作しない• 実行のたびに結果が異なる• 何をどこまでテストするか決めかねる問題• 過去の不具合情報がたまっていないなどなど20
テストそのものに問題あり• テスト実行の環境• テストの事前条件• 期待結果を明確にしていない/できないことが多い。これまでの人間によるテストで、空気を読んできてしまった(サボってきてしまった)ツケがまわっている。21
テスト自動化の8原則テスト自動化研究会のサイトより1. 手動テストはなくならない2. 手動でおこなって効果のないテストを自動化しても無駄である3. 自動テストは書いたことしかテストしない4. テスト自動化の効用はコスト削減だけではない5. 自動テストシステムの開発は継続的におこなうものである6. 自動化検討はプロジェクト初期から7. 自動テストで新種のバグが見つかることは稀である8. テスト結果分析という新たなタスクが生まれる22
以上、ありがとうございましたツッコミ・質問は、ぜひ個別にお声がけください☺