Enviar pesquisa
Carregar
iOSアプリの自動テストをはじめよう
•
Transferir como PPTX, PDF
•
11 gostaram
•
17,546 visualizações
Toshiyuki Hirata
Seguir
「iOS Test Night #1」での発表資料です。
Leia menos
Leia mais
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 21
Baixar agora
Recomendados
AppiumのWebViewアプリテストの仕組みとハマりどころ
AppiumのWebViewアプリテストの仕組みとハマりどころ
Masayuki Wakizaka
Burp suite を使って iPhone アプリを診断した時に困ったことと、解決方法
Burp suite を使って iPhone アプリを診断した時に困ったことと、解決方法
tobaru_yuta
Cesiumを動かしてみよう
Cesiumを動かしてみよう
Kazutaka ishizaki
FridaによるAndroidアプリの動的解析とフッキングの基礎
FridaによるAndroidアプリの動的解析とフッキングの基礎
ken_kitahara
Webアプリケーション負荷試験実践入門
Webアプリケーション負荷試験実践入門
樽八 仲川
組み込み開発でのシステムテスト自動化の一つの考え方(STAC)
組み込み開発でのシステムテスト自動化の一つの考え方(STAC)
H Iseri
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021
Hiroshi Tokumaru
Node-RED×Android内蔵3軸加速度センサでモーションセンシング
Node-RED×Android内蔵3軸加速度センサでモーションセンシング
Tomohiro Nakajima
Recomendados
AppiumのWebViewアプリテストの仕組みとハマりどころ
AppiumのWebViewアプリテストの仕組みとハマりどころ
Masayuki Wakizaka
Burp suite を使って iPhone アプリを診断した時に困ったことと、解決方法
Burp suite を使って iPhone アプリを診断した時に困ったことと、解決方法
tobaru_yuta
Cesiumを動かしてみよう
Cesiumを動かしてみよう
Kazutaka ishizaki
FridaによるAndroidアプリの動的解析とフッキングの基礎
FridaによるAndroidアプリの動的解析とフッキングの基礎
ken_kitahara
Webアプリケーション負荷試験実践入門
Webアプリケーション負荷試験実践入門
樽八 仲川
組み込み開発でのシステムテスト自動化の一つの考え方(STAC)
組み込み開発でのシステムテスト自動化の一つの考え方(STAC)
H Iseri
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021
Hiroshi Tokumaru
Node-RED×Android内蔵3軸加速度センサでモーションセンシング
Node-RED×Android内蔵3軸加速度センサでモーションセンシング
Tomohiro Nakajima
OSS活動の活発さと評価の関係について
OSS活動の活発さと評価の関係について
Takuto Wada
O/Rマッパーによるトラブルを未然に防ぐ
O/Rマッパーによるトラブルを未然に防ぐ
kwatch
UEFIベアメタルプログラミング
UEFIベアメタルプログラミング
Yuma Ohgami
業務の自動化をはじめよう!!
業務の自動化をはじめよう!!
株式会社オプト 仙台ラボラトリ
最近の単体テスト
最近の単体テスト
Ken Morishita
QAアーキテクチャの設計による説明責任の高いテスト・品質保証
QAアーキテクチャの設計による説明責任の高いテスト・品質保証
Yasuharu Nishi
OSを手作りするという趣味と仕事
OSを手作りするという趣味と仕事
uchan_nos
ドメイン駆動設計サンプルコードの徹底解説
ドメイン駆動設計サンプルコードの徹底解説
増田 亨
テストを分類してみよう!
テストを分類してみよう!
Kenji Okumura
フォレンジックツールの開発と実装
フォレンジックツールの開発と実装
IIJ
Re: ご注文は自動化ですか?[2]
Re: ご注文は自動化ですか?[2]
Masahito Zembutsu
DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】
DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】
DeNA
2015/11/15 Javaでwebアプリケーション入門
2015/11/15 Javaでwebアプリケーション入門
Asami Abe
webエンジニアのためのはじめてのredis
webエンジニアのためのはじめてのredis
nasa9084
Windowsコンテナ入門
Windowsコンテナ入門
Kyohei Mizumoto
Test Yourself - テストを書くと何がどう変わるか
Test Yourself - テストを書くと何がどう変わるか
Takuto Wada
Fitnesse を用いたテストの効率化について
Fitnesse を用いたテストの効率化について
tecopark
Usb接続するアプリを開発した時に試行錯誤した事
Usb接続するアプリを開発した時に試行錯誤した事
Masataka Kono
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
SEGADevTech
「UI自動テストツールとAI」〜AIを使った自動テストの「今」と「未来」〜
「UI自動テストツールとAI」〜AIを使った自動テストの「今」と「未来」〜
Nozomi Ito
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
Toshiyuki Hirata
Bluepillを使ったiOS自動テストの並列化
Bluepillを使ったiOS自動テストの並列化
Toshiyuki Hirata
Mais conteúdo relacionado
Mais procurados
OSS活動の活発さと評価の関係について
OSS活動の活発さと評価の関係について
Takuto Wada
O/Rマッパーによるトラブルを未然に防ぐ
O/Rマッパーによるトラブルを未然に防ぐ
kwatch
UEFIベアメタルプログラミング
UEFIベアメタルプログラミング
Yuma Ohgami
業務の自動化をはじめよう!!
業務の自動化をはじめよう!!
株式会社オプト 仙台ラボラトリ
最近の単体テスト
最近の単体テスト
Ken Morishita
QAアーキテクチャの設計による説明責任の高いテスト・品質保証
QAアーキテクチャの設計による説明責任の高いテスト・品質保証
Yasuharu Nishi
OSを手作りするという趣味と仕事
OSを手作りするという趣味と仕事
uchan_nos
ドメイン駆動設計サンプルコードの徹底解説
ドメイン駆動設計サンプルコードの徹底解説
増田 亨
テストを分類してみよう!
テストを分類してみよう!
Kenji Okumura
フォレンジックツールの開発と実装
フォレンジックツールの開発と実装
IIJ
Re: ご注文は自動化ですか?[2]
Re: ご注文は自動化ですか?[2]
Masahito Zembutsu
DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】
DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】
DeNA
2015/11/15 Javaでwebアプリケーション入門
2015/11/15 Javaでwebアプリケーション入門
Asami Abe
webエンジニアのためのはじめてのredis
webエンジニアのためのはじめてのredis
nasa9084
Windowsコンテナ入門
Windowsコンテナ入門
Kyohei Mizumoto
Test Yourself - テストを書くと何がどう変わるか
Test Yourself - テストを書くと何がどう変わるか
Takuto Wada
Fitnesse を用いたテストの効率化について
Fitnesse を用いたテストの効率化について
tecopark
Usb接続するアプリを開発した時に試行錯誤した事
Usb接続するアプリを開発した時に試行錯誤した事
Masataka Kono
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
SEGADevTech
「UI自動テストツールとAI」〜AIを使った自動テストの「今」と「未来」〜
「UI自動テストツールとAI」〜AIを使った自動テストの「今」と「未来」〜
Nozomi Ito
Mais procurados
(20)
OSS活動の活発さと評価の関係について
OSS活動の活発さと評価の関係について
O/Rマッパーによるトラブルを未然に防ぐ
O/Rマッパーによるトラブルを未然に防ぐ
UEFIベアメタルプログラミング
UEFIベアメタルプログラミング
業務の自動化をはじめよう!!
業務の自動化をはじめよう!!
最近の単体テスト
最近の単体テスト
QAアーキテクチャの設計による説明責任の高いテスト・品質保証
QAアーキテクチャの設計による説明責任の高いテスト・品質保証
OSを手作りするという趣味と仕事
OSを手作りするという趣味と仕事
ドメイン駆動設計サンプルコードの徹底解説
ドメイン駆動設計サンプルコードの徹底解説
テストを分類してみよう!
テストを分類してみよう!
フォレンジックツールの開発と実装
フォレンジックツールの開発と実装
Re: ご注文は自動化ですか?[2]
Re: ご注文は自動化ですか?[2]
DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】
DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】
2015/11/15 Javaでwebアプリケーション入門
2015/11/15 Javaでwebアプリケーション入門
webエンジニアのためのはじめてのredis
webエンジニアのためのはじめてのredis
Windowsコンテナ入門
Windowsコンテナ入門
Test Yourself - テストを書くと何がどう変わるか
Test Yourself - テストを書くと何がどう変わるか
Fitnesse を用いたテストの効率化について
Fitnesse を用いたテストの効率化について
Usb接続するアプリを開発した時に試行錯誤した事
Usb接続するアプリを開発した時に試行錯誤した事
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
「UI自動テストツールとAI」〜AIを使った自動テストの「今」と「未来」〜
「UI自動テストツールとAI」〜AIを使った自動テストの「今」と「未来」〜
Semelhante a iOSアプリの自動テストをはじめよう
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
Toshiyuki Hirata
Bluepillを使ったiOS自動テストの並列化
Bluepillを使ったiOS自動テストの並列化
Toshiyuki Hirata
iOSアプリにおけるリリースフローとCI環境
iOSアプリにおけるリリースフローとCI環境
Toshiyuki Hirata
Androidアプリ開発のテスト環境
Androidアプリ開発のテスト環境
Toshiyuki Hirata
Xcodeの管理を楽に - Jenkins編 -
Xcodeの管理を楽に - Jenkins編 -
Toshiyuki Hirata
TDDを一年やってみました ~シロート集団がTDDをやってはまったこと~
TDDを一年やってみました ~シロート集団がTDDをやってはまったこと~
Tomomi Kajita
5minQues - SWET近況報告
5minQues - SWET近況報告
Masaki Nakagawa
TDDはじめる前に
TDDはじめる前に
Yasui Tsutomu
UIテストの実行時間の短縮の方法
UIテストの実行時間の短縮の方法
Toshiyuki Hirata
STFとAppiumをもちいたAndroidアプリの自動テスト
STFとAppiumをもちいたAndroidアプリの自動テスト
Toshiyuki Hirata
バージョンアップの対応を軽減するためのサービスの構築
バージョンアップの対応を軽減するためのサービスの構築
Toshiyuki Hirata
java-ja TDD 2nd
java-ja TDD 2nd
Takuto Wada
2015/10/14 JJUGナイトセミナー「テスト駆動開発ここが聞きたい」
2015/10/14 JJUGナイトセミナー「テスト駆動開発ここが聞きたい」
Hiroyuki Ohnaka
[iOS 8] 測れる!パフォーマンス
[iOS 8] 測れる!パフォーマンス
Takeshi Fukasawa
新技術で未来の扉を開け! - Node-REDの環境構築と社内導入 -
新技術で未来の扉を開け! - Node-REDの環境構築と社内導入 -
Makoto SAKAI
20140903 じどうかの窓口特別編 君にもなれる!?テスト自動化エンジニア
20140903 じどうかの窓口特別編 君にもなれる!?テスト自動化エンジニア
SHIFT Inc.
Sue445 Style TDD #atest_hack
Sue445 Style TDD #atest_hack
Go Sueyoshi (a.k.a sue445)
マスティフ (for Xcode beta) - バージョンアップ対応を軽減するためのサービス
マスティフ (for Xcode beta) - バージョンアップ対応を軽減するためのサービス
Toshiyuki Hirata
20140918 i os8勉強会_performance
20140918 i os8勉強会_performance
Takeshi Fukasawa
SeasarCon 2009 White TDD
SeasarCon 2009 White TDD
Takuto Wada
Semelhante a iOSアプリの自動テストをはじめよう
(20)
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
Bluepillを使ったiOS自動テストの並列化
Bluepillを使ったiOS自動テストの並列化
iOSアプリにおけるリリースフローとCI環境
iOSアプリにおけるリリースフローとCI環境
Androidアプリ開発のテスト環境
Androidアプリ開発のテスト環境
Xcodeの管理を楽に - Jenkins編 -
Xcodeの管理を楽に - Jenkins編 -
TDDを一年やってみました ~シロート集団がTDDをやってはまったこと~
TDDを一年やってみました ~シロート集団がTDDをやってはまったこと~
5minQues - SWET近況報告
5minQues - SWET近況報告
TDDはじめる前に
TDDはじめる前に
UIテストの実行時間の短縮の方法
UIテストの実行時間の短縮の方法
STFとAppiumをもちいたAndroidアプリの自動テスト
STFとAppiumをもちいたAndroidアプリの自動テスト
バージョンアップの対応を軽減するためのサービスの構築
バージョンアップの対応を軽減するためのサービスの構築
java-ja TDD 2nd
java-ja TDD 2nd
2015/10/14 JJUGナイトセミナー「テスト駆動開発ここが聞きたい」
2015/10/14 JJUGナイトセミナー「テスト駆動開発ここが聞きたい」
[iOS 8] 測れる!パフォーマンス
[iOS 8] 測れる!パフォーマンス
新技術で未来の扉を開け! - Node-REDの環境構築と社内導入 -
新技術で未来の扉を開け! - Node-REDの環境構築と社内導入 -
20140903 じどうかの窓口特別編 君にもなれる!?テスト自動化エンジニア
20140903 じどうかの窓口特別編 君にもなれる!?テスト自動化エンジニア
Sue445 Style TDD #atest_hack
Sue445 Style TDD #atest_hack
マスティフ (for Xcode beta) - バージョンアップ対応を軽減するためのサービス
マスティフ (for Xcode beta) - バージョンアップ対応を軽減するためのサービス
20140918 i os8勉強会_performance
20140918 i os8勉強会_performance
SeasarCon 2009 White TDD
SeasarCon 2009 White TDD
Mais de Toshiyuki Hirata
iOSにおけるパフォーマンス計測
iOSにおけるパフォーマンス計測
Toshiyuki Hirata
iOSにおけるパフォーマンス計測
iOSにおけるパフォーマンス計測
Toshiyuki Hirata
iOSにおける自動テストの並列化
iOSにおける自動テストの並列化
Toshiyuki Hirata
UIテスト(Espresso)の高速化をさらにすすめる
UIテスト(Espresso)の高速化をさらにすすめる
Toshiyuki Hirata
Xcode10での テスト周りの進化をふりかえる
Xcode10での テスト周りの進化をふりかえる
Toshiyuki Hirata
UIテストの実行時間を短縮させる方法
UIテストの実行時間を短縮させる方法
Toshiyuki Hirata
我が家のLINEを中心とした情報共有
我が家のLINEを中心とした情報共有
Toshiyuki Hirata
レビューのコストを削減するための施策
レビューのコストを削減するための施策
Toshiyuki Hirata
fastlane snapshotの並列実行についてまとめてみた
fastlane snapshotの並列実行についてまとめてみた
Toshiyuki Hirata
DeNAにおけるSWETの役割
DeNAにおけるSWETの役割
Toshiyuki Hirata
コードレビューをより良くする Danger x Android
コードレビューをより良くする Danger x Android
Toshiyuki Hirata
2017年のiOSアプリ開発におけるCI事情
2017年のiOSアプリ開発におけるCI事情
Toshiyuki Hirata
バージョンアップ対応を軽減するサービス:マスティフ
バージョンアップ対応を軽減するサービス:マスティフ
Toshiyuki Hirata
fastlane x iOSアプリのCI
fastlane x iOSアプリのCI
Toshiyuki Hirata
iOSアプリ開発のCI環境 - Jenkins編 -
iOSアプリ開発のCI環境 - Jenkins編 -
Toshiyuki Hirata
Mais de Toshiyuki Hirata
(15)
iOSにおけるパフォーマンス計測
iOSにおけるパフォーマンス計測
iOSにおけるパフォーマンス計測
iOSにおけるパフォーマンス計測
iOSにおける自動テストの並列化
iOSにおける自動テストの並列化
UIテスト(Espresso)の高速化をさらにすすめる
UIテスト(Espresso)の高速化をさらにすすめる
Xcode10での テスト周りの進化をふりかえる
Xcode10での テスト周りの進化をふりかえる
UIテストの実行時間を短縮させる方法
UIテストの実行時間を短縮させる方法
我が家のLINEを中心とした情報共有
我が家のLINEを中心とした情報共有
レビューのコストを削減するための施策
レビューのコストを削減するための施策
fastlane snapshotの並列実行についてまとめてみた
fastlane snapshotの並列実行についてまとめてみた
DeNAにおけるSWETの役割
DeNAにおけるSWETの役割
コードレビューをより良くする Danger x Android
コードレビューをより良くする Danger x Android
2017年のiOSアプリ開発におけるCI事情
2017年のiOSアプリ開発におけるCI事情
バージョンアップ対応を軽減するサービス:マスティフ
バージョンアップ対応を軽減するサービス:マスティフ
fastlane x iOSアプリのCI
fastlane x iOSアプリのCI
iOSアプリ開発のCI環境 - Jenkins編 -
iOSアプリ開発のCI環境 - Jenkins編 -
Último
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Toru Tamaki
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Toru Tamaki
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
taisei2219
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Yuma Ohgami
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Toru Tamaki
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
danielhu54
Último
(9)
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
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で是非発表をしてください その話を聞いた人がその知見を元に新たな知見を得て発表をしてくれる と思います ⁃ これが幸せなループになると思っています 皆様の応募をお待ちしております!!
Baixar agora