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

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

Embed Size (px)

Citation preview

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

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

石川達也

株式会社Codeer代表取締役

Microsoft MVP for .Net

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

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

自己紹介

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

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

Friendly紹介

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

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

亀岡的プログラマ日記

Friendly紹介

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

5

アジェンダ

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

・壁

・By Friendly

6

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

Realization of valuable system test automation.

7

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

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

高い

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

まあ、費用対効果ですな

Realization of valuable system test automation.

8

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

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

Realization of valuable system test automation.

9

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

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

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

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

Realization of valuable system test automation.

10

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

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

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

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

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

Realization of valuable system test automation.

11

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

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

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

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

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

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

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

Realization of valuable system test automation.

12

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

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

あれ?運用コスト?

Realization of valuable system test automation.

13

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

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

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

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

ダメ!ゼッタイ!

Realization of valuable system test automation.

14

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

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

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

こうでなくっちゃね!

Realization of valuable system test automation.

15

つまり・・・

Realization of valuable system test automation.

16

・サクッと作れて

・サクッとメンテ

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

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

と考えます。

Realization of valuable system test automation.

17

実現するには?

Realization of valuable system test automation.

18

必要なもの

・テストケース設計

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

Realization of valuable system test automation.

19

テストケース設計

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

手動とは異なる考え方?

Realization of valuable system test automation.

20

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

テストケース設計

Realization of valuable system test automation.

・・・・・・

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

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

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

Realization of valuable system test automation.

22

デモ

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

23

・・・・・・

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

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

Realization of valuable system test automation.

24

よっしゃ!

これで、

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

サクッと自動化できて

毎日実行できる!

Realization of valuable system test automation.

・・・・・・

25

・・・・

Realization of valuable system test automation.

26

ここで終わったら、

机上の空論。

Realization of valuable system test automation.

27

Wall.

28

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

って話です。

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

Realization of valuable system test automation.

29

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

ココ

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

Wall.

30

一般的には2種類

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

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

Wall.

でもね~

31

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

Wall.

そこで・・・

32

By Friendly

By Friendly.

33

Windowsアプリ操作系最強!

Is a magical library!

It break through

the walls of processes.

By Friendly.

Win32、WinForms、WPF

34

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

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

By Friendly.

35

Crazy!

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

デモ

By Friendly.

36

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

デモ

By Friendly.

DLL Injection

37

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

デモ

By Friendly.

同期、非同期

38

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

デモ

By Friendly.

上位ライブラリ

39

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

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

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

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

まとめ

40

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

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

41

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

【Picture】Dawn Huczek