Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

アジャイルQA楽しい!

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

テスト自動化楽しい

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

ぱいんの数字① 1から15

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

No content

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

学び その先へ

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

No content

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

テスト自動化の8原則 (テスト自動化研究会製) https://sites.google.com/site/testautomationresearch/test_automation_principle • 1. 手動テストはなくならない • 2. 手動でおこなって効果のないテストを自動化しても無駄であ る • 3. 自動テストは書いたことしかテストしない • 4. テスト自動化の効用はコスト削減だけではない • 5. 自動テストシステムの開発は継続的におこなうものである • 6. 自動化検討はプロジェクト初期から • 7. 自動テストで新種のバグが見つかることは稀である • 8. テスト結果分析という新たなタスクが生まれる 25