~アジャイルテスト自動化立ち上げ迷走記~2019/10/29@D-Cubeソフトウェアテスト・QA勉強会ぱいん
View Slide
自己紹介• ぱいん• テスト会社• テストエンジニア/QAエンジニア• ドメイン• 組込機器• Webアプリ開発(通信、行政)• テスト自動化ツール開発• 現在のメインのお仕事:• システムテスト自動化のテックリード• 社外活動• SeleniumConf Tokyo実行委員• JaSST Review(ソフトウェアレビューシンポジウム)実行委員など• 趣味• Twitter, Togetter• Bリーグ観戦(川崎ブレイブサンダース)ぱいん
背景• アジャイルプロジェクト• 受託案件• 開発メンバ:数十名規模• スプリントサイクル:2週間
当時のスペック• ぱいん• 当時のメインのお仕事:• 平テストエンジニア(上司と2名)• それまでは手動テスト実行経験のみ• 社外活動• 特になし• 趣味• Twitter
なんちゃってQAフロントローディング1. テストケース作成時の不明点から、開発側へ仕様不明点を明確化を促進• QAは業務資料をひたすら読み込んで、業務シナリオを整理• 開発メンバからの信頼を得て、QAが要件レビューを行うなど2. 開発との距離が近く改善は盛り込まれる• 自動化に必要なIDは実装時に埋めてもらう• 開発用バッチを見ながらテストデータ作成ツールを作る
アジャイルQA楽しい!
社外コミュニティとの出会い、成長1. Seleniumのコミュニティに出会う2. Stack Overflowを読み漁る日々⇒昨日、出来なかったことが今日できるようになる作ったコードが自分の代わりにテストしてくれる
テスト自動化楽しい
QAチームに課せられたミッション•PO「デグレを検知するために画面遷移のE2E自動テストを作ってほしい。Seleniumで。」•ぱいん「わかりましたっ!(キリッ」•PO「現在はモックだ」•ぱいん「わかりましたっ!(キリッ?」
ぱいんの数字①1から15
ぱいんの数字①自動化エンジニアの数1から15
テストコードのメンテ辛い①• オフショアからのQ&A対応で時間が溶ける日々
テストコードのメンテ辛い②• 画面遷移が目まぐるしく変わる• 実装優先で画面遷移図が追従しないClick
テストコードのメンテ辛い②• 画面遷移が目まぐるしく変わる• 実装優先で画面遷移図が追従しないClick注意相手が嫌がる言動はやめましょう了解 Click
テストコードの増加が止められない• テストコードメンテの間にも、新機能は増えていく• テストケース新規作成メンバは、黙々とテストコードを増やしていく
• テストコードメンテの間にも、新機能は増えていく• テストケース新規作成メンバは、黙々とテストコードを増やしていくメンテ新規時間テストコードの増加が止められないQ&A
しくじり(失敗)まとめ1. テストコードのメンテが辛い2. テストコードの増加が止められない• 終わらないQ&A対応• 画面遷移への無限追従
学びその先へ
学び• 一気に自動化をスケールさせようとしない• 上司の方針を鵜呑みにしない• テスト自動化をする目的、必要性• 開始するタイミングは開発フェーズとして合っているか• QAエンジニアがやるのが適任なのか
その先へ• 2名体制で、シナリオテストの自動化を行う• シナリオ数をゆっくり増やす:1⇒3⇒5• メンテの工数、作成工数、LOCを計測• デプロイパイプラインに組み込んでビルドブレイクを検知• 手動で約1hかかるテストが、約15mで終了• IE複数Ver, Chrome最新で実行
おまけ1)おススメの本、その他• 書籍「初めての自動テスト」• 書籍「ソフトウェアテスト293の鉄則」• 第5章 “テスト自動化” 40個• スライド「これからシステムテスト自動化を始める組織のための勉強会」• ぱいんのテスト自動化お悩み相談(随時、パインアメ1袋~)
テスト自動化の8原則 (テスト自動化研究会製)https://sites.google.com/site/testautomationresearch/test_automation_principle• 1. 手動テストはなくならない• 2. 手動でおこなって効果のないテストを自動化しても無駄である• 3. 自動テストは書いたことしかテストしない• 4. テスト自動化の効用はコスト削減だけではない• 5. 自動テストシステムの開発は継続的におこなうものである• 6. 自動化検討はプロジェクト初期から• 7. 自動テストで新種のバグが見つかることは稀である• 8. テスト結果分析という新たなタスクが生まれる25