SlideShare ist ein Scribd-Unternehmen logo
1 von 17
初めての
UI Testing
ウェルスタイル株式会社 多鹿 豊 2016/01/09
▣ 自己紹介
- UI Testとは?
- Xcode7 UITesting
- Xcode7 UIRecording
目次
2
自己紹介
- 多鹿 豊(タジカ ユタカ) 26歳
- ウェルスタイル株式会社
- 現在はiOSエンジニア
- 数ヶ月前まではウェブエンジニア
3
そもそも ”UI Test” とは?
▣名前の通り、UIの挙動をテスト
アプリケーションがユーザの操作に対して
仕様に則した反応をユーザへ返すか
4
何のために ”UI Test” をするのか?
▣ユーザの操作に対するUIのレスポンスが正しいこと
を保証するため
- 内部の計算や処理は正しく行われているのに
ユーザへのレスポンスがおかしい
- 追加機能開発中にデグレード
5
どうやって ”UI Test” をするのか?
▣手動でアプリケーションを操作して正しいUIかを確
認する
→アプリケーションが大きくなると毎回すべてのパ
ターンを網羅できなくなる
6
‘’ そうだ、
自動化しよ
う!
7
Xcode7 UI Testing
▣Xcode7よりUITestが手軽に行えるように
▣実際のユーザの操作をシミュレータで再現して自動
テストが可能
8
‘’ 実際に
見てみましょ
う
9
テスト操作の流れ
画面遷移 画面遷移
画面1 画面1画面2
10
これでこのアプリのコードをいじっても、
テストが通る限りは
テストで確認した動作は保証される
11
Xcode7 UIRecording
▣シミュレータの操作を自動でコード化してくれる
▣テストコード作成の負担軽減
12
‘’ 実際に
見てみましょ
う
13
Xcode7 UIRecording
▣日本語は文字化けする
▣あまり綺麗には書いてくれない(リファクタリング
とか)
▣Assertは自分で入れること!
この辺りを自分で書くことになるので、結局全部手で
書いてます(笑)
14
‘’ まとめ
15
まとめ
▣UI Test はユーザの操作に対して意図した反応をユ
ーザに返すかのテスト
▣UI Testing機能を使って UI Test も自動化
▣Xcode 7 から UIRecording が使える
▣ただし、UI Recording のみで完結ではなく自分で
テストコードを書く必要もある
16
ご静聴ありがとうございました。
17

Weitere ähnliche Inhalte

Andere mochten auch

自作node.jsフレームワークとnginxを使ってラジオサイトを作ってみた
自作node.jsフレームワークとnginxを使ってラジオサイトを作ってみた自作node.jsフレームワークとnginxを使ってラジオサイトを作ってみた
自作node.jsフレームワークとnginxを使ってラジオサイトを作ってみた
Yuki Takei
 

Andere mochten auch (11)

Devsumi2014 13 e-7-03
Devsumi2014 13 e-7-03Devsumi2014 13 e-7-03
Devsumi2014 13 e-7-03
 
今日から始めるRxSwift
今日から始めるRxSwift今日から始めるRxSwift
今日から始めるRxSwift
 
インフラの話
インフラの話インフラの話
インフラの話
 
自作node.jsフレームワークとnginxを使ってラジオサイトを作ってみた
自作node.jsフレームワークとnginxを使ってラジオサイトを作ってみた自作node.jsフレームワークとnginxを使ってラジオサイトを作ってみた
自作node.jsフレームワークとnginxを使ってラジオサイトを作ってみた
 
Server-side Swift
Server-side SwiftServer-side Swift
Server-side Swift
 
Codevs5.0勉強会
Codevs5.0勉強会Codevs5.0勉強会
Codevs5.0勉強会
 
ROMA のアーキテクチャと社内事例
ROMA のアーキテクチャと社内事例ROMA のアーキテクチャと社内事例
ROMA のアーキテクチャと社内事例
 
GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう
GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみようGoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう
GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう
 
初学者にJavaScriptを教えてみた
初学者にJavaScriptを教えてみた初学者にJavaScriptを教えてみた
初学者にJavaScriptを教えてみた
 
HTML5 Web アプリケーションのセキュリティ
HTML5 Web アプリケーションのセキュリティHTML5 Web アプリケーションのセキュリティ
HTML5 Web アプリケーションのセキュリティ
 
時を超えた JavaScript の道
時を超えた JavaScript の道時を超えた JavaScript の道
時を超えた JavaScript の道
 

Ähnlich wie Swiftビギナーズ 2016/01/09

モバイル対応Ui部品を利用したレスポンシブwebアプリ開発
モバイル対応Ui部品を利用したレスポンシブwebアプリ開発モバイル対応Ui部品を利用したレスポンシブwebアプリ開発
モバイル対応Ui部品を利用したレスポンシブwebアプリ開発
Satoru Yamaguchi
 

Ähnlich wie Swiftビギナーズ 2016/01/09 (20)

ブラウザのUIテストをしてみた話
ブラウザのUIテストをしてみた話ブラウザのUIテストをしてみた話
ブラウザのUIテストをしてみた話
 
ユーザビリティテストをやってみよう
ユーザビリティテストをやってみようユーザビリティテストをやってみよう
ユーザビリティテストをやってみよう
 
