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
[完全版] あなたが自動テストを行う目的は何ですか? / what-is-your-purpo...
Search
O3(ozono)
April 16, 2020
Programming
820
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
[完全版] あなたが自動テストを行う目的は何ですか? / what-is-your-purpose-for-performing-automated-tests
O3(ozono)
April 16, 2020
More Decks by O3(ozono)
See All by O3(ozono)
2026_devsumi_ozono.pdf
o3
3
460
TestingOsaka6_Ozono
o3
0
520
なぜ人はE2E自動テストの継続に失敗するのか / Why we could not continue the E2E automation testing
o3
4
3k
SETを約10年やってみたけど質問ある? / Any Questions about my 10 years SET career?
o3
0
1.8k
これからのCI、これからのE2E自動テスト / The future of CI, the future of E2E automation testing
o3
2
1.1k
testlab2_introduction.pdf
o3
0
370
てすらぼ#1 / Introduction for autotest-lab #1
o3
0
700
Other Decks in Programming
See All in Programming
kubernetes コンポーネント開発入門 / 新卒N年目の勉強会&交流会!〜〇〇への誘い〜 #n_study
mazrean
0
220
Swift愛好会と私(ウホーイ) / Swift Fan Club and Uhooi
uhooi
0
150
From 6 People Classroom Meetup to 100 People Regional Conference / FOSS4G Hiroshima 2026
furukawayasuto
0
160
信頼性の目標を誰も求めてない
shubox
0
510
数年滞っていたダークモード対応をおよそ2週間で完了させる
chigichan24
0
700
フロントエンドUIフレームワークのこれまでとこれから
ssssota
5
2.6k
JPUG勉強会 OSSデータベースの内部構造を理解しよう(第2回)
oga5
0
150
Vibes Containers 〜AIで変わるコンテナ設計と運用〜
tkikuc
3
530
iOSDC2026登壇資料.pdf
riofujimon
0
120
更なる可用性を求めて、5年間運用したKotlinのアプリケーションをGoでリプレイスする話
ken_tunc
0
140
Streamlitで実現する自然言語データアプリ開発
ayumu_yamaguchi
0
230
[GoCon2026] When Goroutines Are Not Enough: Runtime Locality in High-Throughput Go
takehaya
6
2.1k
Featured
See All Featured
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
240
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.3k
Building the Perfect Custom Keyboard
takai
2
870
Chasing Engaging Ingredients in Design
codingconduct
0
310
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
330
The Language of Interfaces
destraynor
162
27k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
Marketing to machines
jonoalderson
1
5.8k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
Code Reviewing Like a Champion
maltzj
528
40k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
900
How GitHub (no longer) Works
holman
316
150k
Transcript
[完全版]あなたが⾃動テストを⾏ う⽬的は何ですか? 2020/04/16 Ozono Hiroaki てすらぼ #1
30秒で⾃⼰紹介
なぜこんなことを話そうと思ったか
なぜこんなことを話そうと思ったか https://qiita.com/ozhiro/items/5aa95c6360a8930df325
どんな⼈に向けての話なのか - これから自動テストや りたい人 - 今自動テストやって て悩んでいる人 - 部下に自動テストや らせたい偉い人
どんな⼈に向けての話なのか 上司から「⾃動テストやってみてよ」って丸投 げされたあなた、無⾔でこのスライド(Qiita)の リンクぶん投げてあげてください
注意点 - 自動テスト == E2EのUIテスト。ブラウザやエミュ レーター、実機などをプログラムで操作して行うテ スト として定義しています - こうやって失敗した、という経験のシェアを趣旨とし
ています - 私の所属する組織は開発組織とQA組織が独 立しています - ちゃんと関係者の許可もらってるよ!
導⼊編 自動テストを実装し始 める前に考えておいた 方がいいこと
それは… あなたが⾃動テストを⾏う⽬的はなんですか?
実際に周りで聞いたことがある例 - プログラミングを仕事にしたいから - テスト自動化エンジニアになりたいから - 他ではやってるから - 手動テストのコストを減らしたいから -
手動テスターの負担を減らしたいから
実際に周りで聞いたことがある例 - プログラミングを仕事にしたいから - テスト自動化エンジニアになりたいから - 他ではやってるから - 手動テストのコストを減らしたいから -
手動テスターの負担を減らしたいから キャリア コスト
わたしの場合 当時の上司 キャリア 当時のわたし コスト
共通すること ⾃動テストをすることで プロジェクト・サービスをどう良くしたいのか という観点がない
⼿段の⽬的化 - キャリアに関する観 点は手段の目的化 になっている - 動機としては悪くな いと思う - プロジェクトが利益
を得られるよう、上 司が誘導してあげる べき
⼿段の⽬的化 - 実装を担当する部 下はプログラムを書 くこと自体が楽しくて 楽しくてしょうがない 状態になるかも - 自動化ハイなんてよ く言われます
⼿段の⽬的化 - あなたたちの目的は 自動テストを書くこと ですか?サービスを よくすることでしょ う? - 当時のわたしと当時 の上司に1000回くら
い言ってあげたいで す
コストの削減 ⾃動テストで⼈的コストを削減することは⾄難 のわざです
コストの削減 - 局所的に切り取れ ばいくらでも良く見せ ることは可能 - わたし自身丸4年で 人的コスト減らせ た!という実績はな い
- むしろ増えてる場合 も多い
コストの削減 - コストは増えても別 にいいんです。自動 テストをやる目的が 別であれば - ただし、コスト削減 が目的になっている と…茨の道を通る可
能性が
コストの削減 - UIの自動テスト自 体が一般的にコスト が高いと言われてい る - コストが高いもの(自 動テスト)でコストが 高いもの(手動テス
ト)のコストを削減す る…ハードな匂いが
結果的にどうなったか 見事に燃え尽きた
どうするべきだったのか - 手動テストでカバーできていない部分を自動テストで カバーして、ユーザー体験をよりよくしたい。 - 本番環境で起きるサービスの障害を自動テストでひと つでも減らし、機会損失を減らしたい。 - 開発のライフサイクルを改善するために自動テストを 活用して、エンジニアがもっと仕事しやすい環境を作り
たい。 こんな目的持ってたらどうだったでしょうか?
⾃動テストの守備範囲 開発のため ビジネスのため
ちなみに - 同僚からどうやってコス ト意識から抜け出せた のか?と質問をもらいま した - 外の世界を知った、とい うのが一番大きかったと 思います
- おすすめはこれ https://www.amazon.co.jp/dp/B00IE3B522
次に運⽤編 ⽬的の次に⼤事だと思っていること →いかに⾃動テストを運⽤していくかということ →使⽤する⾔語やソフトウェアはその次でいい
失敗したときどうなるか考えていますか? - 初めての試み、挑戦的 な取り組みに失敗はつ きもの - 大事なのは失敗しない ことではなく、失敗して も大丈夫なように準備 しておくこと(自動テスト
に限った話ではない)
失敗したときどうなるか考えていますか? - 早く成果を出したいから と焦っていませんか? - 精査せずにいきなり自 動テスト書き始めてま せんか? - これが初めてのチャレン
ジなら要注意
失敗したときどうなるか考えていますか? - もしなにも考えずに始 めて失敗してしまった場 合、逆にコストがかかっ たりプロジェクトがうまく 回らなくなったり、といっ た弊害が出ることもあり ます。
失敗したときどうなるか考えていますか? - 逆に言えば、ある程度 リスクを考慮しておけば いいだけの話です。 - 私と同じ失敗をみなさ まがしませんように…
周りの⼈たちを巻き込めていますか? 閉じた場所で、限られた⼈だけで議論をしてい ませんか?
周りの⼈たちを巻き込めていますか? - テスト自動化を組織立 ててやることは、ひとつの サービスを作ることと同 様の大変さがあります。 - 開発チーム or QAチー
ムなどに議論が閉じて しまってはいませんか?
周りの⼈たちを巻き込めていますか? - それなりの実装コストと メンテナンスコストがか かることをプロジェクト全 員から理解を得ましょう - とりあえずやってみたい、 勉強タスクとしてやらせ たい、の結果、儚く消え
ていく例を何度も見て きました…
それ、本当にやる必要ありますか? - 開発エンジニア未経験 から自動テストに取り 組む場合で特に見てき た例 - プログラム勉強したいか らという理由でスクリプト をスクラッチから書こうと
する例をよく見てきまし た。
それ、本当にやる必要ありますか? - それってすでにOSSでな いですか? - それってすでにベンダー さんがサービスとして提 供してないですか? - もちろん様々な理由か
ら自分で作らないとい けないことはあると思い ます
まとめ ⽬的って⼤事
最後に じゃあ今の私の⽬標は?
最後に DX(Developer eXperience)の向上
最後に テスト⾃動化エンジニアがE2Eのテストスクリ プトを書いて、メンテするだけの時代はもう終 わる →それって本当にテスト⾃動化エンジニアみた いな専⾨職必要? →プログラム書かなくてもE2Eのテストできる ツールいっぱいあるんじゃないの?
最後に じゃあテストに関わる部分で、⾃動テストのス クリプトを書くだけじゃなくて、サービス開発 がもっとしやすくなるお⼿伝いしたらどうか な?
最後に Making testable-infrastructure - Motivation - Develop branchにおいて⾃動テストがバグを⾒つけたとしても、 サービス開発者へのフィードバックは早くない -
もうすでにDevelop branchへたくさんのPull requestが取り込まれたあとかも しれない - その場合、どれが影響したのか⾒つけるのが⾟い - そもそもPull request取り込まれたの先週だし内容覚えてない。。 - E2Eテストは環境に依存してしまうケースが多い - 開発環境、QA環境で⾃動テストを⾏なっていると、予期せぬデータの操作・変 更が⾃動テストに影響してしまい、結果⾃動テストが不安定になってしまう
最後に Making testable-infrastructure - Motivation - Develop branchにおいて⾃動テストがバグを⾒つけたとしても、 サービス開発者へのフィードバックは早くない -
もうすでにDevelop branchへたくさんのPull requestが取り込まれたあとかも しれない - その場合、どれが影響したのか⾒つけるのが⾟い - そもそもPull request取り込まれたの先週だし内容覚えてない。。 - E2Eテストは環境に依存してしまうケースが多い - 開発環境、QA環境で⾃動テストを⾏なっていると、予期せぬデータの操作・変 更が⾃動テストに影響してしまい、結果⾃動テストが不安定になってしまう Pull request-drivenでテストできる環境を Kubernetesにでも⾃動で作っちゃおう
最後に
ご清聴ありがとうございました!