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
1k
テスト自動化チームでペアプロにトライした話 / 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
7.1k
迷いながらも前に進むための テスト自動化ツールの選定ポイント
yoshikiito
2
780
60分で学ぶE2Eテスト(テスト設計編)
yoshikiito
0
530
ソフトウェアテスト自動化、一歩前へ
yoshikiito
7
3k
テストエンジニアのための初めてのプログラミング
yoshikiito
0
650
テスト自動化Learn&Unlearn
yoshikiito
0
3.8k
テスト自動化プロジェクトを支える技術と仕組み
yoshikiito
2
3.3k
テスト自動化とお掃除ロボット
yoshikiito
0
4.6k
抜け出そう、テスト自動化あるある
yoshikiito
4
6.3k
Other Decks in Technology
See All in Technology
JAWS UG AI/ML #32 Amazon BedrockモデルのライフサイクルとEOL対応/How Amazon Bedrock Model Lifecycle Works
quiver
1
790
abema-trace-sampling-observability-cost-optimization
tetsuya28
0
460
ざっくり学ぶ 『エンジニアリングリーダー 技術組織を育てるリーダーシップと セルフマネジメント』 / 50 minute Engineering Leader
iwashi86
9
4.4k
DMARCは導入したんだけど・・・現場のつぶやき 〜 BIMI?何それ美味しいの?
hirachan
1
150
触れるけど壊れないWordPressの作り方
masakawai
0
650
어떤 개발자가 되고 싶은가?
arawn
1
430
Boxを“使われる場”にする統制と自動化の仕組み
demaecan
0
190
初海外がre:Inventだった人間の感じたこと
tommy0124
1
190
GPUをつかってベクトル検索を扱う手法のお話し~NVIDIA cuVSとCAGRA~
fshuhe
0
380
可観測性は開発環境から、開発環境にもオブザーバビリティ導入のススメ
layerx
PRO
4
2.7k
re:Inventに行くまでにやっておきたいこと
nagisa53
0
1k
Amazon Athena で JSON・Parquet・Iceberg のデータを検索し、性能を比較してみた
shigeruoda
1
300
Featured
See All Featured
Designing for humans not robots
tammielis
254
26k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
54k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.5k
How GitHub (no longer) Works
holman
315
140k
Agile that works and the tools we love
rasmusluckow
331
21k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
2
250
Documentation Writing (for coders)
carmenintech
76
5.1k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.1k
Automating Front-end Workflow
addyosmani
1371
200k
[RailsConf 2023] Rails as a piece of cake
palkan
57
6k
Done Done
chrislema
186
16k
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
以上、 ありがとうございました ツッコミ・質問は、 ぜひ個別にお声がけください☺