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
[完全版] あなたが自動テストを行う目的は何ですか? / 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
810
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)
TestingOsaka6_Ozono
o3
0
470
なぜ人はE2E自動テストの継続に失敗するのか / Why we could not continue the E2E automation testing
o3
4
2.9k
SETを約10年やってみたけど質問ある? / Any Questions about my 10 years SET career?
o3
0
1.7k
これからのCI、これからのE2E自動テスト / The future of CI, the future of E2E automation testing
o3
2
1k
testlab2_introduction.pdf
o3
0
350
てすらぼ#1 / Introduction for autotest-lab #1
o3
0
690
Other Decks in Programming
See All in Programming
Snowflake Summitでの新機能 CoCo / CoWork / snowflake-summit-2026-overall-what-new-coco
tatsuhiro
1
220
言語を使う側から、作る側へ。 自作 Lisp で得た新たな気づき。
andpad
0
110
Creating Composable Callables in Contemporary C++
rollbear
0
200
symfony/aiとlaravel/boost
77web
0
120
AI時代の仕事技芸論〜ソフトウェア開発で「遊ぶように働く」職人的熟達のすすめ(スクフェス仙台 2026バージョン)
kuranuki
0
610
Contextとはなにか
chiroruxx
1
390
霧の中の代数的エフェクト
funnyycat
1
340
Vue × Nuxt × Oxc どこまで使える?実運用の現在地
andpad
0
370
【やさしく解説 設計編・中級 #6】良いアーキテクチャとは ~ 一本の登り道の、行き先 ~
panda728
PRO
0
140
LaravelLive Japan の裏方のすべて — 第188回 PHP勉強会@東京 (2026-06-24)
suguruooki
2
150
1B+ /day規模のログを管理する技術
broadleaf
0
130
AIエージェントで 変わるAndroid開発環境
takahirom
2
490
Featured
See All Featured
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.4k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.6k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
220
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.7k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
220
Everyday Curiosity
cassininazir
0
250
A Soul's Torment
seathinner
6
3.1k
Discover your Explorer Soul
emna__ayadi
2
1.2k
WCS-LA-2024
lcolladotor
0
680
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にでも⾃動で作っちゃおう
最後に
ご清聴ありがとうございました!