皆さんは、モバイルアプリのシステムテストや受け … › content › dam ›...
TRANSCRIPT
![Page 1: 皆さんは、モバイルアプリのシステムテストや受け … › content › dam › cognizant...皆さんは、モバイルアプリのシステムテストや受け入れテストに、自動化ツールを導入されていますか。](https://reader034.vdocuments.net/reader034/viewer/2022042310/5ed7844d7bbb9f68866aa7bb/html5/thumbnails/1.jpg)
![Page 2: 皆さんは、モバイルアプリのシステムテストや受け … › content › dam › cognizant...皆さんは、モバイルアプリのシステムテストや受け入れテストに、自動化ツールを導入されていますか。](https://reader034.vdocuments.net/reader034/viewer/2022042310/5ed7844d7bbb9f68866aa7bb/html5/thumbnails/2.jpg)
皆さんは、モバイルアプリのシステムテストや受け入れテストに、自動化ツールを導入されていますか。
2018 年現在、アプリの自動テストツールと言えば Appium が主流ですが、シナリオを作るにあたりテストコードを書く必要があります。
今回ご紹介する Cognizant Intelligent Test Scripter(以下、CITS「キッズ」)は、テストデザイン、テスト実行、レポート作
成、保守などの日々のテスト作業を GUI で行える自動テストツールで、コグニザントがオープンソースで公開しているため無料で入手、
利用が可能です。
対象読者: 今回から 5 回に分けて、テスターと業務をよく理解しているビジネスユーザーの方を対象にご説明します。
Cognizant Intelligent Test Scripter - GitHub Pages
シナリオとページオブジェクトは分離して管理されているため、アプリが完成していなくてもシナリオを作り始めることができ、仕様変更によ
るシナリオのメンテナンスなどが簡単に行えるので、Selenium や Appium の弱点を克服しています。
Web アプリケーション開発向けだけでなく、Android や iOS などのネイティブアプリケーションのテストにも使用することができます。
難点としては、オープンソースであるため、詳細な説明書が用意されていないことです。テスターと業務をよく理解しているビジネスユーザー
の方を対象に、本連載を通して、スマホアプリの自動テストが導入できるよう、それぞれの手順を追って解説していきたいと思います。最後
の連載までどうぞお付き合いください。
連載目次
• 第 1回 Cognizant Intelligent Test Scripter とは(本記事)
• 第 2 回 CITS のインストール (近日公開)
• 第 3 回 クイックスタート (近日公開)
• 第 4 回 アクション一覧 (近日公開)
• 第 5 回 テストケース 1 反復テスト (近日公開)
![Page 3: 皆さんは、モバイルアプリのシステムテストや受け … › content › dam › cognizant...皆さんは、モバイルアプリのシステムテストや受け入れテストに、自動化ツールを導入されていますか。](https://reader034.vdocuments.net/reader034/viewer/2022042310/5ed7844d7bbb9f68866aa7bb/html5/thumbnails/3.jpg)
それでは、どのようなシーンで一番 CITS が活躍できるのか。CITS の特徴を紐解いていきたいと思います。
CITS ができること
CITS は Appium だけでなく、多くのテストツールが統合されています。まだ確認できていない機能もありますが、下記のようなことができ
ます。
• Selenium/Appium を使用したマルチプラットフォームな GUI 自動テスト
• 動的テストデータを使用した反復テスト
• ページオブジェクトとシナリオを分けてテスト設計可能
• スクリーンショットを比較して行うビジュアルリグレッションテスト
• iOS、Android アプリのオブジェクトスパイ
• カスタムメソッドの登録(要コーディング)
• BDD feature の作成、インポート
• Selenium Grid に対応
• SauceLabs、BrowserStack、Perfecto などのクラウドプラットフォームでの実行
• テスト管理モジュールとの連携(QC、JIRA-Zephyr、TFS)
• 実行後にレポートをメールで自動送信
テストケース作成画面
![Page 4: 皆さんは、モバイルアプリのシステムテストや受け … › content › dam › cognizant...皆さんは、モバイルアプリのシステムテストや受け入れテストに、自動化ツールを導入されていますか。](https://reader034.vdocuments.net/reader034/viewer/2022042310/5ed7844d7bbb9f68866aa7bb/html5/thumbnails/4.jpg)
オブジェクトスパイ
テスト実行画面
![Page 5: 皆さんは、モバイルアプリのシステムテストや受け … › content › dam › cognizant...皆さんは、モバイルアプリのシステムテストや受け入れテストに、自動化ツールを導入されていますか。](https://reader034.vdocuments.net/reader034/viewer/2022042310/5ed7844d7bbb9f68866aa7bb/html5/thumbnails/5.jpg)
テストレポート画面
スクリーンショット比較
![Page 6: 皆さんは、モバイルアプリのシステムテストや受け … › content › dam › cognizant...皆さんは、モバイルアプリのシステムテストや受け入れテストに、自動化ツールを導入されていますか。](https://reader034.vdocuments.net/reader034/viewer/2022042310/5ed7844d7bbb9f68866aa7bb/html5/thumbnails/6.jpg)
レポートメール
CITS のメリット、デメリット
テストが自動になるといっても、メリットだけではありません。Selenium や Appium と同じように、テストの作成に時間が掛かるなどのデメ
リットもあります。
メリット
• 回帰テストの人件費を減らすことができる一度ケースを作っておけば、リリース毎、スプリント毎、アップデート毎など何度でも使いまわせる
• 単調で時間のかかる作業を人が行わなくてよい
• 自動化した分のリソースをアドホックテストなどに回すことができる
• テスト手順を明示化できる手順を共有しやすい
• 人為的な手順ミスが起きにくい
• 修正後の想定外のエラーの早期発見ができる影響範囲の大きい修正を行いやすくなる
• テストのシナリオ作成、実行、レポートまですべて GUI で行えるコードを書かない方でも担当できる
• 仕様変更によるシナリオの修正がスクリプトよりも楽にできる
• 画面要素とシナリオが分けて管理されているアプリが出来ていなくても、先にシナリオだけ作ることができる
• 画面に変更があってもシナリオに影響が出にくい
デメリット
• CITS を使うための学習コストがかかる
• テスト作成の工数がかかる Selenium では初回サイクルは手動の 3 倍以上かかると言われている
• 仕様変更の度にメンテナンスをしなければならない
• 実行に時間がかかる Selenium や Appium と同様、一つ一つの動作に間が空いており、手動より時間がかかる
• アプリ開発側にも協力してもらう必要があるオブジェクトを特定できるような一意の id がついていないと、オブジェクトの指定が難しい
![Page 7: 皆さんは、モバイルアプリのシステムテストや受け … › content › dam › cognizant...皆さんは、モバイルアプリのシステムテストや受け入れテストに、自動化ツールを導入されていますか。](https://reader034.vdocuments.net/reader034/viewer/2022042310/5ed7844d7bbb9f68866aa7bb/html5/thumbnails/7.jpg)
CITS の向き不向き
上記で洗い出したメリットとデメリットや CITS の機能から、CITS の導入が向いているケースと向いていないケースは、下記が考えられま
す。
向いているケース
• リリースの多いプロジェクト長期間継続的にリリースを行うプロジェクト
• 毎週リリースしなければならないようなプロジェクト
• テスト担当者がコードを書く方ではない
• 修正後、機能や見た目に何か影響がでていないかの確認(リグレッションテスト)
• 値を変えて何度も同じ機能をテストするケース
• 複数の端末で同じテストを行うケース
向いていないケース
• リリースの少ないプロジェクトキャンペーンなど一回で使い捨てのプロジェクト
• 3 回以上テストを回す必要のないプロジェクト
• UI を使用しない機能単体レベルのテスト
• アドホックテストのような繰り返し同じ操作を行わないテスト
• 物理センサー(GPS、加速度、カメラ、NFC など)を使用したシナリオのテスト
• 端末の設定(GPS、ネットワークの ON/OFF など)を途中で変更するシナリオのテスト
• オブジェクトの ID が動的に変わってしまう UI のテスト
まとめ
CITS は、テストに必要な多くの機能が統合され、しかも GUI で扱える上に、オープンソースで公開されています。しかし、便利な自動ツ
ールと言えどもケースによって向き不向きがあります。まずは、テストケースの 1 つか 2 つの観点のみ任せてみて、徐々に任せる観点を増
やしていくような導入の流れが良いのではないでしょうか。いきなり大半を CITS に任せようとすると、向いているテスト、向いていないテスト
を見極めながら運用していかなければならず、逆に工数がかかり、導入が難しくなってしまいます。
次回は、CITS のインストール方法を説明していきたいと思います。どうぞお楽しみに。
第 2回 CITS のインストール>> (近日公開)
参考サイト
Cognizant Intelligent Test Scripter - GitHub Pages
GitHub - CognizantQAHub/Cognizant-Intelligent-Test-Scripter(外部リンク)
Selenium 導入ガイドラインなど: Web 屋のまじめな話 | 株式会社アスペア(外部リンク)
© Copyright 2019, Cognizant. All rights reserved.本書の著作権はコグニザントジャパン株式会社に帰属します。当社の書面による事前許可なく、本書の全
体またはその一部をいかなるデータ蓄積手段により無断で複写、複製、情報検索システムに登録することを禁じます。本文書に記載されている内容は、予告なく変更され
る場合があります。また、本書に記載されている他社商標の所有権は各社に帰属します。