Upload
natsuki-yamanaka
View
23
Download
0
Embed Size (px)
Citation preview
・今日の勉強会の目的
・Appiumというツールを触ってみたので紹介したい
・テストって別に書かなくてもいいと思ってますが(リリースが優先ならしょうがない場合が
あるので)、テストツールの紹介なのでテストとはなにか?みたいなところから説明します
はじめに
・プログラムを実行し、正しく動作するか、目標とした品質に到達し
ているか、意図しない動作をしないかどうかを確認する作業のこと
今回は、このテスト自体を
プログラムで行うことを指すこととします
テストとは?
・単体テスト
単体テストとは、プログラムを検証する作業の中でも、プログラムを手続きや関数といった個々の機能ごとに分割
し、そのそれぞれについて動作検証を行う手法のことである。 単体テストでは、個々の機能を果たすためのプロ
グラム部品(プログラムモジュール)がそれぞれしっかりと動作しているかを検証する。
一番基本的なテスト
・単体テスト
単体テストとは、プログラムを検証する作業の中でも、プログラムを手続きや関数といった個々の機能ごとに分割
し、そのそれぞれについて動作検証を行う手法のことである。 単体テストでは、個々の機能を果たすためのプロ
グラム部品(プログラムモジュール)がそれぞれしっかりと動作しているかを検証する。
・これじゃイメージしづらいと思うので、後で例を出します・ユニットテストとも言う・XCTest・JUnit等が有名・テストの中では書くのが簡単
一番基本的なテスト
同じく省略
単体テスト例:iOS、XCTestフレームワーク
例:下記のテストを作成する
ユーザー登録画面があって名前を入力する。
名前は空文字禁止・null禁止・絵文字禁止・32文字以内(文字数)とする。
この名前入力判別をテストする
・基本はAssert関数が使われる例えばAssertTrue(boolean isOk)メソッドはfalseを渡すとテスト失敗と見なし、
Exceptionになる
実行してエラーがなければテスト成功と見なす
・今回はiOSのXCTestフレームワークを例にしているので、XCTAssertTrue(expression, ...)
↑メソッドを使っています
テストメソッドについて
Recording
・ipa/apkファイルをインストール
したりしてUIを操作するテスト
・普通はユーザーの操作が必要!
・それをコードでエミュレートするのが
UIテストツール
・どんなことができるのか調べてみた
UIテストって
UIテストって
主なUIテストツール(iOS・Android向け)・MonkeyTalk・Calabash・Espresso・Robolectric・Appium
など
参考
https://tf-unity.esa.io/posts/62
UIテストって
主なUIテストツール(iOS・Android向け)・MonkeyTalk・Calabash・Espresso・Robolectric・Appium
など
参考
https://tf-unity.esa.io/posts/62
今回紹介したいのはこれ
・iOS・Android対応(iOSはDevelopmentビルドのみ)
・テストを書く言語がC#, java, node, perl, php, python, rubyから選べる
・Appium Inspectorでのコード生成
・中身はHttpサーバーで、node.jsで動いてる → アプリと別プロセスで動く
Appium
AppiumAppium自体の構成
自分のPC(Mac/Windows)
Appiumサーバー
テストコード
Node.jsでインストールhttp://appium.io/
Test.ipaをインストール
AppiumAppium自体の構成
自分のPC(Mac/Windows)
Appiumサーバー
テストコード
Node.jsでインストールhttp://appium.io/
Test.ipaをインストール
https://github.com/appium/sample-codeにサンプルあるのでそっから取ってくる
・実プロジェクトにテストツールとして取り入れるのはなかなか難しい
・むしろチートツールに使えそう
・結構インストールは大変 (自分は4~5時間くらいかかった )
http://qiita.com/natsuki_summer/items/2d8d60114cdb95929dcb
各言語サンプルは下記にある
https://github.com/appium/sample-code/tree/master/sample-code/examples
Appiumまとめ
・Xcode7から導入されたXCTestのUI recordingもテストコードの生成ができるらしい
http://qiita.com/IsaoTakahashi/items/f9c3ef367d7e0f60e2d6
・Xcode7+El Capitanじゃないと動かないです
・導入はこっちのが簡単そう
余談:それ以外のテストツールについて