Slide 1

Slide 1 text

抜け出そう、 テスト自動化あるある 2018/5/30 伊藤由貴(@yoshikiito) 1

Slide 2

Slide 2 text

はじめに 2

Slide 3

Slide 3 text

自己紹介 伊藤由貴(@yoshikiito) テスト自動化エンジニア 某第三者検証会社に所属。 主にGUIのテスト自動化から 運用までをサポートするお仕事。 ひとり作業~10人超のテスト自動化チームまで。 Selenium+Jenkins、UFT+QC など。 3

Slide 4

Slide 4 text

今回のお話について ゴール • テスト自動化で失敗しやすいポイントの一部を ”あるある”で把握 • “あるある”をどう活かすかを掴む 話さないこと • 自動テストツールの使い方 • 具体的な自動化事例 など 4

Slide 5

Slide 5 text

【あるある】 テスト自動化をする人がよく体験すること。 とくにトラブルや問題など、ネガティブな体験。 ここでは、あるある≒ワーストプラクティス、として進めます。 5 ことばの定義

Slide 6

Slide 6 text

本編 6

Slide 7

Slide 7 text

アウトライン 1. はじめに 2. ”自動化あるある”物語 3. “あるある”を活かす 4. まとめ 7

Slide 8

Slide 8 text

過去の”あるある”を書きだしてみた 今回の発表にあたり、改めて過去の体験を出してみると… 多いので、物語仕立てでお送りします。 8

Slide 9

Slide 9 text

”自動化あるある”物語~始動編~ 4月某日、あるシステム開発会社にて…。 9 我々の課では生産性向上のため、 今期テスト自動化をすることにした。 君がリーダーとして推進してくれ。 なんですって・・・ 今の開発作業はどうするんですか? それも続けつつ、 空いた時間ですすめてくれ。 やるからには100%自動化、な!

Slide 10

Slide 10 text

”自動化あるある”物語~導入編~ その後…。 10 わが社のツールを使えば、 テストの工数を80%削減! あらゆるデバイス・OSに対応! テスト自動化って言われても・・・ とりあえず画面操作できるツールを 選んでみようか。 お、良さそう。 上司に頼んで買ってもらおう。

Slide 11

Slide 11 text

”自動化あるある”物語~開発編~ その後…。 11 コード書ければいいんですよね? まかせてください。 で、どんなテストするんですか? ツールも手に入ったしやってみるか。 後輩に声をかけて手伝ってもらおう。 テスターさんにもだな。 ツールの使い方が よくわかりません・・・ いままで手動テストしか したことないし・・・。

Slide 12

Slide 12 text

”自動化あるある”物語~運用編~ その後…。 12 実行のやり方がわかりません 3人で死ぬほど残業して、 なんとか少し自動化できたぞ・・・ みんな、使ってくれ・・・ ちょっと! お客さんの受入テスト用データ 消したの誰よ!? 全然うまく動かないんだけど。

Slide 13

Slide 13 text

”自動化あるある”物語~年度末大火編~ 3月某日、あるシステム開発会社にて…。 13 そういえばテスト自動化は どうなったんだ? 成果は出たのか? それが、難航してまして・・・ テスターの負荷も上がり、 開発も遅延が・・・ 高いライセンス料払って ツール使ってるんだぞ! 結局総工数も増えてるじゃないか!

Slide 14

Slide 14 text

”自動化あるある”物語~独力の最後編~ その後…。 to be continued… 14 たすけて はいはいどうもどうも

Slide 15

Slide 15 text

アウトライン 1. はじめに 2. ”自動化あるある”物語 3. “あるある”からの教訓 4. まとめ 15

Slide 16

Slide 16 text

物語で出てきた”自動化あるある” • テスト自動化の目的が曖昧 • 専任担当者がいない • 100%自動化しようとする • トライアルせずにツール導入 • UIのテストでカバーしようとする • テストそのものが未成熟 • 周囲のフォロー不足/巻き込み不足 16

Slide 17

Slide 17 text

テスト自動化の目的が曖昧 物語の中には、品質の視点が出てこなかった。 過去の経験上、人員削減や社内へのアピールのために テストの自動化を進めた場合は失敗しがち。 テストの自動化は、基本は品質を上げるために行うもの。 そのうえで、 • どのくらいの品質を目指すのか • どのくらいのコストを目指すのか • どのくらいの納期を目指すのか を考える。 17

Slide 18

Slide 18 text

UIのテストでカバーしようとする テストのピラミッドを意識しよう 一般に、UIを操作して行うテストは低速・高コスト。 単体テストのほうが高速・低コスト。 UIのテストを増やしていくと、 このピラミッド構造が崩れる。 単体テストを厚く、 UIテストは最小限に。 18 (https://martinfowler.com/bliki/images/testPyramid/test-pyramid.png より画像引用)

Slide 19

Slide 19 text

周囲のフォロー不足/巻き込み不足 メリットを周囲に伝えながら、進める テスト自動化は周囲の理解と協力が不可欠。 大事な情報が入ってこなかったりすると、トラブルが起こる。 自分たちがもくもくとテスト自動化を進めるのではなく、 メリットを周囲に伝える努力をする。 自分たちの取り組みを認知してもらう。 ただし、実際以上に大きく見せると、自分の首を絞めます。 19

Slide 20

Slide 20 text

アウトライン 1. はじめに 2. ”自動化あるある”物語 3. “あるある”からの教訓 4. まとめ 20

Slide 21

Slide 21 text

周りの(悪い意味での)あるあるを聞くと・・・ • 自分(たち)だけじゃない、という安心感 • うまくいかないこと、始めないことに対する理由付け につながってしまう。 あるあるは気持ちいい。 が、そこで止めずに活かすのが大事。 抜け出そう、テスト自動化あるある。 21 “あるある”は要注意

Slide 22

Slide 22 text

まとめ • “テスト自動化あるある”からの学び • 品質を良くするために行う、を忘れずに。 • 周囲の理解と協力を得る努力を。 • テストのピラミッドを意識して、効果的に。 • あるあるで終わらずに、活かそう 22

Slide 23

Slide 23 text

以上、 ありがとうございました ツッコミ・質問は、 ぜひ個別にお声がけください☺