499 Views
December 28, 15
スライド概要
2015/11/25 FileMaker カンファレンス 2015 講演資料
Web Application Developer / kintone CERTIFIED App Design Specialist 2020 / kintone CERTIFIED Customization Specialist 2020
FileMaker WebDirect ソリューション 開発におけるテストフレームワークの活用 2015/11/25 FileMaker カンファレンス 2015 講演資料 松尾篤(株式会社エミック)
自己紹介 • 松尾 篤(まつお ✓ 株式会社エミック あつし) 代表取締役 ✓ FileMaker 8 / 9 / 10 / 11 / 12 / 13 / 14 Certified Developer ✓ FileMaker Server対応Webフレームワーク「INTER-Mediator」 コミッター ✓ カスタムWeb勉強会を隔月で開催
株式会社エミック • FileMaker製品対応ホスティングサービス を1998年から提供 ✓ FileMaker Server 14に対応した「FMPress14」 ✓ データベースからモバイル対応Webアプリを生成する 「FMPress Publisher」を搭載 • https://www.emic.co.jp/ FMPress
FileMaker Server対応Webホスティングサービス 標準でFileMaker WebDirectに対応
今回の話題 1. テストとは 2. ブラウザーテストの例 3. FileMaker WebDirectにおける活用
1. テストとは
テストとは • 一般的には「試験」 例)FileMaker 14 資格認定試験 💯
今回話題にするテスト • プログラムが意図した通りに動作する • ソフトウェアテスト かどうか確認する作業 ✅
Webアプリ開発の今 • ツールを活用してテストを自動化 • • テストがないコードはレガシーコード 継続的インテグレーション(CI) • バージョン管理システムの使用は当然
バージョン管理で 得られるメリット • 変更履歴を容易に調べられる • バージョン管理システムを使用すること • 以前の状態に戻すことができる で自動的にテストを実行できる仕組みと 連携できる
自動テストは浸透している プラクティス ユニットテストの自動化 2009年度 2012年度 適用率 適用率 19.0% 82.7% 倍率 434% IPA(情報処理推進機構)「アジャイル型開発におけるプラクティス活用事例調査」(2013年)より
継続的インテグレーション • 品質の確保や計画の遅れを発生させない ための開発習慣の1つ • 数多くのクラウドサービスやオープンソー スソフトウェアが存在 • Jenkins、GitLab • GitHub、Travis CI、CircleCI
INTER-Mediator プロジェクトの例 https://github.com/INTER-Mediator/INTER-Mediator • GitHub上でソースコードを共有 • ソースコードの変更をGitHubに反映さ • バージョン管理にGitを利用 せる度にTravis CIとCircleCIで自動的に テストを実行
なぜ自動テストが必要? • 一度発生した不具合の再発を防止したい • • 既存の機能を毎回手動で動作確認するの 手間をかけずにより高品質にしたい は面倒
自動テストのメリット • 問題を素早く発見できる(不具合の発生 • 面倒な手動テストの苦痛からの解放 を予防) • 品質と開発効率を向上できる ⤴
自動テストには テストコードが必要 • プログラムにデータを入力してそれに応 じた正しい(意図した)結果が出力され るかをチェックするテストコードを書く ✅
テストは財産 • • 一度書いたテストは財産になる テストを作るのは投資 💰
今回紹介する内容 • Selenium WebDriver、RubyおよびWeb ブラウザーを使用したテスト
2. ブラウザーテストの例
Selenium WebDriver • WebアプリケーションをさまざまなWeb • = Selenium 2 ブラウザー上でテストするためのUI自動 化ツール
Selenium WebDriver • Java、C#、Python、Ruby、Perl、 • 複数の言語に対応 PHP • 複数のWebブラウザーに対応
Rubyのインストール • WindowsではRubyInstallerといった • バージョン2.0以降のRubyを使用 ツールを使用 • OS X El CapitanはRuby 2.0を同梱 別途Xcodeを要インストール •
必要なgemをインストール インストール例 (Windows) gem install rspec selenium-webdriver --no-document (OS Xでは「ターミナル」アプリケーションを使用) sudo gem install rspec selenium-webdriver --no-document
Firefoxをインストール • 今回はFirefox Webブラウザーを使って テストケースを作成 • アドオンのSelenium IDEを利用
Selenium IDEを インストール • ブラウザーの操作内容を記録してテスト • Firefox Webブラウザーのアドオン ケースとして保存・実行できる
Demo • Selenium IDEを使用してテストケースを 作成、エクスポート • rspecコマンドでテストを実行
Demo • 対象要素の取得 • 対象要素に対する操作 • • 想定値との比較 終了処理 • 初期化処理
3. FileMaker WebDirectにおける活用
FileMaker WebDirect • クライアントはWebブラウザー • FileMaker Server 13以降で利用可能 (Google Chrome、Safari、Internet Explorer) • バージョン14でタブレット端末に対応
ChromeとChromeDriverを インストール • Google ChromeをWebDriverから起動 • 今回はGoogle Chromeを使ってテスト するにはChromeDriverが必要
Demo
まとめ
まとめ • アプリケーション開発では自動テストは 着実に浸透している • FileMaker WebDirectではブラウザーテ • 多種多様なテストフレームワークが存在 スト用のフレームワークを活用可能