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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
O3(ozono)
April 16, 2020
Programming
830
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
4
660
TestingOsaka6_Ozono
o3
0
550
なぜ人はE2E自動テストの継続に失敗するのか / Why we could not continue the E2E automation testing
o3
4
3.1k
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
710
Other Decks in Programming
See All in Programming
設計次第でAIコードの読む量は減らせる / designing-for-code-reading
minodriven
34
16k
機械に任せるテスト、人が見るテスト ⽣成AIで引き直した、運⽤保守フェーズの線引き
dske104
0
170
Agents on Rails - Rails at Scale 2026
irinanazarova
0
520
見えないものを探る要求要件定義に必要な基本的思考 / invisible-requirement-thinking
minodriven
15
8k
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
510
SalesForceを内製化!? ~ HR事業を支える顧客管理基盤のインフラを大公開 ~
oku053
0
160
複雑なUIコンポーネントとの ⻑い付き合い⽅:波及するバグからテスト戦略を経て、安全な再設計へ
mixplace
0
260
残高管理から台帳サービスへの進化
artoy
0
180
AI が書く Go コードの品質を劇的に向上させる Linter: “declscope”
mpyw
0
490
Jetpack Compose Mechanisms
skydoves
2
650
AWSに止められる覚悟してますか?
morizo_1984
2
520
WebRTC映像をAirPlayに対応させる挑戦.pdf
monolithic_adam
0
350
Featured
See All Featured
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
540
Leo the Paperboy
mayatellez
10
2.4k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
300
Unsuck your backbone
ammeep
672
58k
The Limits of Empathy - UXLibs8
cassininazir
2
710
Evolving SEO for Evolving Search Engines
ryanjones
0
310
What's in a price? How to price your products and services
michaelherold
247
13k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
4
1.2k
Six Lessons from altMBA
skipperchong
29
4.5k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.6k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
440
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にでも⾃動で作っちゃおう
最後に
ご清聴ありがとうございました!