支援対象地域:札幌、仙台、関東、愛知、関西、広島、福岡

  • TOP
  •   
  • コラム
  •   
  • Zephyrとは?詳しく解説させてい

Zephyrの概要について

ここでは、Zephyrとは何か詳しく解説させていただきます。
Zephyrはプロジェクトに最適なテスト管理ソリューションを見つけることが可能であるテスト管理のためのプロダクトで、SmartBearが提供していることで知られております。
SmartBearは2009年に設立され、APM、ソフトウェア開発、ソフトウェアテスト、APIテスト、およびAPI管理のためのツールを提供するアメリカの企業です。同社では多くのテスト関連ツールを提供しており、世界の大手企業を始めとして多くのユーザーに導入されていることで知られております。ソフトウェアチームの生産性向上に寄与するためのプロダクトを多くリリースしておりますが、それらの特徴や機能としていくつか挙げると、アジャイルプラットフォームでは自動テストから継続的インテグレーション、バグ追跡からアジャイル計画など、さまざまな機能を提供するプラットフォームを提供します。アジャイルサービスではサービスレベルアグリーメントやプロジェクト管理サポートから、トレーニング、コンサルティング、メンタリングサービスまで提供します。 品質保証ツールは、開発プロセスのすべての段階で品質保証を提供するように設計され、顧客の要件を確実に満たすことにより、企業がより良い製品を作成するのに役立ちます。 アプリケーションセキュリティツールは、高度な保護を提供することにより、セキュリティリスクから企業を保護します。

Zephyrの特徴についていくつか紹介させていただきます。
一点目が、統合によりスムーズな連携を実現することです。 プロジェクトをスムーズに推進するためには複数のツールやプラットフォームなどを統合し効率的に利用することが重要です。 Zephyrでは優れたソフトウェアとバグのないコードのためにテスト管理、自動化、およびBDDを1つのツールにまとめることでスムーズな統合や連携を実現します。 これにより開発者やテストエンジニアなどの関係者がスムーズに必要な情報にアクセスすることが可能となり、 上記のプロセスによりベストプラクティスを共有し、組織としての能力を高めることができます。
二点目が、高品質の提供です。 Zephyrの分析とデータは、洞察とポイントを検証し開発者に提供します。 これらのレポートはプロジェクトの進捗状況をリアルタイムで監視し、展開、リリースの決定を検証して通知し、 チームの同期を維持します。Zephyrではエンドツーエンドのトレーサビリティを備えた高品質の製品を提供します。 Zephyrの高品質なレポートやそれに関連するツールは多くの開発者やテストエンジニアを支援します。
三点目は、テスト自動化とより速いリリースです。 テストの自動化はテストケースの作成と実行を自動化するプロセスであり、多くのプロジェクトにおいて重要であることは言うまでもありません。 テストを自動的に作成して実行し、コンピューターまたはモバイルデバイスで実行するソフトウェアは様々な種類が開発されておりますが、Zephyrも同様でその機能を搭載しております。 テスト自動化ソフトウェアは、反復的なタスクを自動化するために使用できるため、手動のテスト作業を削減することで時間と費用を節約します。 また、手動テストよりも迅速にバグを検出できる、より高品質のテストを作成するのにも役立ちます。 これらのツールは、アプリケーションのテストアクティビティを自動化するために組織でより頻繁に使用されています。 Zephyrではテスト自動化によるソフトウェア配信の重要な部分に焦点を当てることにより、高品質の製品をスピードとスケールで配信します。 Selenium、JUnit、Nunit、Robot、CIツールのJenkinsやBambooなど、有名かつ多くの企業に導入されているさまざまな自動化フレームワークでチームを強化します。

Seleniumについて

Seleniumについて簡単に紹介させていただきます。 Seleniumとは画面のテストを自動化し実行することを可能にするツールとして、最も利用されるサービスの一つとなります。人気の理由としては習得のための難易度が比較的低く、操作性が容易なためプロジェクトに影響を与えることなくスムーズに導入することができるためです。 また、一度習得してしまえば多くの現場で活用することが可能であるため、テスト自動化ツールとしてはデファクトスタンダードと言えるほどの地位を構築していると言えます。
Seleniumを理解するうえではテストの基礎から理解する必要があります。 テストを実行する際の方法として、WebブラウザにおいてITエンジニアが入力を行い検証するテスト方法と、 プログラミング言語やスクリプト言語を利用しテストを実行させる方法があり、Seleniumは後者に該当します。

