自動化パタンランゲージ

6,126 views

Published on

Asian Automation Alliance の発表資料です。
http://kokucheese.com/event/index/160374/

Published in: Engineering
0 Comments
18 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
6,126
On SlideShare
0
From Embeds
0
Number of Embeds
3,977
Actions
Shares
0
Downloads
21
Comments
0
Likes
18
Embeds 0
No embeds

No notes for slide

自動化パタンランゲージ

  1. 1. テスト自動化の パタンランゲージ 関西検証コレクション(#検これ) 前川 博志(@Posaune)
  2. 2. 自己紹介 •まえかわ ひろし a.k.a @Posaune •#京アジャ •#検これ •なんにでも興味を持つ雑食系エンジニア • 器用貧乏っていうな •MS MVP for Visual Studio ALM • Visual Studioで作ってJenkinsでビルド するというALM
  3. 3. 発表諸元 •テスト自動化パタンランゲージの狙い •上空5000メートルからの眺め •地上からの眺め •むすび 2014/6/28 Asian Automation Aliance
  4. 4. テスト自動化 パタンランゲージの狙い 2014/6/28 Asian Automation Aliance
  5. 5. テスト自動化取組みの現状 (#検これ 調べ) •まだまだ導入初期 •(少なくとも関西では) •討死事例も多い気がする •しかもなんか似たような事例多い •結局「組織が対応できてない」みたいな 飲み会のグチみたいな話で終わりがち 2014/6/28 Asian Automation Aliance
  6. 6. なんだか残念な感じ 2014/6/28 Asian Automation Aliance
  7. 7. ・・・というわけで •テスト自動化に取り組んでいる人たちの 経験をアクセスしやすい形で公開しよう •現状の問題がなぜ発生しているのかを 理解し、それを解決しうる策を提供する •関連する問題を明示し、周囲に潜む問題 への気づきを与える パターンランゲージのフォーマットがよさげ!
  8. 8. パタンランゲージの 構成要素 •コンテキスト •問題の背景となっている事情 •問題 •フォース •問題を発生させる要因となる外部からの力 •解決 •問題の解決策 •結果 •解決策を取った後に見込まれる結果 2014/6/28 Asian Automation Aliance
  9. 9. 自動化パタンランゲージの 一例 ~ダッシュボード~ 2014/6/28 Asian Automation Aliance •文脈: [3分クッキング]により自動化 そのものを取り入れることはできた。 •問題:テスト結果を適切に分析し、 活用することができていない。 •フォース:多くの情報を解釈するには 担当者のリソースが必要。 •解決:目的をもった結果レポートを出力 するようにする。 •結果:メトリクスを[テスト仕分け]など 自動化システムの改良に活用できる。
  10. 10. それでは、実際にパタンラン ゲージを見てみましょう 2014/6/28 Asian Automation Aliance
  11. 11. 上空5000メートル からの眺め 2014/6/28 Asian Automation Aliance
  12. 12. どどん!! 2014/6/28 Asian Automation Aliance 導入のパターン 初期実装のパターン 普及・もしくは 終焉 グッドパターン アンチパターン
  13. 13. ・・・ これだけじゃわかりませんよね。 2014/6/28 Asian Automation Aliance
  14. 14. 地上からの眺め とあるオートメータの記録風に
  15. 15. 三浦さん(仮名)は 悩んでいた・・・
  16. 16. 三浦さんの悩み •なんでエンジニアが、こんなだれでもで きるような作業をやらんといかんのや… •そもそもちょっと手順が違うだけでほと んど同じ作業の繰り返しやないか… •こんなもん、ミスなくやれっちゅーほう が難しいて… •あぁ、だからダブルチェックすんのか…
  17. 17. あー!! もうやってられん!!! 誰か、なんとかしてくれー!! 2014/6/28 Asian Automation Aliance
  18. 18. まずは問題意識から ~求む!英雄~ •自動化の必要性を、きちんと意識する、 というパターン •これ無しに自動化するとヒドイ目に会う 可能性が高い •すべての起点にあたるパターン
  19. 19. 2014/6/28 Asian Automation Aliance
  20. 20. そんなとき、三浦さんの前に あるものが… •ん?なんやこれ? “SisutemuTesutoJikkou.bat”? ちょっと実行してみよか・・・ •うおお!なんかシステム勝手に立ち上 がっていろんな判定はじめよったぞ? •なんかレポートも出とる! 2014/6/28 Asian Automation Aliance
  21. 21. こ・・・ これはお宝やないか!? 2014/6/28 Asian Automation Aliance
  22. 22. 過去の遺産の発掘 ~インディージョーンズ~ •先人が残した自動化の資産を発掘し、 うまく活用するパターン •オーパーツと化しているので、扱いに注 意しないと・・・
  23. 23. 2014/6/28 Asian Automation Aliance
  24. 24. そしてお宝を発見した 三浦さんは・・・ •うおー、これも、これも、つかえるや ないか!! •自分でも、なんとか追加していけそうや ぞ、例えばここをこう変えれば、別のも テストできそうや! •よし、このバッチをコピペして、テスト を大量生産や~!! 2014/6/28 Asian Automation Aliance
  25. 25. うおー!! テンション上がってきたで~!! 2014/6/28 Asian Automation Aliance
  26. 26. そろそろやばいぞ ~自動化ハイ~ •自動化することそのものが目的になり、 突っ走ってしまっているパターン •ここから建て増し旅館を建築する例が 多い
  27. 27. 2014/6/28 Asian Automation Aliance
  28. 28. さて、時は少し流れ… •よっしゃ、かなりのテストを自動化 できてきたで~… •「三浦さん、このテストとあのテスト、 また落ちてるんですけど」 •あぁ、それはそういうもんなんや、タイ ミングで時々動かへんねん、ほっとき •「は~い(もうこのテストはまじめに結 果みなくてよさそうだな・・・)」 2014/6/28 Asian Automation Aliance
  29. 29. 「ま、最後にちょろっと 念為でテスト通せばいいか…」 2014/6/28 Asian Automation Aliance
  30. 30. もはやテストじゃない ~験担ぎ~ •自動テストがただの儀式になって しまっているアンチパターン。例えば… •複雑すぎてFragileなテストなので時々失敗し てしまう •自動テストのメンテナンスが職人作業になり落 ちても誰も触れない
  31. 31. もう少し時は流れ・・・ •「おい、三浦君、最近しょうもない不具合 が多いよ?どうなってるの?」 •え?あれ?そのテストはちゃんと自動で… •「いやあのテストはほとんど走らせてませ んよ、最後に一度通せばOKかなって」 •えええ!?あかんやん!そんなん! •「だってうまくいくかどうかわからんテス トとかやってられませんよ」 2014/6/28 Asian Automation Aliance
  32. 32. 『やっぱ、人間の手と目で 確認しないとダメだね 』 2014/6/28 Asian Automation Aliance
  33. 33. 自動化の終焉 ~原住民蜂起~ •自動化による効果を感じてもらえず、 取り組みにいったんピリオドが打たれる アンチパターン •さようなら・・・みうらさん・・・
  34. 34. 2014/6/28 Asian Automation Aliance
  35. 35. 失意の三浦さん・・・ •なんでや、なんで元通りになってしまっ たんや・・・ •思えば、テンション上がって勝手に突っ 走ったのはまずかったんやな。。。 •もっと、システム全体を見て、効果的な 自動化をするべきやった。。。 •次こそは、次こそは・・・ 2014/6/28 Asian Automation Aliance
  36. 36. 2014/6/28 Asian Automation Aliance
  37. 37. 2014/6/28 Asian Automation Aliance
  38. 38. 失敗を糧にすべし ~強くてニューゲーム~ •自動化失敗の原因を冷静に分析し、 次の取り組みに活かすパターン •次は本物の「英雄」になれるかも!?
  39. 39. 生まれ変わった 三浦さんは… •よっしゃ、ガンガン自動化したるで~… いや、あかんあかん! •実装を進める前に、まずシステム全体を 見とかんとな! •その上で、どこが「自動化が効く」とこ ろなのか判断しよ! 2014/6/28 Asian Automation Aliance
  40. 40. 全体像を描く & まずは“効く“ところから 2014/6/28 Asian Automation Aliance •自動化ハイをぐっとこらえ・・・
  41. 41. 生まれ変わった 三浦さんは・・・ •テストがちょっと不安定になってきとる な… •うお!?このコードはあかんやろ、修正 しとかなあかんな・・・ •あと、要らんテストも多いな。これも 仕分けしとかな。 2014/6/28 Asian Automation Aliance
  42. 42. ヤブ医者とブラックジャック & テスト仕分け •アンチパターンへのカウンターを打ち… 2014/6/28 Asian Automation Aliance
  43. 43. 生まれ変わった 三浦さんは・・・ •人がやるテスト、大分減ってきたな。。。 •んじゃあテスターさんにはもっと探索的な テストをやってもらお! •うお!思ってもみなかった不具合でたで! さすがプロやな~ •テストは大分自動化したで。もうどんなテ ストでも5分ででける! •…けど、結局環境構築大変やんな・・・ •これも自動化せなな!ん?Chefってのがあ るんか? 2014/6/28 Asian Automation Aliance
  44. 44. もっと、人間らしく & テストだけとか勿体無い 2014/6/28 Asian Automation Aliance •「文明の曙」へ向けて、三浦さんの 自動化の旅は続く・・・
  45. 45. むすび 2014/6/28 Asian Automation Aliance
  46. 46. 自動化パタンランゲージ •自動化だけなら長い歴史がある •失敗をもとに良いソリューションができてき ている •ソフトの自動化ははじまったばかり •三浦さん(仮名)のように、一度討死す るのもいいかもしれないけれど・・・ •パターンをベースに良いソリューション をショートカットできるのでは! 2014/6/28 Asian Automation Aliance
  47. 47. パタン言語は Githubにて公開中!! •https://github.com/KenColle/Automa tionPatternLanguage •Issue / Pull Request 大歓迎! •ぜひ皆さんの自働化体験談をパターンに しましょう!
  48. 48. 文明の曙を目指して、 Enjoy Automation !! 2014/6/28 Asian Automation Aliance
  49. 49. 未 完 自 動 化 坂 を よ …

×