Top Banner
価値あるシステムテスト自動化の実現 By Friendly 株式会社Codeer 石川達也 http://www.codeer.co.jp /
41

価値あるシステムテスト自動化の実現By friendly

Jul 17, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 価値あるシステムテスト自動化の実現By friendly

価値あるシステムテスト自動化の実現By Friendly

株式会社Codeer石川達也http://www.codeer.co.jp/

Page 2: 価値あるシステムテスト自動化の実現By friendly

石川達也

株式会社Codeer代表取締役

Microsoft MVP for .Net

Windowsアプリテスト自動化歴9年

Windowsアプリ操作用ライブラリFriendlyの開発者

自己紹介

http://www.codeer.co.jp/

http://ishikawa-tatsuya.hatenablog.com/

Page 3: 価値あるシステムテスト自動化の実現By friendly

Friendly紹介

じわじわ来てます。一部上場企業様でも続々と採用中

Page 4: 価値あるシステムテスト自動化の実現By friendly

http://posaune.hatenablog.com/entry/2014/11/16/173446

亀岡的プログラマ日記

Friendly紹介

アメリカでも大好評でした!

Page 5: 価値あるシステムテスト自動化の実現By friendly

5

アジェンダ

・価値あるシステムテスト自動化の実現

・壁

・By Friendly

Page 6: 価値あるシステムテスト自動化の実現By friendly

6

価値あるシステムテスト自動化の実現

Realization of valuable system test automation.

Page 7: 価値あるシステムテスト自動化の実現By friendly

7

テスト実行により得られる情報の価値

作成、メンテ、運用コスト安い

高い

価値ある自動システムテストって?

まあ、費用対効果ですな

Realization of valuable system test automation.

Page 8: 価値あるシステムテスト自動化の実現By friendly

8

テスト実行により得られる情報の価値

コストなら分かりやすいけど

Realization of valuable system test automation.

Page 9: 価値あるシステムテスト自動化の実現By friendly

9

テスト実行により得られる情報の価値

成功したときに、役に立つか否かで決まる!

不具合発見はわかりやすいけど、

同じテスト毎日やって、毎日不具合発見とかありえないよね?

Realization of valuable system test automation.

Page 10: 価値あるシステムテスト自動化の実現By friendly

10

テスト実行により得られる情報の価値

成功したときに、役に立つか否かで決まる!

どれだけのリスクを排除したのか?が明確にわかる。

わからんかったら、単なるゲン担ぎ

現実的には でケース管理するよねー。

Realization of valuable system test automation.

Page 11: 価値あるシステムテスト自動化の実現By friendly

11

テスト実行により得られる情報の価値

成功したときに、役に立つか否かで決まる!

どれだけのリスクを排除したのか?が明確にわかる。

排除できるリスクは多い方が良い。

網荒すぎたら、まあ意味ないよね。

ただし、当たり前だけど「不具合ないよ」って言い切ることはできない。

→そんなの手動でも無理よね。

Realization of valuable system test automation.

Page 12: 価値あるシステムテスト自動化の実現By friendly

12

作成、メンテ、運用コスト

サクッと作れてサクッと変化に対応!

あれ?運用コスト?

Realization of valuable system test automation.

Page 13: 価値あるシステムテスト自動化の実現By friendly

13

作成、メンテ、運用コスト

今日もタイミング依存の失敗・・・

大量のレポート目で確認せなあかんの?

解析コストもタダちゃいまっせ!やる気もなくなるわ。

ダメ!ゼッタイ!

Realization of valuable system test automation.

Page 14: 価値あるシステムテスト自動化の実現By friendly

14

作成、メンテ、運用コスト

通常時は朝来て、オールグリーンを横目で確認するだけ。

失敗時の調査は不具合解析コストだから運用コストではない。

こうでなくっちゃね!

Realization of valuable system test automation.

Page 15: 価値あるシステムテスト自動化の実現By friendly

15

つまり・・・

Realization of valuable system test automation.

Page 16: 価値あるシステムテスト自動化の実現By friendly

16

・サクッと作れて

・サクッとメンテ

・毎日、高品質で大量のテストが安定稼働

とりあえず、今日はこれを「価値あるシステムテスト自動化」

と考えます。

Realization of valuable system test automation.

Page 17: 価値あるシステムテスト自動化の実現By friendly

17

実現するには?

Realization of valuable system test automation.

Page 18: 価値あるシステムテスト自動化の実現By friendly

18

必要なもの

・テストケース設計

・アプリケーションドライバー

