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
テスト自動化チームで ペアプロにトライした話 2019/6/13 伊藤由貴(@yoshikiito)
Slide 2
Slide 2 text
自己紹介 伊藤由貴(@yoshikiito) 株式会社ベリサーブで テスト自動化エヴァンジェリスト的なお仕事。 ・教育、研修 ・社内外の知見の蓄積、共有を活性化 ・技術調査 などなど JaSST東北実行委員。 2
Slide 3
Slide 3 text
今回のお話について 概要 • テスト自動化チームのペアプロによる学びをシェア • まとまった期間の知見ではなく、単発のお話 • 同じような経験がある方ぜひお話し聞かせてください 3
Slide 4
Slide 4 text
参考:ペアプログラミング • ペアでプログラミングすること • 指示を出す「オペレーター」と、実際にコードを書く「ドラ イバー」の2つの役割があり、これらを入れ替えながら開発を 進める 4
Slide 5
Slide 5 text
目次 1. 自己紹介と前説 2. ペアプロにトライした背景 3. やったこと ① 事前の準備など ② 本番 ③ 実施後 4. ペアプロの効果と反省点 5. まとめ 5
Slide 6
Slide 6 text
目次 1. 自己紹介と前説 2. ペアプロにトライした背景 3. やったこと ① 事前の準備など ② 本番 ③ 実施後 4. ペアプロの効果と反省点 5. まとめ 6
Slide 7
Slide 7 text
チームと業務について テスト自動化チーム • 約10名(月1, 2名ずつJoin)でSelenium+Javaで自動化 • テスト自動化経験はバラバラ • テスト自動化に慣れた人もいれば、テストに詳しいけど 自動化はあまり経験ない、という人も 業務内容 • 自動テスト手順に基づき、コーディング • メンバー間で相互にコードレビュー 7
Slide 8
Slide 8 text
補足:自動テスト手順 • テスターさんにはおなじみExcelのテスト手順を 自動化向けに詳細に書いたもの 8 ID 機能 手順 期待結果 備考 ABC-001 機能A 1. ほげほげ 2. ふーばー ***である こと ABC-002 : : : ABC-003 : : : ABC-004 : : :
Slide 9
Slide 9 text
困りごと • 自動テストコードの質に個人差がある • コーディング規約はあるものの、規約以外の部分で 書き方がばらける • 共通クラスにメソッドがあるのに独自実装する • コードレビューでの指摘件数が多い • レビューも修正も工数がかかる • 「よりよくするには」といった建設的な指摘ではなく、 重複の指摘や書き方の指摘など本質的でない指摘が多い 9
Slide 10
Slide 10 text
(一応)やっていた対策 • CheckStyleで規約違反を検出 • SpotBugsで冗長な処理や明らかな問題の検出 ただ、上記対策では見つけられない問題もある • 無駄な待機 • 処理の重複 • ロケータが変 • 少しでも条件が変わったらNo such elementになるような 書き方(!) 10
Slide 11
Slide 11 text
結果・・・ 指摘をされると気分も良くないし、 対応する時間もかかる ↓ 仕事がなかなか進まず、残業して疲れる ↓ 些末なミスが増える ↓ コードレビューで指摘をうける ↓ : 11 止めたい
Slide 12
Slide 12 text
そうだ、ペアプロしよう!
Slide 13
Slide 13 text
ペアプロに期待したこと • コードレビュー時の指摘件数が減ること • 修正工数削減 • 気分↑ • チーム全体の作業品質向上 • 開発のプラクティスに関心を持ってくれること 13
Slide 14
Slide 14 text
目次 1. 自己紹介と前説 2. ペアプロにトライした背景 3. やったこと ① 事前の準備など ② 本番 ③ 実施後 4. ペアプロの効果と反省点 5. まとめ 14
Slide 15
Slide 15 text
事前の準備など そもそも「ペアプロとは」の説明 • メンバーはペアプロが初耳だったため。 • 特に「心理的安全性大事に!」を強調した。 人と場所と時間の確保 • ペアの選定 • 会議室の確保 • 1週間程度前から時間の確保 • ペアプロ本番時の説明用資料作成 15
Slide 16
Slide 16 text
本番 参加者 • 伊藤が進行役 • 実際に手を動かすペア • 次の進行役になってほしい後輩もオブザーバー参加 流れ • ペアプロのルール説明 • やることリストの提示(ブランチ切って、**書いて・・・) • 30分コーディング→役割交代してもう30分 16
Slide 17
Slide 17 text
実施後 ヒアリング実施 • 実際やってみてどうだったかを、ペアの2名にヒアリング • 「時間が短かった」 • 「インフラ面が難しい」(※後述) • 「楽しい」 2回目実施へ • チーム内の別のペアで再度実施 • 初回ペアにヒアリングした結果を踏まえて一部改善 17
Slide 18
Slide 18 text
目次 1. 自己紹介と前説 2. ペアプロにトライした背景 3. やったこと ① 事前の準備など ② 本番 ③ 実施後 4. ペアプロの効果と反省点 5. まとめ 18
Slide 19
Slide 19 text
ペアプロの効果と反省点 効果 • ペアプロの場でナレッジ共有が進んだ • 効率のよいコードの書き方 • IDEのショートカット操作 etc… • メンバーが「ペア作業する」発想を得た • 「この実装大変そうだからペアでやってみない?」と椅子持って ペア作業が発生 • やろうと言った側からするととてもうれしい変化 19
Slide 20
Slide 20 text
ペアプロの効果と反省点 反省点 • インフラ面でテスト自動化のペアプロが難しかった • テスト手順・ブラウザ・IDEで3画面ほしいが、 ペアプロ時はPCとプロジェクタの2画面しかない • 待ちの時間が多い • 「実行して動くのを眺める時間」が発生するため、 ペア作業ではもったいなく感じられる • 効果を定量的に出せていない • 言い出しっぺの自分が異動したことなどから、 当初の課題だったレビューの件数や割合などを 継続的に終えていないのが無念 20
Slide 21
Slide 21 text
目次 1. 自己紹介と前説 2. ペアプロにトライした背景 3. やったこと ① 事前の準備など ② 本番 ③ 実施後 4. ペアプロの効果と反省点 5. まとめ 21
Slide 22
Slide 22 text
まとめ • テスト自動化(特にGUI動かすE2E)だと、ペアプロ がきつい部分もある • 実際にやってみるとメンバーの行動がポジティブに 変化した • (データ取って変化を追うまでできなかったが) ペアプロをやる価値はありそう 22
Slide 23
Slide 23 text
以上、 ありがとうございました ツッコミ・質問は、 ぜひ個別にお声がけください☺