Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
テスト自動化チームでペアプロにトライした話 / trying to pair programm...
Search
YoshikiIto
June 13, 2019
Technology
0
970
テスト自動化チームでペアプロにトライした話 / trying to pair programming on test automation team
YoshikiIto
June 13, 2019
Tweet
Share
More Decks by YoshikiIto
See All by YoshikiIto
アーキテクチャで理解する テスト自動化システム Developers Summit 2023 Summer
yoshikiito
6
6.7k
迷いながらも前に進むための テスト自動化ツールの選定ポイント
yoshikiito
2
720
60分で学ぶE2Eテスト(テスト設計編)
yoshikiito
0
430
ソフトウェアテスト自動化、一歩前へ
yoshikiito
7
2.8k
テストエンジニアのための初めてのプログラミング
yoshikiito
0
580
テスト自動化Learn&Unlearn
yoshikiito
0
3.7k
テスト自動化プロジェクトを支える技術と仕組み
yoshikiito
2
3.3k
テスト自動化とお掃除ロボット
yoshikiito
0
4.3k
抜け出そう、テスト自動化あるある
yoshikiito
4
6.1k
Other Decks in Technology
See All in Technology
20250328_RubyKaigiで出会い鯛_____RubyKaigiから始まったはじめてのOSSコントリビュート.pdf
mterada1228
0
170
お問い合わせ対応の改善取り組みとその進め方
masartz
1
370
職種に名前が付く、ということ/The fact that a job title has a name
bitkey
1
250
OPENLOGI Company Profile
hr01
0
61k
SpannerとAurora DSQLの同時実行制御の違いに想いを馳せる
masakikato5
0
570
日本MySQLユーザ会ができるまで / making MyNA
tmtms
1
370
ISUCONにPHPで挑み続けてできるようになっ(てき)たこと / phperkaigi2025
blue_goheimochi
0
140
Dapr For Java Developers SouJava 25
salaboy
1
130
スケールアップ企業のQA組織のバリューを最大限に引き出すための取り組み
tarappo
4
960
Medmain FACTBOOK
akinaootani
0
110
技術好きなエンジニアが _リーダーへの進化_ によって得たものと失ったもの / The Gains and Losses of a Tech-Enthusiast Engineer’s “Evolution into Leadership”
kaminashi
0
210
Amazon EKS Auto ModeでKubernetesの運用をシンプルにする
sshota0809
0
110
Featured
See All Featured
Raft: Consensus for Rubyists
vanstee
137
6.9k
Building an army of robots
kneath
304
45k
4 Signs Your Business is Dying
shpigford
183
22k
RailsConf 2023
tenderlove
29
1k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
12
610
The Cost Of JavaScript in 2023
addyosmani
48
7.6k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
22
2.6k
Thoughts on Productivity
jonyablonski
69
4.5k
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
Into the Great Unknown - MozCon
thekraken
36
1.7k
Transcript
テスト自動化チームで ペアプロにトライした話 2019/6/13 伊藤由貴(@yoshikiito)
自己紹介 伊藤由貴(@yoshikiito) 株式会社ベリサーブで テスト自動化エヴァンジェリスト的なお仕事。 ・教育、研修 ・社内外の知見の蓄積、共有を活性化 ・技術調査 などなど JaSST東北実行委員。 2
今回のお話について 概要 • テスト自動化チームのペアプロによる学びをシェア • まとまった期間の知見ではなく、単発のお話 • 同じような経験がある方ぜひお話し聞かせてください 3
参考:ペアプログラミング • ペアでプログラミングすること • 指示を出す「オペレーター」と、実際にコードを書く「ドラ イバー」の2つの役割があり、これらを入れ替えながら開発を 進める 4
目次 1. 自己紹介と前説 2. ペアプロにトライした背景 3. やったこと ① 事前の準備など ②
本番 ③ 実施後 4. ペアプロの効果と反省点 5. まとめ 5
目次 1. 自己紹介と前説 2. ペアプロにトライした背景 3. やったこと ① 事前の準備など ②
本番 ③ 実施後 4. ペアプロの効果と反省点 5. まとめ 6
チームと業務について テスト自動化チーム • 約10名(月1, 2名ずつJoin)でSelenium+Javaで自動化 • テスト自動化経験はバラバラ • テスト自動化に慣れた人もいれば、テストに詳しいけど 自動化はあまり経験ない、という人も
業務内容 • 自動テスト手順に基づき、コーディング • メンバー間で相互にコードレビュー 7
補足:自動テスト手順 • テスターさんにはおなじみExcelのテスト手順を 自動化向けに詳細に書いたもの 8 ID 機能 手順 期待結果 備考
ABC-001 機能A 1. ほげほげ 2. ふーばー ***である こと ABC-002 : : : ABC-003 : : : ABC-004 : : :
困りごと • 自動テストコードの質に個人差がある • コーディング規約はあるものの、規約以外の部分で 書き方がばらける • 共通クラスにメソッドがあるのに独自実装する • コードレビューでの指摘件数が多い
• レビューも修正も工数がかかる • 「よりよくするには」といった建設的な指摘ではなく、 重複の指摘や書き方の指摘など本質的でない指摘が多い 9
(一応)やっていた対策 • CheckStyleで規約違反を検出 • SpotBugsで冗長な処理や明らかな問題の検出 ただ、上記対策では見つけられない問題もある • 無駄な待機 • 処理の重複
• ロケータが変 • 少しでも条件が変わったらNo such elementになるような 書き方(!) 10
結果・・・ 指摘をされると気分も良くないし、 対応する時間もかかる ↓ 仕事がなかなか進まず、残業して疲れる ↓ 些末なミスが増える ↓ コードレビューで指摘をうける ↓
: 11 止めたい
そうだ、ペアプロしよう!
ペアプロに期待したこと • コードレビュー時の指摘件数が減ること • 修正工数削減 • 気分↑ • チーム全体の作業品質向上 •
開発のプラクティスに関心を持ってくれること 13
目次 1. 自己紹介と前説 2. ペアプロにトライした背景 3. やったこと ① 事前の準備など ②
本番 ③ 実施後 4. ペアプロの効果と反省点 5. まとめ 14
事前の準備など そもそも「ペアプロとは」の説明 • メンバーはペアプロが初耳だったため。 • 特に「心理的安全性大事に!」を強調した。 人と場所と時間の確保 • ペアの選定 •
会議室の確保 • 1週間程度前から時間の確保 • ペアプロ本番時の説明用資料作成 15
本番 参加者 • 伊藤が進行役 • 実際に手を動かすペア • 次の進行役になってほしい後輩もオブザーバー参加 流れ •
ペアプロのルール説明 • やることリストの提示(ブランチ切って、**書いて・・・) • 30分コーディング→役割交代してもう30分 16
実施後 ヒアリング実施 • 実際やってみてどうだったかを、ペアの2名にヒアリング • 「時間が短かった」 • 「インフラ面が難しい」(※後述) • 「楽しい」
2回目実施へ • チーム内の別のペアで再度実施 • 初回ペアにヒアリングした結果を踏まえて一部改善 17
目次 1. 自己紹介と前説 2. ペアプロにトライした背景 3. やったこと ① 事前の準備など ②
本番 ③ 実施後 4. ペアプロの効果と反省点 5. まとめ 18
ペアプロの効果と反省点 効果 • ペアプロの場でナレッジ共有が進んだ • 効率のよいコードの書き方 • IDEのショートカット操作 etc… •
メンバーが「ペア作業する」発想を得た • 「この実装大変そうだからペアでやってみない?」と椅子持って ペア作業が発生 • やろうと言った側からするととてもうれしい変化 19
ペアプロの効果と反省点 反省点 • インフラ面でテスト自動化のペアプロが難しかった • テスト手順・ブラウザ・IDEで3画面ほしいが、 ペアプロ時はPCとプロジェクタの2画面しかない • 待ちの時間が多い •
「実行して動くのを眺める時間」が発生するため、 ペア作業ではもったいなく感じられる • 効果を定量的に出せていない • 言い出しっぺの自分が異動したことなどから、 当初の課題だったレビューの件数や割合などを 継続的に終えていないのが無念 20
目次 1. 自己紹介と前説 2. ペアプロにトライした背景 3. やったこと ① 事前の準備など ②
本番 ③ 実施後 4. ペアプロの効果と反省点 5. まとめ 21
まとめ • テスト自動化(特にGUI動かすE2E)だと、ペアプロ がきつい部分もある • 実際にやってみるとメンバーの行動がポジティブに 変化した • (データ取って変化を追うまでできなかったが) ペアプロをやる価値はありそう
22
以上、 ありがとうございました ツッコミ・質問は、 ぜひ個別にお声がけください☺