Realization of valuable system test automation.

Page 19: 価値あるシステムテスト自動化の実現By friendly

19

テストケース設計

多少はそうなんだけど、システムテストの場合はそれほどは違わない。

手動とは異なる考え方?

Realization of valuable system test automation.

Page 20: 価値あるシステムテスト自動化の実現By friendly

20

まず、手動、自動関係なくケース設計してそこから自動にするとか、手動にするとか、判断する手法がお勧めです。

テストケース設計

Realization of valuable system test automation.

Page 21: 価値あるシステムテスト自動化の実現By friendly

・・・・・・

アプリケーションドライバ

これがあったら、本職のPGでなくても簡単に自動化されたシナリオを実装できる夢のインターフェイス!

開発チームにアプリと一緒に作ってもらってね。

Realization of valuable system test automation.

Page 22: 価値あるシステムテスト自動化の実現By friendly

22

デモ

https://github.com/Ishikawa-Tatsuya/HandsOn14

Page 23: 価値あるシステムテスト自動化の実現By friendly

23

・・・・・・

アプリケーションドライバがあったらテストケースの大部分を簡単に自動化できるよねー

あとは、テストシナリオを作成するだけ!

Realization of valuable system test automation.

Page 24: 価値あるシステムテスト自動化の実現By friendly

24

よっしゃ!

これで、

質量ともに十分なテストケースを

サクッと自動化できて

毎日実行できる!

Realization of valuable system test automation.

・・・・・・

Page 25: 価値あるシステムテスト自動化の実現By friendly

25

・・・・

Realization of valuable system test automation.

Page 26: 価値あるシステムテスト自動化の実現By friendly

26

ここで終わったら、

机上の空論。

Realization of valuable system test automation.

Page 27: 価値あるシステムテスト自動化の実現By friendly

27

Wall.

Page 28: 価値あるシステムテスト自動化の実現By friendly

28

「だから、アプリケーションドライバをどうやって実装するんだよ」

って話です。

ここが一番のボトルネックだよね

Realization of valuable system test automation.

Page 29: 価値あるシステムテスト自動化の実現By friendly

29

アプリケーション操作って難しい!特に安定して操作するのはね。

ココ

・GUIって人間用。・プロセス違うからスレッドもメモリ空間も違う。・そもそもやり方わからん

Wall.

Page 30: 価値あるシステムテスト自動化の実現By friendly

30

一般的には2種類

・キー、マウスエミュレート

・GUI操作APIWin32APIUIオートメーションTestStack.White(Win32API+UIオートメーション)

Wall.

でもね~

Page 31: 価値あるシステムテスト自動化の実現By friendly

31

まあ、難しいんじゃないかな

Wall.

そこで・・・

Page 32: 価値あるシステムテスト自動化の実現By friendly

32

By Friendly

By Friendly.

Page 33: 価値あるシステムテスト自動化の実現By friendly

33

Windowsアプリ操作系最強!

Is a magical library!

It break through

the walls of processes.

By Friendly.

Win32、WinForms、WPF

Page 34: 価値あるシステムテスト自動化の実現By friendly

34

なんと、別プロセスの内部APIを実行させることができる!

またまたまたー、そんなのできるわけないでしょ?

By Friendly.

Page 35: 価値あるシステムテスト自動化の実現By friendly

35

Crazy!

これができたら、どんな操作も可能よね!

デモ

By Friendly.

Page 36: 価値あるシステムテスト自動化の実現By friendly

36

マジで!?こんなに簡単に?

デモ

By Friendly.

DLL Injection

Page 37: 価値あるシステムテスト自動化の実現By friendly

37

マルチプロセスプログラミングだから、安定させるために、これ重要!

デモ

By Friendly.

同期、非同期

Page 38: 価値あるシステムテスト自動化の実現By friendly

38

超便利!普通のGUI操作ライブラリっぽいけど思想が違うんだよね。

デモ

By Friendly.

上位ライブラリ

Page 39: 価値あるシステムテスト自動化の実現By friendly

39

・正しく設計されたテストケース

・優れたインタフェースを提供するアプリケーションドライバ

・アプリケーションドライバを実装するための強力な操作手段

これをそろえれば、価値あるシステムテスト自動化が実現できる!

まとめ

Page 40: 価値あるシステムテスト自動化の実現By friendly

40

Friendly導入コンサル受付中(オープン価格w)

ご好評いただいております。

Page 41: 価値あるシステムテスト自動化の実現By friendly

41

ご清聴ありがとうございました!

【Picture】Dawn Huczek