$30 off During Our Annual Pro Sale. View Details »

しくじり先生ーアジャイルテスト自動化立ち上げ迷走記 #D3QA / Failure teaches success in automated testing development

ぱいん
October 29, 2019

しくじり先生ーアジャイルテスト自動化立ち上げ迷走記 #D3QA / Failure teaches success in automated testing development

ぱいん

October 29, 2019
Tweet

More Decks by ぱいん

Other Decks in Technology

Transcript

  1. ~アジャイルテスト自動化
    立ち上げ迷走記~
    2019/10/29
    @D-Cubeソフトウェアテスト・QA勉強会
    ぱいん

    View Slide

  2. 自己紹介
    • ぱいん
    • テスト会社
    • テストエンジニア/QAエンジニア
    • ドメイン
    • 組込機器
    • Webアプリ開発(通信、行政)
    • テスト自動化ツール開発
    • 現在のメインのお仕事:
    • システムテスト自動化のテックリード
    • 社外活動
    • SeleniumConf Tokyo実行委員
    • JaSST Review(ソフトウェアレビューシンポジウム)実行委員
    など
    • 趣味
    • Twitter, Togetter
    • Bリーグ観戦(川崎ブレイブサンダース)
    ぱいん

    View Slide

  3. 背景
    • アジャイルプロジェクト
    • 受託案件
    • 開発メンバ:数十名規模
    • スプリントサイクル:2週間

    View Slide

  4. 当時のスペック
    • ぱいん
    • 当時のメインのお仕事:
    • 平テストエンジニア(上司と2名)
    • それまでは手動テスト実行経験のみ
    • 社外活動
    • 特になし
    • 趣味
    • Twitter

    View Slide

  5. View Slide

  6. なんちゃって
    QAフロントローディング
    1. テストケース作成時の不明点から、
    開発側へ仕様不明点を明確化を促進
    • QAは業務資料をひたすら読み込んで、業務シナリオを整理
    • 開発メンバからの信頼を得て、QAが要件レビューを行うなど
    2. 開発との距離が近く改善は盛り込まれる
    • 自動化に必要なIDは実装時に埋めてもらう
    • 開発用バッチを見ながらテストデータ作成ツールを作る

    View Slide

  7. アジャイルQA楽しい!

    View Slide

  8. 社外コミュニティとの出会い、成長
    1. Seleniumのコミュニティに出会う
    2. Stack Overflowを読み漁る日々
    ⇒昨日、出来なかったことが今日できるようになる
    作ったコードが自分の代わりにテストしてくれる

    View Slide

  9. テスト自動化楽しい

    View Slide

  10. QAチームに課せられたミッション
    •PO「デグレを検知するために画面遷移の
    E2E自動テストを作ってほしい。Selenium
    で。」
    •ぱいん「わかりましたっ!(キリッ」
    •PO「現在はモックだ」
    •ぱいん「わかりましたっ!(キリッ?」

    View Slide

  11. ぱいんの数字①
    1から15

    View Slide

  12. ぱいんの数字①
    自動化エンジニアの数
    1から15

    View Slide

  13. View Slide

  14. テストコードのメンテ辛い①
    • オフショアからのQ&A対応で時間が溶ける日々

    View Slide

  15. テストコードのメンテ辛い②
    • 画面遷移が目まぐるしく変わる
    • 実装優先で画面遷移図が追従しない
    Click

    View Slide

  16. テストコードのメンテ辛い②
    • 画面遷移が目まぐるしく変わる
    • 実装優先で画面遷移図が追従しない
    Click
    注意
    相手が嫌がる言動
    はやめましょう
    了解 Click

    View Slide

  17. テストコードの増加が止められない
    • テストコードメンテの間にも、新機能は増えていく
    • テストケース新規作成メンバは、黙々とテストコードを増やし
    ていく

    View Slide

  18. • テストコードメンテの間にも、新機能は増えていく
    • テストケース新規作成メンバは、黙々とテストコードを増やし
    ていく
    メンテ
    新規
    時間
    テストコードの増加が止められない
    Q&A

    View Slide

  19. しくじり(失敗)まとめ
    1. テストコードのメンテが辛い
    2. テストコードの増加が止められない
    • 終わらないQ&A対応
    • 画面遷移への無限追従

    View Slide

  20. 学び
    その先へ

    View Slide

  21. 学び
    • 一気に自動化をスケールさせようとしない
    • 上司の方針を鵜呑みにしない
    • テスト自動化をする目的、必要性
    • 開始するタイミングは開発フェーズとして合っているか
    • QAエンジニアがやるのが適任なのか

    View Slide

  22. その先へ
    • 2名体制で、シナリオテストの自動化を行う
    • シナリオ数をゆっくり増やす:1⇒3⇒5
    • メンテの工数、作成工数、LOCを計測
    • デプロイパイプラインに組み込んでビルドブレイクを検知
    • 手動で約1hかかるテストが、約15mで終了
    • IE複数Ver, Chrome最新で実行

    View Slide

  23. View Slide

  24. おまけ1)おススメの本、その他
    • 書籍「初めての自動テスト」
    • 書籍「ソフトウェアテスト293の鉄則」
    • 第5章 “テスト自動化” 40個
    • スライド「これからシステムテスト自動化を
    始める組織のための勉強会」
    • ぱいんのテスト自動化お悩み相談
    (随時、パインアメ1袋~)

    View Slide

  25. テスト自動化の8原則 (テスト自動化研究会製)
    https://sites.google.com/site/testautomationresearch/test_automation_principle
    • 1. 手動テストはなくならない
    • 2. 手動でおこなって効果のないテストを自動化しても無駄であ

    • 3. 自動テストは書いたことしかテストしない
    • 4. テスト自動化の効用はコスト削減だけではない
    • 5. 自動テストシステムの開発は継続的におこなうものである
    • 6. 自動化検討はプロジェクト初期から
    • 7. 自動テストで新種のバグが見つかることは稀である
    • 8. テスト結果分析という新たなタスクが生まれる
    25

    View Slide