テスト工程を理解するうえで必須となるのがV字モデルに関する知識となります。
V字モデルは「要件分析」「要件定義」「基本設計」「詳細設計」「製造」とテスト工程における 「単体テスト」「結合テスト」「システムテスト」「ユーザーテスト」を対応させ、それぞれをリンクさせる考え方となります。各工程の確認、検証作業を効率的に実施するために用いられる手法かつシステム開発におけるスタンダードな考え方の一つとして知られておりますので、各工程の知識とあわせて理解しておく必要があります。 V字モデルはドイツ政府関連のシステム開発工程を規定するために開発されたことがきっかけであり、 それぞれの工程を概念図としてあらわすことでソフトウェア開発の中で行うべき活動とその成果物が明確になるという点が特徴となります。 V字モデルの概念図の左側には「要件分析」「要件定義」「基本設計」「詳細設計」、右側には 「単体テスト」「結合テスト」「システムテスト」「ユーザーテスト」が表されます。
「要件分析」は「ユーザーテスト」とリンクしており、ユーザーが要件通りにシステムが作成されているかを確認するテストとなります。
「要件定義」は「システムテスト」とリンクしております。要件定義とは、プロジェクトを始める前の段階で、必要な機能や要求をまとめたものであり要件定義書には 詳しく必要な機能一覧や業務フロー図などが記載され、それらを参考にすべてのシステム開発が実装されます。 システムテストでは、要件定義で決定した内容がしっかりと実装されているかを確認、検証するのことになります。 「基本設計」は「結合テスト」とリンクしております。基本設計とは要件定義の次の工程であり、機能ごとにどのような業務を行うかを明確に定義していく形となります。 例えば、システムの画面や帳票、バッチ処理、ハードウェアやミドルウェアなどについて具体的に基本設計書に記述していきます。 インターフェーステスト、業務シナリオテスト、負荷テストの実施などがシステムテストで行うテストの内容となります。
「詳細設計」は「単体テスト」とリンクしております。 詳細設計とはプログラム設計の前段階として基本設計で決定した内容をシステムとしてそれをどう実現するかを具体的に決定していきます。 モジュール単位でテスト、ホワイトボックステスト、ブラックボックステストの実施などが単体テストの内容となります。 V字モデルにおいては、システム開発の工程で何をすればいいのかというテストの作業内容点が明確になるということが大きなメリットとなります。 また、テストの進捗の管理を行いやすくスケジュールの遅れや予定との乖離を防ぐことができるため、 プロジェクト運営上のリスク回避にも繋がります。 また、各工程のテストをしっかりと実施することで次の工程に進んだ際の修正の負担を軽減することもV字モデルの特徴と言えるのではないでしょうか。

これらを理解したうえでSeleniumについて説明させていただきます。 Seleniumは2004年にThoughtWorks社により開発が行われ歴史が始まり、その名前の由来は原子番号34の元素であるセレンに由来があると言われております。 目的はテストにおける自動化の実現であり、ツールは同年にオープンソース化されております。 2007年にはWebDriverと称されるブラウザ自動化ツールを開発しリリースされ、「Selenium WebDriver」「Selenium 2.0」プロジェクトが開始されております。 その後「Selenium Grid」と呼ばれる複数のSelenium テストを複数同時に実行できる機能の実装などを 経て現在に至って、現在でも多くのエンジニアにSeleniumは利用されているテストツールの一つです。
Selenium IDEは、Seleniumテスト用の統合開発環境(IDE)の名前であり、最大の特徴はWebブラウザ上でユーザーの操作を記録し実行することを可能にするツールとなります。 また、Selenium WebDriverも市場に多く導入されているサービスの一つであり、高い知名度を誇ります。 WebDriverは、ユーザーがローカルまたはSeleniumサーバーを使用するリモートマシンで行うように、ブラウザをネイティブに動かし、ブラウザの自動化に関して大きく前進します。 Selenium WebDriverは言語バインディングと個々のブラウザ制御コードの実装の両方を参照します。 Selenium RC の後継として、課題であった中継サーバの問題やセキュリティの問題を解決したツールです。 SeleniumはWebDriverを介して、Chrome/Chromium、Firefox、Internet Explorer、Edge、Opera、Safariなどの ブラウザをサポートする形となります。また、WebDriverは、ブラウザーに組み込まれている自動化のサポートを使用してブラウザーを動かします。

