Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Toshiyuki Hirata
PPTX, PDF
17,637 views
iOSアプリの自動テストをはじめよう
「iOS Test Night #1」での発表資料です。
Technology
◦
Read more
11
Save
Share
Embed
Embed presentation
Download
Downloaded 26 times
1
/ 21
2
/ 21
3
/ 21
4
/ 21
5
/ 21
6
/ 21
7
/ 21
8
/ 21
9
/ 21
10
/ 21
11
/ 21
12
/ 21
13
/ 21
14
/ 21
15
/ 21
16
/ 21
17
/ 21
18
/ 21
19
/ 21
20
/ 21
21
/ 21
More Related Content
PPTX
DeNAにおけるSWETの役割
by
Toshiyuki Hirata
PPTX
fastlane snapshotの並列実行についてまとめてみた
by
Toshiyuki Hirata
PPTX
Bluepillを使ったiOS自動テストの並列化
by
Toshiyuki Hirata
PPTX
iOSアプリにおけるリリースフローとCI環境
by
Toshiyuki Hirata
PPTX
バージョンアップの対応を軽減するためのサービスの構築
by
Toshiyuki Hirata
PPTX
fastlane x iOSアプリのCI
by
Toshiyuki Hirata
PPTX
iOSアプリ開発のCI環境 - Jenkins編 -
by
Toshiyuki Hirata
PPTX
バージョンアップ対応を軽減するサービス:マスティフ
by
Toshiyuki Hirata
DeNAにおけるSWETの役割
by
Toshiyuki Hirata
fastlane snapshotの並列実行についてまとめてみた
by
Toshiyuki Hirata
Bluepillを使ったiOS自動テストの並列化
by
Toshiyuki Hirata
iOSアプリにおけるリリースフローとCI環境
by
Toshiyuki Hirata
バージョンアップの対応を軽減するためのサービスの構築
by
Toshiyuki Hirata
fastlane x iOSアプリのCI
by
Toshiyuki Hirata
iOSアプリ開発のCI環境 - Jenkins編 -
by
Toshiyuki Hirata
バージョンアップ対応を軽減するサービス:マスティフ
by
Toshiyuki Hirata
What's hot
PPTX
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
by
Toshiyuki Hirata
PPTX
STFとAppiumをもちいたAndroidアプリの自動テスト
by
Toshiyuki Hirata
PPTX
UIテストの実行時間の短縮の方法
by
Toshiyuki Hirata
PPTX
Xcode10での テスト周りの進化をふりかえる
by
Toshiyuki Hirata
PPTX
Dangerでpull requestレビューの指摘事項を減らす
by
Shunsuke Maeda
PPTX
DroidKaigi_devicefarm
by
Shunsuke Maeda
PPTX
Pull request時の画面差分取得の自動化
by
Shunsuke Maeda
PDF
iOSで利用できるデバイスファームのメリット・デメリットの紹介
by
Shunsuke Maeda
PDF
Androidのテストを効率的にするために考えたこと
by
Ataru Osaka
PPTX
Xcodeの管理を楽に - Jenkins編 -
by
Toshiyuki Hirata
PPTX
Androidアプリ開発のテスト環境
by
Toshiyuki Hirata
PPTX
5minQues - SWET近況報告
by
Masaki Nakagawa
PPTX
マスティフ (for Xcode beta) - バージョンアップ対応を軽減するためのサービス
by
Toshiyuki Hirata
PPTX
コードレビューをより良くする Danger x Android
by
Toshiyuki Hirata
PPTX
2017年のiOSアプリ開発におけるCI事情
by
Toshiyuki Hirata
PDF
iOSにおけるコードレビューを一歩先へ進める
by
Shunsuke Maeda
PPTX
JaSST'16 Tokyo モバイルセッション
by
mirer
PDF
20151021 cookpad talk_test_engineer
by
Kazuaki Matsuo
PPTX
Android e2e testing at mercari
by
Vishal Banthia
PPTX
スマホアプリディレクターが考えていること
by
Kazuaki KURIU
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
by
Toshiyuki Hirata
STFとAppiumをもちいたAndroidアプリの自動テスト
by
Toshiyuki Hirata
UIテストの実行時間の短縮の方法
by
Toshiyuki Hirata
Xcode10での テスト周りの進化をふりかえる
by
Toshiyuki Hirata
Dangerでpull requestレビューの指摘事項を減らす
by
Shunsuke Maeda
DroidKaigi_devicefarm
by
Shunsuke Maeda
Pull request時の画面差分取得の自動化
by
Shunsuke Maeda
iOSで利用できるデバイスファームのメリット・デメリットの紹介
by
Shunsuke Maeda
Androidのテストを効率的にするために考えたこと
by
Ataru Osaka
Xcodeの管理を楽に - Jenkins編 -
by
Toshiyuki Hirata
Androidアプリ開発のテスト環境
by
Toshiyuki Hirata
5minQues - SWET近況報告
by
Masaki Nakagawa
マスティフ (for Xcode beta) - バージョンアップ対応を軽減するためのサービス
by
Toshiyuki Hirata
コードレビューをより良くする Danger x Android
by
Toshiyuki Hirata
2017年のiOSアプリ開発におけるCI事情
by
Toshiyuki Hirata
iOSにおけるコードレビューを一歩先へ進める
by
Shunsuke Maeda
JaSST'16 Tokyo モバイルセッション
by
mirer
20151021 cookpad talk_test_engineer
by
Kazuaki Matsuo
Android e2e testing at mercari
by
Vishal Banthia
スマホアプリディレクターが考えていること
by
Kazuaki KURIU
Similar to iOSアプリの自動テストをはじめよう
PDF
第4回勉強会 単体テストのすすめ
by
hakoika-itwg
PPTX
MagicPodで自動化率を爆上げしたハナシ
by
Kohei Tai
PDF
デブサミ2014【13-B-L】テスト自動化を見直そう!自動化への投資が開発チームをクリエイティブにする(安竹由起夫〔コベリティジャパン〕)
by
Developers Summit
PDF
アジャイルソフトウェア開発におけるテスティングの課題およびその解決アプローチ
by
Tetsuya Kouno
KEY
JUnit実践入門 xUnitTestPatternsで学ぶユニットテスト
by
Shuji Watanabe
PDF
市場で勝ち続けるための品質とテストの技術①
by
Yahoo!デベロッパーネットワーク
PDF
まずはできるところから始める UnitTestとテストができる実装について
by
Fumiya Sakai
PDF
【Unite Tokyo 2019】Unity Test Runnerを活用して内部品質を向上しよう
by
UnityTechnologiesJapan002
PPTX
画像認識ベースのUI自動化フレームワークを用いた取り組み
by
Shuhei Furuya
PDF
ぼくのかんがえた iOSテスト戦略
by
Naoki Umehara
PDF
5分で分かるselenium conference berlin 2017
by
Toshiya Komoda
KEY
テスト初心者Androiderのためのソフトウェアテスト入門
by
Satoshi Watanabe
PDF
はこだてIKA 第4回勉強会 単体テスト
by
Seiji KOMATSU
PPTX
Robotium を使った UI テスト
by
Kenichi Tatsuhama
PPTX
【楽天テックカンファ前夜祭2014】誰がテスト自動化をするべきか #rakutentech
by
Kotaro Ogino
PPTX
Continuous delivery chapter4
by
favril1
PDF
異業種でのテスト自動化の実際
by
Satsuki Urayama
PDF
SGT2013 技術トークス「アジャイルテスティング」
by
yasuohosotani
PPTX
JaSST2017_大規模業務システムにおける再利用可能なテスト自動化の取り組み
by
Hideki Sugimoto
PPTX
会社レベルの「テスト自動化普及」ミッションに立ち向かう話
by
naoyuki matsuki
第4回勉強会 単体テストのすすめ
by
hakoika-itwg
MagicPodで自動化率を爆上げしたハナシ
by
Kohei Tai
デブサミ2014【13-B-L】テスト自動化を見直そう!自動化への投資が開発チームをクリエイティブにする(安竹由起夫〔コベリティジャパン〕)
by
Developers Summit
アジャイルソフトウェア開発におけるテスティングの課題およびその解決アプローチ
by
Tetsuya Kouno
JUnit実践入門 xUnitTestPatternsで学ぶユニットテスト
by
Shuji Watanabe
市場で勝ち続けるための品質とテストの技術①
by
Yahoo!デベロッパーネットワーク
まずはできるところから始める UnitTestとテストができる実装について
by
Fumiya Sakai
【Unite Tokyo 2019】Unity Test Runnerを活用して内部品質を向上しよう
by
UnityTechnologiesJapan002
画像認識ベースのUI自動化フレームワークを用いた取り組み
by
Shuhei Furuya
ぼくのかんがえた iOSテスト戦略
by
Naoki Umehara
5分で分かるselenium conference berlin 2017
by
Toshiya Komoda
テスト初心者Androiderのためのソフトウェアテスト入門
by
Satoshi Watanabe
はこだてIKA 第4回勉強会 単体テスト
by
Seiji KOMATSU
Robotium を使った UI テスト
by
Kenichi Tatsuhama
【楽天テックカンファ前夜祭2014】誰がテスト自動化をするべきか #rakutentech
by
Kotaro Ogino
Continuous delivery chapter4
by
favril1
異業種でのテスト自動化の実際
by
Satsuki Urayama
SGT2013 技術トークス「アジャイルテスティング」
by
yasuohosotani
JaSST2017_大規模業務システムにおける再利用可能なテスト自動化の取り組み
by
Hideki Sugimoto
会社レベルの「テスト自動化普及」ミッションに立ち向かう話
by
naoyuki matsuki
More from Toshiyuki Hirata
PDF
iOSにおける自動テストの並列化
by
Toshiyuki Hirata
PDF
UIテストの実行時間を短縮させる方法
by
Toshiyuki Hirata
PDF
レビューのコストを削減するための施策
by
Toshiyuki Hirata
PDF
iOSにおけるパフォーマンス計測
by
Toshiyuki Hirata
PDF
iOSにおけるパフォーマンス計測
by
Toshiyuki Hirata
PDF
我が家のLINEを中心とした情報共有
by
Toshiyuki Hirata
PDF
UIテスト(Espresso)の高速化をさらにすすめる
by
Toshiyuki Hirata
iOSにおける自動テストの並列化
by
Toshiyuki Hirata
UIテストの実行時間を短縮させる方法
by
Toshiyuki Hirata
レビューのコストを削減するための施策
by
Toshiyuki Hirata
iOSにおけるパフォーマンス計測
by
Toshiyuki Hirata
iOSにおけるパフォーマンス計測
by
Toshiyuki Hirata
我が家のLINEを中心とした情報共有
by
Toshiyuki Hirata
UIテスト(Espresso)の高速化をさらにすすめる
by
Toshiyuki Hirata
iOSアプリの自動テストをはじめよう
1.
Copyright © DeNA
Co.,Ltd. All Rights Reserved. iOS Test Night #1 2016/11/18(Fri) 平田敏之@DeNA iOSアプリの自動テストを はじめよう
2.
Copyright © DeNA
Co.,Ltd. All Rights Reserved. 自己紹介 平田 敏之@DeNA ⁃ 経歴 • GWの開発 → ホムペサービスの開発、iOSアプリの開発 → SWET ⁃ SWET(Software Engineer in Test) • 事業サポートチーム / テスト基盤チーム • ミッション ⁃ DeNAサービス全般の品質向上 ⁃ DeNAエンジニアの開発生産性向上 ⁃ 私がやっていること(の一部) • クライアントアプリ周りのテスト戦略、自動テストの開発 • CI/CD環境整備 • テスト基盤環境の開発
3.
Copyright © DeNA
Co.,Ltd. All Rights Reserved. 今日の発表の流れ 本日のプロローグ ⁃ iOS Test Nightを開催した理由 本日のメイン ⁃ iOSの自動テストをはじめるにあたって • 自動テストを書く際におきがちなこと • どうやって自動テストをはじめるか
4.
Copyright © DeNA
Co.,Ltd. All Rights Reserved. iOS Test Nightを開催した理由 iOSにおけるテスト周りに関する情報がまだまだ少ない(と感じている) ⁃ Qiitaのキーワード検索結果(11/18時点) • XCTest: 159 • XCUITest: 10 • EarlGrey: 3 • Espresso: 127 • Appium: 124 • JUnit: 866 • RSpec: 1728 • fastlane: 113 しかし、興味はあるはず(と信じている) ⁃ 参加者が少なかったらどうしようと震えながら本勉強会を開催しました 勉強会を開催すれば知見が共有できて良い循環がまわるはず
5.
Copyright © DeNA
Co.,Ltd. All Rights Reserved. IOSの自動テストをはじめるにあたって 主な対象ユーザ: これから自動テストを書こうかなと思っている人 コンテンツ 1) 自動テストを書く際におきがちなこと 2) どうやって自動テストをはじめるか
6.
Copyright © DeNA
Co.,Ltd. All Rights Reserved. 自動テストを書く際に起きがちなこと いきなり闇雲に自動テストを書いてもうまくいかないことが往々にしてあります
7.
Copyright © DeNA
Co.,Ltd. All Rights Reserved. 自動テストを書く際に起きがちなこと 闇雲に書きはじめると以下の様なことがおきたりします 意味のないテストコードを書く ⁃ テストになっていないテスト 読めないテストコードを書く ⁃ 可読性が悪く何をしているのかが分からない ⁃ なんのテストをしているのかが分からない 自分の環境でしか動かないテストコードを書く ⁃ 他の人の環境やCI上では動かない テスト結果が分かりづらくなるコードを書く ⁃ テストが落ちたときの調査が大変 無駄な(不必要な)テストコードを書く ⁃ テストの実行時間だけが増える
8.
Copyright © DeNA
Co.,Ltd. All Rights Reserved. 自動テストを書く際に起きがちなこと(1/3) 意味のないテストコードを書いてしまう 例)テストになっていないテスト ⁃ 自動テストで確認する箇所が不適切 • UIテストでいえば要素が「存在する」のか「叩ける」のか etc • 手動用のテスト項目を自動テスト化すると発生しがち ⁃ 手動用のテスト項目は曖昧に書かれていることがある ⁃ 失敗することがないテスト • 常にgreenになる
9.
Copyright © DeNA
Co.,Ltd. All Rights Reserved. 自動テストを書く際に起きがちなこと(2/3) テスト結果が分かりづらいコードを書いてしまう 例)使うべきAssertionが不適切 ⁃ XCTAssertTrue(expression1== expression2) • Xode • JUnit x Jenkins ⁃ XCTAssertEqual(expression1, expression2) • Xode • JUnit x Jenkins
10.
Copyright © DeNA
Co.,Ltd. All Rights Reserved. 自動テストを書く際に起きがちなこと(3/3) 無駄な(不必要な)テストコードを書いてしまう 例)パラメータだけを変えたテストを「無駄に」増やす • どのテストレベルでも起こりうる • 境界値や同値とかを意識していない ⁃ 「自動テスト」だからといってむやみに増やすケースがある その結果、実行時間の増加につながっていく
11.
Copyright © DeNA
Co.,Ltd. All Rights Reserved. おとずれる自動テストとのお別れ テストの実行結果からコードを追うのが大変 可読性が悪くコードを読むのに時間がかかる どのようなテストをしているのかがわからない テストコードを直すコストが高すぎて失敗が放置される 失敗したまま放置されだすと • 割れ窓理論(1つがredになりだすと..) • 聞こえてくるこわい声 ⁃ 「この落ちているテストは落ちてて問題ないテストです」 ⁃ 「とりあえずredなのを全てdisableにさせておこう」 そして自動テストは放置され価値を無くし、 「自動テスト=良くない」という認識が..
12.
Copyright © DeNA
Co.,Ltd. All Rights Reserved. 自動テストをはじめるにあたって 「どこから」「どこまで」「どうやって」やるかを考えましょう
13.
Copyright © DeNA
Co.,Ltd. All Rights Reserved. そもそも「テスト」とは? よく言われることですが、 テスト自体はプロダクトの「品質」をあげてはくれません 現時点での品質が「わかる」だけです その品質を良くするのは自分たちです テストは、その良くしようとする行為を支えてくれます ⁃ 適切な自動テストは力強く支えてくれます
14.
Copyright © DeNA
Co.,Ltd. All Rights Reserved. まずはじめに 闇雲に書き出しても求めているものは得られません まずは以下の3つを考えましょう ⁃ 「どこからやるか」 ⁃ 「どこまでやるか」 ⁃ 「どのようにやるか」
15.
Copyright © DeNA
Co.,Ltd. All Rights Reserved. 「どこから」やればいいですか? まず書きはじめるところを見つけましょう Unitテストで基盤といえるControllerに関わるModel周り UIテストでアプリで共通となっている画面フロー周り ⁃ ログインがあるアプリならログイン周りだけやるという手も あなたが不安を感じているところから ⁃ 開発者の不安は当たります • ただし不安なところはテストコードが書きづらいことも多い バグを修正するタイミングで該当機能に対して 新機能追加のタイミングで新機能に対して
16.
Copyright © DeNA
Co.,Ltd. All Rights Reserved. 「どこまで」やればいいですか? 最初からやりすぎようとしない ⁃ やりすぎると息切れをおこす ⁃ カバレッジ100%とかを意識しすぎない まずは小さく「はじめる」のが良い ⁃ 小さく作って運用にのせていく • CI環境で動かせるようにするのが良い 運用に乗り始めてから少しずつ改善していく ⁃ テストの網羅性 ⁃ テストの実行速度 ⁃ アプリのバージョンカバレッジ ⁃ OSカバレッジ ⁃ 画面カバレッジ
17.
Copyright © DeNA
Co.,Ltd. All Rights Reserved. 「どのように」やればいいですか? テスティングフレームワークの選定 ⁃ XCTest / Quick etc ⁃ XCUITest / EarlGrey / Appium etc テストコードを書く際には以下の点に注意 ⁃ テストの独立性 ⁃ テストの再現可能 ⁃ テストが繰り返し可能 ⁃ テストが自分の環境以外でも動く 文化を育てるためにも ⁃ サンプルとなるコードをしっかりと用意 • 他の人がはじめやすいようにする ⁃ 実行結果などの見える化
18.
Copyright © DeNA
Co.,Ltd. All Rights Reserved. iOSの自動テストのために付き合う必要があるもの テスティングフレームワークのバグ ⁃ XcodeのRelease Notesの「Testing」のコーナを見るようにしま しょう • 既知のバグに対するworkaroundがのってたりもします バージョンアップ対応 ⁃ Xcodeのバージョンアップに対応する必要があったりもします • 例) Xcode8.1のRelease Notesより ⁃ UI tests may fail to run for apps written with Swift 2.3
19.
Copyright © DeNA
Co.,Ltd. All Rights Reserved. 自動テストのステップ例 どのようなステップですすめていくかの例 セットアップ ⁃ 自分のマシンのセットアップ ⁃ CI環境のセットアップ • 誰もが見れる環境でも動かせるようにする • fastlaneを使うのが良い ⁃ セットアップのためのREADMEを用意 テストコードの実装 ⁃ テストを書くところを決める ⁃ テストを書く ⁃ 書いたテストをCI環境で動かす • PR状態のbranchで動かし続けるのが良い
20.
Copyright © DeNA
Co.,Ltd. All Rights Reserved. 「自動テストをはじめましょう」 iOSに根を下ろし、Appleと共に生きよう テストと共にリリースを乗り越え ユーザと共に新バージョンを歌おう ラピュタより
21.
Copyright © DeNA
Co.,Ltd. All Rights Reserved. さいごに 「どこから」「どこまで」「どうやって」を考えて、是非テストをはじ めてみてください テストをはじめて得た知見をiOS Test Nightで是非発表をしてください その話を聞いた人がその知見を元に新たな知見を得て発表をしてくれる と思います ⁃ これが幸せなループになると思っています 皆様の応募をお待ちしております!!
Download