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
GeekLive_長期運用_安定リリースのための自動実機テスト__1_.pptx.pdf
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
akatsukinewgrad
May 19, 2022
1.2k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
GeekLive_長期運用_安定リリースのための自動実機テスト__1_.pptx.pdf
akatsukinewgrad
May 19, 2022
More Decks by akatsukinewgrad
See All by akatsukinewgrad
2023/1/25_QAテスター meet up!
akatsukinewgrad
0
180
成果発表資料.pdf
akatsukinewgrad
0
2.2k
広大なフィールドを気持ちよく駆け抜けるための技術.pdf
akatsukinewgrad
0
690
正規表現とReDoS.pdf
akatsukinewgrad
0
670
Unityで大量のオブジェクト_を吹き飛ばしたい.pdf
akatsukinewgrad
0
720
新卒2年目が思う1年目の学び.pdf
akatsukinewgrad
0
650
障害訓練の取り組みについて.pdf
akatsukinewgrad
0
830
7分でわかるアカツキゲームス
akatsukinewgrad
0
680
Bitcoinだけでスマートコントラクト.pdf
akatsukinewgrad
1
1.2k
Featured
See All Featured
Building Adaptive Systems
keathley
44
3.2k
The Language of Interfaces
destraynor
162
27k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
250
The Curious Case for Waylosing
cassininazir
1
510
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
850
Writing Fast Ruby
sferik
630
63k
Practical Orchestrator
shlominoach
192
12k
How STYLIGHT went responsive
nonsquared
100
6.3k
Fashionably flexible responsive web design (full day workshop)
malarkey
409
67k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
810
Chasing Engaging Ingredients in Design
codingconduct
0
320
Transcript
長期運用・安定リリースのた めの自動実機テスト 小山@アカツキ(サーバーサイドエンジニア)
自己紹介 なまえ: 小山竜之介 しごと: いい感じにするエンジニア おかし: たべっ子どうぶつ クライアント QA ×
エンジニアリング 2018/04 2018/09 2019/08 2021/11 サーバー QA × エンジニアリング
話すこと • 長期運用していくとリグレッションテストが大変! • 安定リリースのためには自動テストが必須! • 実機テストでの自動リグレッションテストも大変だけど必須!
長期運用の課題
プロジェクトの目標 10年後も続くプロダクト
長期運用の課題 機能のリリースにはリグレッションテストが不可欠 機能数に比例してリグレッションテスト項目は増加する つまり、機能を開発するたびにリリースにかかるコストは大きくなる 開発 テスト 開発 テスト テスト 開発
テスト テスト 開発 テスト テスト
実機手動リグレッションテスト 実機での手動リグレッションテストは 現在 27機能 6508項目 30人日↑ → コストが高いためバージョンリリースの最後に1度だけ また、回数を増やすことが難しいため1つのバージョンに含まれる機能が多くなる →
価値の提供が遅れる一因に (このバージョンに乗せられないなら次は2ヶ月後 とか) 自動化することで 早期に発見、頻繁に修正(シフトレフト) → 工数削減・素早い開発 早くリリース、頻繁に改善(シフトライト) → ユーザーの満足度向上
リグレッションテスト ✖ 自動テスト ✖ 実機テスト
長期運用とリグレッションテスト ❌ 新しい不具合を発見する ⭕ 今ある機能の劣化を防ぐ リグレッションテストを省略 = 基本機能を損なう重大な欠陥のリスク 機能の数 ≒
リグレッションテストの項目数 ≒ 1回あたりのリリースにかかるコスト 運用が長くなるほどリリースにかかるコストが増える リグレッションテスト(regression testing) ソフトウェアの変更されていない領域で欠陥が混入している、もしくは露呈していることを検出するための、変更 関連のテストの一種。
安定リリースと自動テスト 自動化のメリット・効果 • 実行時のコスト削減 • 実行時の時間短縮 • 実行時の正確性の担保 など 自動化のデメリット・注意点
• 自動化時にコスト • 保守にコスト(変更への追従) • コード通りにしかテストしない など 何度も実行し、内容変更の少ないテストが自動化に向いている(なんでも自動化すればいいってもんでもない ) → リグレッションテスト また、人的リソース・時間を考慮しなくて良くなるので早期に何度でも実行できる → 問題を早期発見し手戻りを防げる 自動化することでコストを減らし安定したリリースが可能になる
実機テストと自動テスト 単体・統合テストは機能実装と同時にテストコードが書かれ、都度自 動実行される(ことが多い) 実機テストの自動化はコストが高く、速度も遅い (なんでも自動化すればいいってもんでもない ) 自動化に向いているテスト内容に絞って取り組む必要がある 実機(End to End)テスト
アプリのフローを最初から最後までテストする(ユーザー⇄スマートフォン⇄サーバー) システム全体の統合とデータの整合性を検証する(クライアント・サーバー・マスター) 単体テスト 統合テスト 実機 手動テスト 自動テストの効率的な比率 費用: 高い 速度: 遅い 費用: 安い 速度: 早い
ちょっとだけ技術的な話
ゲームの難しいところ ボタンやテキストを取得したい! でも出力されるのはレンダリングエンジンによって描画されたただのピクセル (要素をツリーから選択 みたいなことはできない) →画像認識ベースになる(遅い、動きに弱い…)
CIに組み込む ビルドするよ テストするよ 通知するよ シンプル!! でも意外と考えること多い(実行環境、連携方法、セキュリティ・・・)
まとめ
まとめ • 長期運用していくとリグレッションテストが大変! • 安定リリースのためには自動テストが必須! • 実機テストでの自動リグレッションテストも大変だけど必須!