Zephyrの詳細について

Zephyrの詳細について説明させていただきます。 ZephyrはZephyr Squad、Zephyr Scale、Zephyr Enterpriseの3つのパッケージが用意されております。 それぞれについて説明させていただきます。

Zephyr Squad

Zephyr Squadでは、Jira内のアジャイルチーム向けの柔軟なテスト管理を実施します。具体的には基本的なテストの設計と実行、自動化とBDDおよびCIツールとの統合、単一プロジェクトのレポート、といった基本的な機能を提供します。
その特徴の一つにテスト自動化があります。 テスト自動化により、さまざまなテスト自動化フレームワークからテスト結果をZephyr Squadテスト実行サイクルに直接インポートできます。 これにより、自動化されたテストプロセスの完全な可視性とトレーサビリティが保証されます。 アップロードするファイルまたはファイルをアップロードするソフトウェアエージェント(ZBot)を指定する自動化タスクを実行して、テスト結果をインポートします。 テスト自動化を使用してテスト結果をインポートすると、自動化タスクの作成時に指定したサイクルとフォルダーに対応するテストケースを作成し、通常どおりZephyr Squadでそれらを操作できます。
また、Zephyr Squadは拡張性に優れていることも特徴の一つです。Cucumber、Jenkins、Selenium、Junitなどの一般的な自動ツールとフレームワークからのテスト結果を同期し利用することができます。 また、テストにおいてはレポート機能やダッシュボード機能が非常に重要となります。 それらはプロジェクトの品質を大きく左右し、開発者やテストエンジニアのパフォーマンスを左右するツールだからです。 Zephyr Squadはトレーサビリティ、テストの実行、主要な欠陥などに関するプロジェクト固有のレポートとダッシュボードガジェットを活用し、開発者やテストエンジニアに優れた洞察や分析を提供します。
以上が簡単ではありますがZephyr Squadに関する説明とさせていただきます。

Zephyr Scale

Zephyr ScaleではJiraでのスケーラブルなテストを実行することが可能で、大規模な再利用性機能、高度なテストリポジトリと計画、自動化とBDDおよびCIツールとの統合、クロスプロジェクトレポートなどの機能、Jiraで大規模なテストを計画、管理、測定します。
Zephyr ScaleではJiraでテストをスケーリングし、クロスプロジェクト階層テストライブラリ、パラメーター、テストデータ、共有ステップを提供します。 また、可視性、データ分析、およびコラボレーションの向上: 70を超えるプロジェクト間レポート、60のガジェット、および60のConfluenceマクロにアクセスすることが可能で、監査とトレースが簡単という特徴があります。 例えば、詳細な変更履歴、テストケースのバージョン管理、Jiraの問題とConfluenceページを使用したエンドツーエンドのトレーサビリティなどを提供します。
Zephyr Scaleでは大規模なテストケースライブラリの再利用性を高める効果的な方法を提供します。 モジュール式のテストケース設計アプローチを採用し、このアプローチでは、テストケースまたはステップを複製またはコピーして貼り付けるのではなく、それらを小さな再利用可能な部分に分割し、テストを再結合して、より大きなエンドツーエンドのテストシナリオを実現することを強調します。 さまざまなサイクルやリリースにわたって広く適用可能で再利用可能なテストケースを実現し、データ入力を使用して色々な状況で再利用できるための機能を提供します。
以上が簡単ではありますがZephyr Scaleに関する説明させていただきます。

Zephyr Enterprise

Zephyr Enterpriseでは、Jira内外での企業全体のテストを実施する機能を提供します。 具体的には双方向のJira統合、エンドツーエンドのトレーサビリティ、エンタープライズグレードのテスト計画と監査、サードパーティの自動化フレームワークの柔軟なサポート、レガシーALM移行パスと移行計画 、プレミアムエンタープライズサポートの機能を提供します。 Zephyr Enterpriseを使用すると、単一のツールからすべてのテストアクティビティの品質、速度、およびプロセスを最適化できます。テストケースと計画の作成から、ユーザー要件の定義、レポートの生成まで、ソフトウェアをより迅速に、より少ないバグで提供するために必要な洞察、柔軟性、および可視性を提供します。
以上が簡単ではありますがZephyr Enterpriseに関する説明とさせていただきます。

まとめ

いかがでしたでしょうか? Zephyrについて説明させていただきましたので、参考にしていただけましたら幸いです。