Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Learn & Unlearn Yoshiki Ito #STAC 2021, Dec 11 テスト自動化
Slide 2
Slide 2 text
おことわり:本セッションの用語やスコープなど 2 ◼ テスト自動化=システムテスト自動化 ⚫ Unit TestやAPI Testなどの自動化は、明示しない限り対象外 ◼ 具体的な技術の話ではなく、自動化をうまくやるには話 ⚫ 地獄の話ではないです ⚫ 特定の言語やフレームワークの話はしないので、知らなくとも聞けます ⚫ 逆に、具体的な技術の話が聞きたい方は、裏の 「組込み向けテスト実行フレームワークのご紹介 / 見澤 広志さん」 へGO!
Slide 3
Slide 3 text
おことわり:資料の公開やSNSシェアなど 3 ◼ 資料はあとでSpeaker Deckに公開予定 ◼ 動画もYouTubeに公開されるはず ◼ コメントや感想や質問などDiscordに随時お願いします ⚫ あとからお返事します
Slide 4
Slide 4 text
今回のゴール 4 ◼ Unlearnしよう!という気になってもらう ◼ 普段仕事をしているチームや組織においてのLearn&Unlearnを 促そう!という気になってもらう テスト自動化がうまくいっている状態になるための 役に立てば嬉しいです
Slide 5
Slide 5 text
目次 1. 自己紹介 2. LearnとUnlearnをしよう 3. 過去のUnlearn体験 4. Unlearnを促そう 5. まとめ 5
Slide 6
Slide 6 text
伊藤由貴 / Yoshiki Ito ◼ テスト自動化エヴァンジェリスト ◼ 仕事の経歴 ⚫ 2012年 株式会社ベリサーブに入社 ⚫ 以降テスト自動化ツールの開発や導入支援など ⚫ 2019年~ 自動テスト推進課を立ち上げ活動中 ◼ コミュニティ活動 ⚫ JaSST東北 実行委員 ⚫ JSTQB AL シラバス テスト自動化エンジニア 日本語翻訳ワーキンググループ 6
Slide 7
Slide 7 text
普段(チームで)やっていること 7 ◼ 社内のエンジニアの教育やサポート ⚫ 各現場への技術的なQ&A対応やトラブルシュート ⚫ 研修を開く ◼ 他社さんからのテスト自動化の相談にのる、お手伝いをする ⚫ ヒアリングや自動化デモ、コンサルテーションなどなど テスト自動化を「うまくやる」ためのお手伝いを行っている人 です
Slide 8
Slide 8 text
目次 1. 自己紹介 2. LearnとUnlearnをしよう 3. 過去のUnlearn体験 4. Unlearnを促そう 5. まとめ 8
Slide 9
Slide 9 text
教育・普及の過程でのあるある 9 x年前の私 今の私 ○○○はAです ○○○はBです
Slide 10
Slide 10 text
Learn & Unlearn をしている(つもり)
Slide 11
Slide 11 text
Unlearn(アンラーン) ◼ 意味 ⚫ 得意技を捨てること、成功体験に溺れないこと via 『仕事のアンラーニング』 ⚫ 過去の学びを手放す行為 via 『リフレクション』 ◼ 言い換え ⚫ 学びほぐし、脱学習、学習棄却、学び直し、知の断捨離 など
Slide 12
Slide 12 text
本セッションにおける “Unlearn” 12 “過去の成功体験に溺れない”に絞らず、 常識と思っていること、既に学んだ(学んでしまった)ことを 改めて考え直してみること とします。 ※これは厳密には、狭義の、Unlearnではない。 ただしここではテスト自動化をうまくやるための考え方を端的に表す「キャッチーなワード」として、 語義を広く解釈して用いることにする。
Slide 13
Slide 13 text
我々はまだ溺れるほど成功していない・・・ 13 57% 60% 60% 56% 56.3% 53.4% 39% 35% 37% 42% 38.4% 42.4% 4% 5% 3% 2% 5.4% 4.2% 0% 10% 20% 30% 40% 50% 60% 70% 2015 2017 2017-2 2018 2019 2020 Q4. システムテスト自動化はうまくいっていますか? a. 多くの/深刻な問題がある b. 小さな問題がある c. うまくいっている STAC2020アンケート集計結果より
Slide 14
Slide 14 text
14 さておき
Slide 15
Slide 15 text
再掲:普段(チームで)やっていること 15 ◼ 社内のエンジニアの教育やサポート ⚫ 各現場への技術的なQ&A対応やトラブルシュート ⚫ 研修を開く ◼ 他社さんからのテスト自動化の相談にのる、お手伝いをする ⚫ ヒアリングや自動化デモ、コンサルテーションなどなど テスト自動化を「うまくやる」ためのお手伝いを行っている人 です
Slide 16
Slide 16 text
テスト自動化を組織でうまくやるための壁 16 壁1 始められない 壁2 続かない 壁3 広がらない
Slide 17
Slide 17 text
壁を越えるにはUnlearnが必要になる 17 x年前の私 今の私 ○○○はAです ○○○はBです 通用しない Unlearn Learn Learn
Slide 18
Slide 18 text
壁になる要素 18 ◼ 技術の進歩や新しいツールの登場などにより、アップデートされやすい ◼ 常にキャッチアップ=LearnやUnlearnが必要、という共通認識が既にある ⚫ Java+Seleniumが出来ればテスト自動化は一生OK、と思っている人はいない テスト自動化スキル ◼ 能動的にUnlearnしていく必要がある テスト自動化に対する考え方
Slide 19
Slide 19 text
身近な例:キャプチャーリプレイ 19 ◼ 昔 ⚫ “キャプチャーリプレイはテスト自動化ではない” via 『システムテスト自動化標準ガイド』 P35 ◼ 今 ⚫ AutoHealing機能を持つテスト自動化ツールにより、 キャプチャーリプレイによるテスト自動化が可能に ※これをキャプチャーリプレイと呼ぶかどうかについてはここでは議論しない
Slide 20
Slide 20 text
目次 1. 自己紹介 2. LearnとUnlearnをしよう 3. 過去のUnlearn体験 4. Unlearnを促そう 5. まとめ 20
Slide 21
Slide 21 text
壁になる要素 21 ◼ 技術の進歩や新しいツールの登場などにより、アップデートされやすい ◼ 常にキャッチアップ=LearnやUnlearnが必要、という共通認識が既にある ⚫ Java+Seleniumが出来ればテスト自動化は一生OK、と思っている人はいない テスト自動化スキル ◼ 能動的にUnlearnしていく必要がある テスト自動化に対する考え方
Slide 22
Slide 22 text
始められない・続かない原因になっている考え方 22 例1 テスト自動化は3回やれば元がとれる 例2 テスト自動化の目的はコスト削減 例3 「テスト自動化プロジェクト」を成功させる
Slide 23
Slide 23 text
懺悔:言ってました 23 x年前の私 • 3回やれば元が取れるらしいですよ • コスト削減に繋がりますよ • テスト自動化を3ヶ月後には成功させましょう!
Slide 24
Slide 24 text
Learn & Unlearn しました
Slide 25
Slide 25 text
例1:テスト自動化は3回やれば元がとれる 25 ◼ 思っていたこと ⚫ 1回10人日の手動テストを自動化すると5人日にできる 自動化するのに15人日かかるから、4回め以降は得!という計算 ◼ ところが実際は ⚫ 試算をしても3回で元が取れなかった ⚫ 「2年かかる」という試算結果が出ることも(実話) ⚫ 実際に自動化してみたところ、初期の自動化や自動テストの運用に手間がかかり、 試算通りには元が取れない ⚫ かつ、一度大掛かりに自動化を始めてしまうと「止める」決断がしづらく、 楽にならないままズルズル自動化が続いてしまうことも(実話)
Slide 26
Slide 26 text
例2:テスト自動化の目的はコスト削減 26 ◼ 思っていたこと ⚫ テストを自動化することでコストが減らせる ⚫ テスターの人数を減らせる、など ◼ ところが実際は ⚫ テスターが減ったがテスト自動化エンジニアが増えた ⚫ 「自動化したんだから」と人を減らした結果、残った人の仕事が増えた(実話) ⚫ 「コスト」の指す範囲があいまいで、数字のマジックでしかなかった ⚫ テスト実行のコストが減ったが、しわ寄せが別に(実話) ※コスト削減に絶対つながらない、と言いたいわけではなく、 安易に/よく考えずに「テストを自動化すればコスト削減できる」と思うのがNG、の意
Slide 27
Slide 27 text
例3:「テスト自動化プロジェクト」を成功させる 27 ◼ 思っていたこと ⚫ 設定した期限までに一定量のテスト自動化をすれば成功 ⚫ テスト会社視点では「期日までに指定された自動テストを納めて完了」 ◼ ところが実際は ⚫ テスト自動化に「終わり」は無い ⚫ 作って納めても、その後活用されないままになってしまった(実話)
Slide 28
Slide 28 text
今はこう言ってます 28 今の私 • 実行コストの削減以外の効果がありますよ • テスト自動化はずっと続けるものですよ
Slide 29
Slide 29 text
目次 1. 自己紹介 2. LearnとUnlearnをしよう 3. 過去のUnlearn体験 4. Unlearnを促そう 5. まとめ 29
Slide 30
Slide 30 text
個人のUnlearnだけではテスト自動化はうまくいかない 30 ◼ もしテスト自動化が得意な個人が居ればうまくいくなら、 皆さんの組織ではテスト自動化が既にうまくいっているはず ⚫ 土曜にSTAC2021に参加するような方は、Unlearnを自然にやっているのでは ◼ テスト自動化は一人ではできない ⚫ 主担当者に任せておけば組織でテスト自動化が進む、は間違い ⚫ テスト自動化は組織の文化
Slide 31
Slide 31 text
みんなで壁を越える 31 通用しない Unlearn Learn Learn
Slide 32
Slide 32 text
参考:文化を変えるには 32 引用:テスト自動化の理論と技術と戦略:LINE Developer Meetup Tokyo #39 – Testing & Engineering
Slide 33
Slide 33 text
みんなで壁を越えるために 33 ◼ 手段の目的化や硬直化があった場合は、それを解きほぐす ◼ テスト自動化に関して、さまざまな情報や知見を提供する LearnとUnlearnを促す ことが大事
Slide 34
Slide 34 text
①問いを投げかける 34 ◼ 削減したい“コスト”は何コスト? →目的の明確化 ◼ 今かかっている費用もしくはコストはどのくらい? →現状把握 答えられない、という場合もある。 「自分たちがやりたかったこととは・・・」と 改めて考え直すきっかけにもなる。
Slide 35
Slide 35 text
②実体験や、外部の事例を伝える 35 ◼ 別プロジェクトではこうでしたよ ◼ 自動化カンファレンスでこんな話がありましたよ 視点を変える、ずらす。 自分たちとは異なる背景・状況における情報から、 ヒントを得る。
Slide 36
Slide 36 text
目次 1. 自己紹介 2. LearnとUnlearnをしよう 3. 過去のUnlearn体験 4. Unlearnを促そう 5. まとめ 36
Slide 37
Slide 37 text
まとめ 37 ◼ テスト自動化で壁を越えるためにはUnlearnが要る ⚫ 個人でも、組織でも ◼ 今日お集まりの皆さんは自身のLearn&Unlearnはできると思うので、 ぜひ周囲のUnlearnを促してください ⚫ テスト自動化が更に(スムーズに)広まるはず
Slide 38
Slide 38 text
参考:アンラーンについての書籍 38 ◼ 仕事のアンラーニング 働き方を学びほぐす ⚫ 松尾睦 著 ◼ まなびほぐしのデザイン ⚫ 苅宿俊文, 佐伯胖, 高木光太郎 著 ◼ リフレクション 自分とチームの成長を加速させる内省の技術 ⚫ 熊平美香 著
Slide 39
Slide 39 text
参考:アンラーンについての記事や資料 39 ◼ アジャイルとUnlearn(まなびほぐし、脱学習、学習棄却)について の覚書:野中郁次郎、鶴見俊輔、あるいはヨーダ ⚫ https://ky-yk-d.hatenablog.com/entry/2018/11/18/204320 ◼ 最近気になる「アンラーニング(学習棄却)」の話とか ⚫ https://kdnakt.hatenablog.com/entry/2018/02/08/070000 ◼ 学習する/Unlearnするチームへ #RSGT2019 / Learning and Unlearning Team ⚫ https://speakerdeck.com/takaking22/learning-and-unlearning-team
Slide 40
Slide 40 text
ありがとうございました 質問・感想・ご意見などあれば以下までお願いします ☺ ◼ e-mail: yoshikiito.elあっとgmail.com ◼ Twitter: @yoshikiito
Slide 41
Slide 41 text
41 Appendix
Slide 42
Slide 42 text
テスト自動化がうまくいっている/いないの(私の)捉え方 42 ◼ うまくいっている、とは ⚫ 品質向上や自分たちのビジネスの成長に、 テスト自動化が役に立っている実感が持てている ◼ うまくいっていない、とは ⚫ 始められなかった ⚫ 始めたが、やめてしまった ⚫ 続いているが、品質や自分たちのビジネスの成長に寄与していない
Slide 43
Slide 43 text
ベストプラクティスやアンチパターンは多数語られている 43 ◼ ギア本 ◼ A Journey through Test Automation Patterns ◼ JSTQB テスト自動化エンジニアシラバス ◼ EXPERIENCES of TEST AUTOMATION などの書籍や資料