グロースハック_UIscope_講演資料20150825
グロースハック_UIscope_講演資料20150825グロースハック_UIscope_講演資料20150825
グロースハック_UIscope_講演資料20150825
 
Indigo Studio で作るプロトタイプ
Indigo Studio で作るプロトタイプIndigo Studio で作るプロトタイプ
Indigo Studio で作るプロトタイプ
 
BaseViewControllerは作りたくない
BaseViewControllerは作りたくないBaseViewControllerは作りたくない
BaseViewControllerは作りたくない
 
KCGビジネスインターンシップ 実習報告
KCGビジネスインターンシップ 実習報告KCGビジネスインターンシップ 実習報告
KCGビジネスインターンシップ 実習報告
 
Eggplant Functional - Lesson 1 (Japanese slides)
Eggplant Functional - Lesson 1 (Japanese slides)Eggplant Functional - Lesson 1 (Japanese slides)
Eggplant Functional - Lesson 1 (Japanese slides)
 
モバイルアプリのインタラクションプロトタイピング - 高速に仮説・実行・検証サイクルを回すために
モバイルアプリのインタラクションプロトタイピング - 高速に仮説・実行・検証サイクルを回すためにモバイルアプリのインタラクションプロトタイピング - 高速に仮説・実行・検証サイクルを回すために
モバイルアプリのインタラクションプロトタイピング - 高速に仮説・実行・検証サイクルを回すために
 
UIデザインのプロセス
UIデザインのプロセスUIデザインのプロセス
UIデザインのプロセス
 
やろうぜ!簡易ユーザビリティテスト
やろうぜ!簡易ユーザビリティテストやろうぜ!簡易ユーザビリティテスト
やろうぜ!簡易ユーザビリティテスト
 
Androidリリース作業の効率化(2)
Androidリリース作業の効率化(2)Androidリリース作業の効率化(2)
Androidリリース作業の効率化(2)
 
UXデザイン×ヒューリスティック評価
UXデザイン×ヒューリスティック評価UXデザイン×ヒューリスティック評価
UXデザイン×ヒューリスティック評価
 
UX - 業務システムにも感動を
UX - 業務システムにも感動をUX - 業務システムにも感動を
UX - 業務システムにも感動を
 
20131201 テスト自動化カンファレンスLT「激しいUI変更との戦い」
20131201 テスト自動化カンファレンスLT「激しいUI変更との戦い」20131201 テスト自動化カンファレンスLT「激しいUI変更との戦い」
20131201 テスト自動化カンファレンスLT「激しいUI変更との戦い」
 
モバイル対応Ui部品を利用したレスポンシブwebアプリ開発
モバイル対応Ui部品を利用したレスポンシブwebアプリ開発モバイル対応Ui部品を利用したレスポンシブwebアプリ開発
モバイル対応Ui部品を利用したレスポンシブwebアプリ開発
 
UI&UX / 重要なのは、毎日さわって嬉しい UI UX!
UI&UX / 重要なのは、毎日さわって嬉しい UI UX! UI&UX / 重要なのは、毎日さわって嬉しい UI UX!
UI&UX / 重要なのは、毎日さわって嬉しい UI UX!
 
iPhoneアプリ無料勉強会 vol3
iPhoneアプリ無料勉強会 vol3iPhoneアプリ無料勉強会 vol3
iPhoneアプリ無料勉強会 vol3
 
DevOps を前提としたユーザー インターフェイスの構造解析
DevOps を前提としたユーザー インターフェイスの構造解析DevOps を前提としたユーザー インターフェイスの構造解析
DevOps を前提としたユーザー インターフェイスの構造解析
 
リーンUX顧客開発インタビュー
リーンUX顧客開発インタビューリーンUX顧客開発インタビュー
リーンUX顧客開発インタビュー
 
UX/ユーザビリティ評価法
UX/ユーザビリティ評価法UX/ユーザビリティ評価法
UX/ユーザビリティ評価法
 

Swiftビギナーズ 2016/01/09

Hinweis der Redaktion

  1. 初めてのUI Testingと題しまして、ウェルスタイル多鹿が発表させていただきます。 今回、私が「へえーこんなのあるんだ」と驚いた機能について簡単にはなりますがご紹介できればと思っています。 それでは、よろしくお願いいたします。
  2. 〜自己紹介のあと〜 それでは、本題のUI Testについて話していきましょう。
  3. UITestって聞いたことある方どのくらいいらっしゃいますか? 恥ずかしながら私は知らなくて、、まず「UITestってなんだ?」というところからググって見たのですが、 なんともしっくりくる答えが見つからず、、 ということで自分なりにまとめてみました。 〜〜 では次に、このUITest、何にためにやるんでしょう?
  4. 「内部の計算や処理は...」 例えば、ボタンを押して通信が開始されるような機構があるとして、通信中はボタンを押せなくしたい、と。 そんな時に、ボタンを押して、通信は発生しているけれど、ボタンが押せる状態のままだというような場合があったりします。
  5. 実際に作成したデモでテストの様子を見てみましょう。
  6. まず、デモを見る前に、どのようなテストをするかを説明します。 ここまでの操作をXcodeが自動でやってくれます。
  7. ただ、コードを書くのが大変
  8. ということで、UIRecordingの紹介でした。 それでは、まとめです。
  9. つらつらと書いていますが、先ほどのデモで実際に動く様子を見て「へぇー面白いなー」と思ってもらえれば幸いです。