Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
ソフトウェアエンジニアと共にテストを作るチームでの、テストエンジニアの関わり方/ques14
Search
i_echiuyan
November 15, 2019
Technology
3.4k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ソフトウェアエンジニアと共にテストを作るチームでの、テストエンジニアの関わり方/ques14
当日の発表資料です!
i_echiuyan
November 15, 2019
More Decks by i_echiuyan
See All by i_echiuyan
WACATEWACATE流、セッションのつくりかた/wacate2019winter
i_echiuyan
0
530
SPEEDA開発におけるテストエンジニアのいろはにほへと/SPEEDA-Testing-Day
i_echiuyan
1
690
【WACATE再演】組み込みマニュアルテスターだった私が、Web系自動テストエンジニアに!?💦テストエンジニアに求められるスキルと今後のキャリア💪/Agile QA Night!! 2
i_echiuyan
0
1.7k
組み込みマニュアルテスターだった私が、Web系自動テストエンジニアに!?💦テストエンジニアに求められるスキルと今後のキャリア💪/WACATE2018winter
i_echiuyan
0
1.9k
コミュニケーションで大事なことは「伝わったこと」/wacate2017winter
i_echiuyan
0
79
マインドマップミニ講座のワーク参加報告/2016presentation
i_echiuyan
0
61
テスト設計技法の説明 -思い出してみよう-/wacate2016summer
i_echiuyan
0
240
Other Decks in Technology
See All in Technology
1つのリクエストを追って理解する - llm-dのP/D分離
akhino
1
160
Gemini Intelligence 入門 ― AppFunctions と Gemini Nano
takuroabe
0
250
ストレスなくAIと付き合いたい!こんなときどうしてる?
namiki64
3
520
Local CI × GitHub Actions
gogutan
2
190
Optunaの最新リリースv5.0について
pfn
PRO
0
120
SAENM ~Jupyterで残すPoCの試行錯誤、未来の自分と仲間を助ける記録!~
terapyon
0
110
Conditional PED-ANOVA: Hyperparameter Importance in Hierarchical & Dynamic Search Spaces
pfn
PRO
0
130
会社説明資料
persolserverworks
0
9.8k
Active Record Connection Adaptersにおける長年の課題に再び取り組む
yahonda
0
150
大型犬好きによるPugの紹介
yamanoku
1
160
NDIでApple Vision Proにリアルタイム映像送信
jyouryuusui
0
120
"優秀な誰か"の下位互換にならないために
yut0naga1_fa
1
1.8k
Featured
See All Featured
The Mindset for Success: Future Career Progression
greggifford
PRO
0
540
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
330
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
430
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
730
A Soul's Torment
seathinner
8
3.8k
Facilitating Awesome Meetings
lara
57
7.2k
Product Roadmaps are Hard
iamctodd
55
13k
[RailsConf 2023] Rails as a piece of cake
palkan
59
7.1k
brightonSEO & MeasureFest 2025 - Winning Strategies for Black Friday CRO & PPC - Christian Goodrich
cargoodrich
3
870
The Curious Case for Waylosing
cassininazir
1
570
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
1
750
Design in an AI World
tapps
1
350
Transcript
ソフトウェアエンジニアと共に テストを作るチームでの、 テストエンジニアの関わり方 2019/11/15 第14回Ques Agile Testの今 株式会社ユーザベース 越中谷 郁美
もくじ • 自己紹介 • 開発チームの体制 • プロジェクトチーム内での、テストエンジニアの役割 • Product Teamでの、テストエンジニアの役割
• 苦労したこと • 今後やっていきたいこと 2 2019/11/15 第14回Ques
自己紹介 3 2019/11/15 第14回Ques
名前 越中谷 郁美(@i_echiuyan) 所属 株式会社ユーザベース SPEEDA事業 ProductTeam/ProductDevelopmentUnit テストエンジニア コミュニティ活動 JaSST
Tokyo実行委員 WACATE実行委員 Web Service QA Meeting運営 4 2019/11/15 第14回Ques
開発チームの体制 5 2019/11/15 第14回Ques
ユーザベースは、 「経済情報で、世界を変える」をミッションに、 企業・業界情報プラットフォーム「SPEEDA」と、 ソーシャル経済メディア「NewsPicks」などの サービスを運営しています。 6 私はここに所属 2019/11/15 第14回Ques
SPEEDAの開発組織 ProductTeam PD Unit SRE Unit DS Unit Design Unit
7 QAやテストで独立した組織はない 2019/11/15 第14回Ques
SPEEDAの開発組織 ProductTeam PD Unit SRE Unit DS Unit Design Unit
8 では、私(テストエンジニア)はどこに??? 2019/11/15 第14回Ques
SPEEDAの開発組織 ProductTeam PD Unit SRE Unit DS Unit Design Unit
9 2019/11/15 第14回Ques 新規開発のUnitに所属
プロジェクトチーム内 での、 テストエンジニアの 役割 10 2019/11/15 第14回Ques
テストエンジニアは、 プロジェクトのどのタイミングから関わりはじめるのか? 11 2019/11/15 第14回Ques
12 新規プロジェクトが立ち上がり、 チームが動き始める時から参加していく (少人数スタートの場合には入らないことも) チームが発足した直後から インセプション デッキ作成 ストーリ出し 見積もり &
計画 開発 ローンチ (公開) 2019/11/15 第14回Ques
プロジェクトは所属に閉じず、 必要な人(役割)でチームが構成される 13 テストエンジニア SREエンジニア Sales&Marketing ソフトウェアエンジニア CustomerSuccess デザイナー 2019/11/15
第14回Ques
プロジェクトは所属に閉じず、 必要な人(役割)でチームが構成される 14 テストエンジニア SREエンジニア Sales&Marketing ソフトウェアエンジニア CustomerSuccess デザイナー 2019/11/15
第14回Ques ここは日々の業務を共に行う
開発チームの体制 • チームにリーダーは存在しない • 自律的に動くチーム • 日々の業務や打合せの進行は全員が行う ローテーションにするなど特定の人に偏らない工夫 • 5分悩むならわかる人にすぐ聞く
15 2019/11/15 第14回Ques
プロジェクト初期から関ることで • 実装前にバグや抜け漏れを減らせ、仕様を充実させることができる • ストーリー出し(仕様決め)や計画段階で脳内テストする 怪しい所、仕様が足りていない所を洗い出す • 細かいこと言うのでソフトウェアエンジニアには鬱陶しいかもしれない でも気になることは言う •
ただし瞬発力が要るのがちょっとツライ • 一つ一つにかける時間が短く、長考はできない 正直、後から思い出すことも多い 2019/11/15 第14回Ques 16
仕様(ふるまい)= テストケース 「E2E自動テストの自然言語記述が仕様書である」という扱い 仕様が古いまま自動テストを流すとエラーになる ↓ 修正する ↓ 常に更新され最新の状態の仕様書となる 17 2019/11/15
第14回Ques
テストエンジニアも、ソフトウェアエンジニアも テストには関心を持つ 18 2019/11/15 第14回Ques
開発 •1イテレーション1週間ごとのサイクル • プランニング • ストーリーごとの開発 • リリース • 振り返り
19 2019/11/15 第14回Ques
ストーリーごとの開発 1. 着手するストーリーの仕様 (ふるまい)を考える 2. 自動テストを書く 3. 自動テストを実行 4. 実装
5. リリース 20 2019/11/15 第14回Ques
ストーリーごとの開発 1. 着手するストーリーの仕様 (ふるまい)を考える 2. 自動テストを書く 3. 自動テストを実行 4. 実装
5. リリース 21 ソフトウェアエンジニアと ペアまたはモブになって進める ここで実装するストーリーに対する 仕様の認識が合っているか再確認する エラーになるケースはないか? 見落としている条件はないか? 想定したテストケースで本当に充分か? このテストケースでどこまでやるのか? 2019/11/15 第14回Ques
ストーリーごとの開発 1. 着手するストーリーの仕様 (ふるまい)を考える 2. 自動テストを書く 3. 自動テストを実行 4. 実装
5. リリース 22 実装する前にまずはテストケースを書く まずは自然言語で書き、 その後対になるコードを書く 自動テストの自然言語記述が仕様書とい う扱いになるため、 見やすく、かつ的確な内容で書く 2019/11/15 第14回Ques
ストーリーごとの開発 1. 着手するストーリーの仕様 (ふるまい)を考える 2. 自動テストを書く 3. 自動テストを実行 4. 実装
5. リリース 23 作成したテストケースを実行する ここでは、 「期待通りに失敗する」事を確認する 2019/11/15 第14回Ques
ストーリーごとの開発 1. 着手するストーリーの仕様 (ふるまい)を考える 2. 自動テストを書く 3. 自動テストを実行 4. 実装
5. リリース 24 ソフトウェアエンジニアに託す。。。 (と言いつつ、たまーに傍らで見ているときも) 2019/11/15 第14回Ques
ストーリーごとの開発 1. 着手するストーリーの仕様 (ふるまい)を考える 2. 自動テストを書く 3. 自動テストを実行 4. 実装
5. リリース 25 リリースする直前に機能周辺や影響 がありそうな範囲を手動で確認する 探索的にテストする 現状自動テストはブラウザ1種類のみ実装 のため、クロスブラウザでの確認も行う 2019/11/15 第14回Ques
実装より先に自動テストを書けるの??? たとえば・・・ 「Webサイトのトップ画面で お知らせ情報のタイトルから、 詳細情報が見える機能を作ろう」 となった場合 2019/11/15 第14回Ques 26
実装より先に自動テストを書けるの??? たとえば・・・ プロジェクトチームで相談した結果、 「見たいお知らせ情報をクリックすると ポップアップが表示され、 詳細の情報が表示される」ように に実装しようと決めました 2019/11/15 第14回Ques 27
実装より先に自動テストを書けるの??? たとえば・・・ まずは、必要な仕様を考え 日本語で書いていく (Gaugeというツールを Seleniumに連携させて使っている) 2019/11/15 第14回Ques 28
実装より先に自動テストを書けるの??? たとえば・・・ ・トップ画面から ・お知らせ「リリース情報」をクリックすると ・ポップアップが表示される 2019/11/15 第14回Ques 29
実装より先に自動テストを書けるの??? たとえば・・・ 日本語で書いた仕様に対応させて E2Eの自動テストを書いていく (先ほどの例では、 箇条書きごとにStepになる) 「判定する要素を~~の様に実装する」と仮 定してテストケースを実装する 2019/11/15 第14回Ques
30
実装より先に自動テストを書けるの??? たとえば・・・ 実装したテストケースを実行してみて、 エラーが正しく発生する(判定したいと思って いる箇所でエラーが起きる)ことを確認 2019/11/15 第14回Ques 31
自動テストをペアプロ/モブプロで書くこと • レビューが同時に行えている実感がある • 話しているときに抜けに気付くこともある • 意見を聞いてもらえることが嬉しい 2019/11/15 第14回Ques 32
プロジェクトチーム内でのテストエンジニアの役割 ソフトウェアエンジニアが 見えていないところ/把握できていないところを減らすこと、 視界を広げることでサービスの質向上に貢献する事が 一つの役割だと思っている 33 2019/11/15 第14回Ques
Product Teamでの テストエンジニアの 役割 34 2019/11/15 第14回Ques
2つのリリースサイクル 従来機能 • リリースタイミングが週に1回 • ProductTeam全体でリリース 内容を統合して実行する • リリース前のチェックに およそ1.5日
新規機能 • リリースタイミングはいつでも • 各チームごと、自分たちの開発 範囲で1ストーリーごとに実行す ることができる • リリース前チェックは数分から1時 間の間。ストーリーの規模や複 雑性による 35 2019/11/15 第14回Ques
既存機能のリリース • リリースのためのブランチ作成やデプロイはテストエンジニアが実施 • 各チームのリリース内容の把握 36 2019/11/15 第14回Ques
Product チームでのテストエンジニアの役割 • プロジェクトチームを横断した視点を持つ • 他チームの開発に影響しないか? • 他チームの開発が自チームに影響しないか? • テストエンジニアと元QAチーム(新規機能開発以外の第三者検証)
の人達とで情報共有と連携 37 2019/11/15 第14回Ques
苦労したこと 38 2019/11/15 第14回Ques
ロールの掛け持ち テストエンジニアと元QAチーム(新規機能開発以外の第三者検証)の ロールを掛け持ちしていたが、うまくバランスが取れなかった • 直接コミュニケーションを大切にするが故に、その場にいなかった場合に 認知できない・共有されてないという状況があった • 開発チームの業務に集中すると第三者検証のメンバーへのフォローが疎かに • 両方を常に気にしてしまい、集中できない
39 第三者検証をしているメンバーが自己完結できるようになってきたことや テストエンジニアが増えてきているため、一人で抱える必要がなくなった。 現時点ではプロジェクトチームの役割に重点を置き、ある程度集中させて もらう形をとっている。 2019/11/15 第14回Ques
スピード感に追いつけない自分 • 開発経験もなく、プログラミングもほとんど経験なかった自分 • 説明してもらうも、分からない単語多い • ペアプロ・モブプロ時の作業スピード • コード書くペースが違いすぎる。待たせてる…かも…という不安 •
日本語はブラインドタッチで書けるけれど、英語はまだできない 40 分からないことはその場で聞く。 練習&学習 チャレンジする意識を保つ。遠慮しすぎない気持ち。 2019/11/15 第14回Ques
今後 やっていきたいこと 41 2019/11/15 第14回Ques
今後やっていきたいこと • プロジェクトチーム内での関われる範囲をふやす • 今はE2EメインたがAPIの自動テストも理解度を上げる • テスト/実装以外のところ。データの分析など • E2Eテストの拡充 •
クロスブラウザ • 既存機能がまだまだ 42 2019/11/15 第14回Ques
ご清聴ありがとうございましたm(__)m 43 2019/11/15 第14回Ques