Report of AgileTestingDays2018

Df3136f800e7ed9931ed5f9f1afad935?s=47 mtskhs
December 18, 2018

Report of AgileTestingDays2018

AgileTestingDays2018の参加レポートです。「アジャイル」や「テスト自動化」について学びました。
keywords:
- なぜアジャイルなチームにするのか?
- テスト自動化におけるコスト意識とは?

Df3136f800e7ed9931ed5f9f1afad935?s=128

mtskhs

December 18, 2018
Tweet

Transcript

  1. Report of AgileTestingDays2018 2018/12/18 Hisayuki Matsuki @mtskhs

  2. 参加目的 • アジャイルの意義・意味 ◦ アジャイルな開発をすれば、開発がはやくな る? ◦ どうすれば、良い開発チームを作れるか • テスト自動化の目的・バランス

    ◦ なんのためにテスト自動化を導入するか ◦ テストコードはどこまで書くべきか 2
  3. 目次 1.AgileTestingDaysについて 2.アジャイル 3.テスト自動化 3

  4. 1-1. イベント概要 • ヨーロッパ最大のagile/testingイベント • 参加者:約700人・スピーカー:約130人 ◦ 女性比率4割 • テーマの比率(感覚)

    ◦ アジャイル:テスト/CICD = 5 : 5 • 参加者同士が教え合う機会が多い ◦ 目が合うと会話が始まる 4
  5. 1-2. 場所 • Potsdam(ドイツ) ◦ ベルリンから電車で40分程度 ◦ 日の出7:30 / 日の入16:20

    5
  6. 1-3. 日程 6 • ConferenceDays4日間に参加

  7. 1-3. 日程 7 • 交流がある(group/pair)の比率が多い

  8. 1-4. マスコット Agile Unicorns 8

  9. 1-5. 10th Anniversary みんなでお祝いをしていました 9 https://video.twimg.com/ext_tw_video/1062496693902606 336/pu/vid/1280x720/D0SyP373EZsu39Jc.mp4

  10. 2. アジャイル

  11. 2-0.(補足)アジャイルって? agile manifesto (2001) 11 アジャイル は、 - 価値観 -

    小さく・素早くサイク ルを回すこと http://agilemanifesto.org/iso/ja/manifesto.html “agile”の画像検索結果
  12. 2. アジャイル 12 2-1.アジャイルな状態(DevOps: 6 Steps to Go Faster, Build

    Better and Avoid Disaster) 2-2.心・感情の大切さ(The Heart of Innovation) 2-3.思考停止をやめよう(Get off the Hamster Wheel and Start Adding Value!) 2-4.成長のためのマインドセット(The Power of ‘Not Yet’ – Improve Your Testing Skills) 2-5.メンタリング(Mentoring Result > Power Pairs in Testing) 2-6.メンタリングの大切さ(How having a mentor changed my career) 2-7.リモートチームでの働き方(agile transformation with remote teams) 2-8.価値観を合わせる(Four nationalities, two countries, one team - can it work?)
  13. 2-1.アジャイルな状態 DevOps: 6 Steps to Go Faster, Build Better and

    Avoid Disaster 13 アジャイル開発 -スクラム・カンバン -可視化/協調性が向上 アジャイルな状態 -メンバーが、内的動機付けさ れている -継続的学習ができている (チームにその余地がある)
  14. 2-1.アジャイルな状態 DevOps: 6 Steps to Go Faster, Build Better and

    Avoid Disaster 14 アジャイルな状態になるには? 下記の繰り返し - 理想とのギャップを知り、チームで共有する - ギャップを埋めるための小さな行動を実行する - チームで行動を振り返る
  15. 2-3.思考停止をやめよう Get off the Hamster Wheel and Start Adding Value!

    15 HamsterWheelの兆候 (思考停止して働きづめな様) -いつも働いている -小さな問題も大きく捉えすぎて いる -シンプルに考えられない Agileになればいい? (悪化する側面も) △気づいていない問題にも気づく △メンバー間のやりとりに時間を割く
  16. 2-3.思考停止をやめよう Get off the Hamster Wheel and Start Adding Value!

    16 どうれば改善するか? -自覚して、許容する -Noという、落ち着く -WIP(; Work In Progress)をへらす -実行可能な目標を立てる -身体的な健康もやっぱり大切
  17. 2-4.成長のためのマインドセット The Power of ‘Not Yet’ – Improve Your Testing

    Skills 17 -“まだ”できないと自信を 持って言おう。自分を受 け入れることが成長の 第一歩 (Comfort▶Learning▶Pa nic▶)
  18. 2-4.成長のためのマインドセット The Power of ‘Not Yet’ – Improve Your Testing

    Skills 18 成長のためには、 -何を学ぶか決めよう -支援者を見つけよう Sponsors:機会を与える Coaches:ゴール達成を助ける Teachers:体系的知識を教える RoleModels:  まだ知らない理想像を示す
  19. 2. まとめ:アジャイルの意義とは? • チームとして成長・ボトムネックの解消によって、 中長期的なパフォーマンスをだす ◦ 開発工程においてPDCAを回し、成長する仕 組みづくり • △アジャイル開発 ◎アジャイルな状態

    ◦ メンバーの継続的な行動・価値観を重視 ◦ (手法・ツールより、マインドセット) 19
  20. 3. テスト自動化

  21. 3. テスト自動化・CI/CD 21 3-1.テストにおけるコスト意識(How we Develop and Test Software at

    eBay in Berlin) 3-2.フロントエンドのテスト手法(Confident Software Delivery) 3-3.APIのテストに求められる要素(Building your own API testing framework) 3-4.MicroServiceにおけるテスト手法(deploy microservices with confidence) 3-5.うまくデプロイするには(Confident Software Delivery) 3-6.QEの心構え(Is your Quality on the Road to Nowhere?)
  22. 3-1.テストにおけるコスト意識 How we Develop and Test Software at eBay in

    Berlin 22 -テスト自動化では、多く の低レベルなテスト(unit test/integrate test)を実 施し、E2Etestはあまり しない -予期しないエラーを継 続的にチェックできる仕 組みづくりが大切
  23. 3-6.QEの心構え Is your Quality on the Road to Nowhere? 23

    Testing = 可視化 QualityEngineering = 可視化し、品質を理解で きるようにする手法
  24. 3-6.QEの心構え Is your Quality on the Road to Nowhere? 24

    PICKLE = QEの心構え Participate: チームの一員である意識を強く持ち、計画・開発・レ ビューにも携わること Innovate: 自身やチームを改善するべく行動すること Comminucate: 会話をファシリテートし、チームを横断して交流する こと Knowlage: 知識を増やし、共有し、理解を深めること Linsten: POや組織の価値や、組織の内外で何が大切か聞くこと Evolve: 組織の戦略に沿って、品質を高めること
  25. 3. テスト自動化の目的・バランス • テスト自動化において、コスト意識が大切 ◦ 費用:低レイヤだと楽(unit<integrate<E2E ◦ 効果:3回以上人手でテスト / 核となる機能

    ◦ これを委託でやると難しい・・・ • 技術力向上の一貫として内製でやるべき? ◦ テストコードを楽に書くには、プロダクトコードが testableとなっていることが大切 (≒mentenable) ◦ コードレビュー&コード改善できる技術力を持と う 25
  26. まとめ・成果 ・「Go言語」における    テスト自動化についてのノウハウ作成 説明)https://qiita.com/matsu0228/private/c9f69b036f0ab47b617e ソース)https://github.com/matsu0228/gotest 26

  27. 参考書籍 アジャイル カイゼンジャーニー - アジャイルなチーム作りの大切さを、ストーリーを通して理解できる ELASTIC LEADERSHIP - チームの状態(サバイバル・学習・自己組織化モード)ごとにリーダーが取るべ き方法がわかる

    (サバイバルモード≒HamsterWheel) エンジニアリング組織論への招待~不確実性に向き合う思考と組織のリファクタリング - とにかくおすすめ(アジャイル、メンタリング、組織とシステム設計)   テスト自動化 (低コストでテストコードを書くためには、良いプロダクトコードが大切) リーダブルコード - 整理統合についての具体的なノウハウ集 Clean Architecture達人に学ぶソフトウェアの構造と設計 - プログラミングに関する原理原則を辞書的に知れる - レイヤーを分離する1つの方法論が分かる 27