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

  • TOP
  •   
  • コラム
  •   
  • IT検証技術者認定試験(IVEC)と

IT検証技術者認定試験(IVEC)の概要について

ここでは、IT検証技術者認定試験(IVEC)について説明させていただきます。 IVECは一般社団法人IT検証産業協会(IVIA)が認定するテストエンジニアの資格試験です。 テストエンジニアが関連する資格は比較的少なく、最もメジャーな資格がJSTQB(Japan Software Testing Qualifications Board)認定テスト技術者資格となります。 JSTQB認定テスト技術者資格とIVECの異なる点について簡単に触れておきましょう。
JSTQB認定テスト技術者資格は、レベルがAdvanced LevelとFoundation Leveの二つのレベルの試験に分類されております。 一方で、IVECは細かく試験のレベルが分類されておりますので、自身のレベルに応じて資格取得することが可能となります。 また、IVECを学習して基礎を固めながらJSTQB認定テスト技術者資格を目指して学習するといったこともできますので、自身のあった学習でレベルアップを狙うことができる点も魅力です。

Foundation Level

JSTQB認定テスト技術者資のFoundation Levelについて説明させていただきます。
このクラスはエントリークラスの試験となり、これからソフトウェアテストの経験を積む若手エンジニアや体系的な知識を身につけたい方に適切な難易度となります。 例えば、テスト担当者、テストアナリスト、テストエンジニア、テストコンサルタント、テストマネージャー、ユーザー受け入れテスト担当者、ソフトウェア開発担当者などの職種がそれらに該当します。 これらの職種ではJSTQB認定テスト技術者資格のFoundation Levelを学習することで、ソフトウェアテストがメインの業務でなくとも知識を有していることで業務をスムーズに行うことができるようになるでしょう。

Foundation Levelの領域

Foundation Levelの内容についても簡単に触れておきます。
テストの基礎、ソフトウェア開発ライフサイクル全体を通してのテスト、静的テスト、テスト技法、テストマネジメント、テスト支援ツールと6つの領域によって構成されております。 これらを学ぶことでソフトウェアテストに関する知識を体系的に学ぶことが可能となっており、実践でも利用できる知識を獲得することができます。
テストの基礎では、テストに関連する基本的な原則、テストが必要な理由、テスト目的、テストを成功させるための原則について出題されます。 テストプロセス、主要な活動、作業成果物についても問われます。 テストプロセスは、テストエンジニアにとって基礎的な知識で、これは問題を特定して修正することを目的とした、製品をテストする体系的な方法であり、品質保証とも呼ばれます。また、さまざまなテストレベル、テストタイプ、メンテナンステストで作業する際の影響度分析についての理解が必要となります。
ソフトウェア開発ライフサイクルは、ソフトウェアを作成、テスト、および保守するプロセスです。これは、ソフトウェアが正常に完了し、ユーザーのニーズを満たしていることを確認するのに役立ちます。 ソフトウェア開発ライフサイクルには、設計、実装、保守の3つのフェーズがあります。 設計フェーズには、要件分析と高レベルの設計ドキュメントの作成が含まれます。実装フェーズには、高レベルの設計ドキュメントに従ってアプリケーションのコードを記述することが含まれます。 最後に、メンテナンスフェーズでは、アプリケーションにバグやエラーがないかテストされ、ユーザーにリリースされます。 近年のソフトウェア開発では様々な工程でテストが盛り込まれ、それらを前倒しで実施するなどテストおよびソフトウェア全般についての高い知見が求められるケースが増えております。 この項目をしっかり学習することで、そのような知識を身につけることができるでしょう。
静的テストでは、静的解析やレビュー(非形式的レビュー、ウォークスルー、テクニカルレビュー、インスペクション)など、さまざまな静的テスト技法に関する知識が問われます。 また、作業成果物の欠陥を検出するために、レビュー技法の適用方法を理解する必要があります。
テスト技法では、ソフトウェア作業成果物からテストケースを導出するためにテスト技法の適用方法を理解する必要があります。 ソフトウェアテストを実施するにあたっては様々な方法があり、プロジェクトによって柔軟に利用してブラックボックス、ホワイトボックスなどの一般的なテストに関する知識を理解する必要があります。

Advanced Level

JSTQB認定テスト技術者資格のAdvanced Levelについて説明させていただきます。
Advanced Levelは、Foundation Levelと比較すると一定のキャリアやスキルを有した方向けで比較的難易度の高い認定資格と言えます。 対象職種としてはテスト担当者、テストアナリスト、テストエンジニア、テストコンサルタント、テストマネージャ、ユーザ受け入れテスト担当者、ソフトウェア開発者などです。 また、プロジェクトマネージャ、品質管理マネージャ、ソフトウェア開発マネージャ、ビジネスアナリスト、IT部門長、経営コンサルタントなども該当します。Advanced Levelからさらに上位レベルであるExpert Levelを獲得することでさらなるキャリアアップを狙うことも可能となります。 Foundation LevelとAdvanced Levelを比較した場合、マネジメントや上級管理職といった職種がマッチする点がその特徴と言えるでしょう。

Advanced Levelの領域

Advanced Levelの出題内容についても簡単に説明させていただくと、テストプロセス、テストマネジメント、レビュー、欠陥マネジメント、テストプロセスの改善、テストツールおよび自動化、スタッフのスキル・チーム構成の7つの分野から構成されております。いずれも実践で深く関わる専門的な知識ばかりなので、しっかりと理解しておく必要があります。
テストプロセスは、Foundation Levelにおいても出題されますが、Advanced Levelではさらに難易度の高い内容が出題され、理解度が問われる構成となっております。例えば、テスト管理者が必要なテスト計画、テストモニタリングおよびテストコントロールのタスクの理解や実施といった点は実際のプロジェクトの運営に大きく関わってくる部分です。また、プロジェクトを過去に遡ってレビューする方法に加えて、プロセスの検証および改善部分の検出の方法などの知識を獲得することができます。 これらも実際のプロジェクトにおいて効率的に業務を推進するために有効な方法と言えるでしょう。 ソフトウェアテストプロセスは、さまざまなステップとアクティビティで構成されており、それを改善する方法は 多くの方法が準備されております。一部の改善は小規模で段階的ですが、その他の改善にはテストプロセスの実行方法に大きな変更が含まれる場合があり、これらのアプローチはバクの削減、コスト削減、スキル向上など多くのメリットをチームにもたらします。 これらについて正しい知識を獲得することはテスト管理者として重要であることは間違いありません。
テストマネジメントの内容は多岐に渡り、かつプロジェクトへの影響が大きいこともありJSTQBでもその扱いは大きく比重を置いている分野となります。 テストマネージャーにとって、プロジェクトの内容に従っていかにテストマネジメントタスクを定義するかを 学ぶことは必須となります。Advanced Levelのテストマネジメントでは、プロジェクトにおける多くステークホルダーの考慮して、ソフトウェアライフサイ クルモデルに対してテスト活動を調整することが求められております。 これらの知識は単純にソフトウェアテストやその品質に関わる部分のみだけでなく、管理における様々な知識が必要とされるものとなります。さらに詳しく解説すると、リスクベースドテスト(RBT)におけるテスト優先順位付けおよび作業割り当てに関して詳細にカバーするための知識が必要となります。 テスト対象およびプロジェクトにおけるリスクの識別、分析、アセスメントなどの他に特定の技法を学習する他、リスクレベルを評価してリスク軽減に必要な一連のテスト活動を定義する際にステークホルダーの視点を理解することも求められます。 また、それとセットとして適切なリスクコントロール活動を実行し、テストマネージャは顕在するリスク を判断する方法を学び、情報に基づいてリリース判断を下したことをプロジェクトステークホルダへ報告することも重要なミッションの一つとなります。 また、 テストマネージャは、様々なテストドキュメントを評価してプロジェクトおよび組織のニーズに合わせて カスタマイズする方法を学習することが求められます。
レビューは非常に重要な役割で、プロジェクトにおいて適切なレビュー計画を定義し実行することはプロジェクトの運営および品質に大きな影響を与えます。 そのため、テストマネージャーはメトリクスを使用してレビュー結果を最適化し、投資効果を示す方法を学習しレビューチームをどのようにリードするかを理解することが求められます。このようにソフトウェアテストのレビューに関する応用的かつ包括的な知識が出題されます。
欠陥マネジメントは、製品などの欠陥を特定して修正するプロセスです。 欠陥管理システムを持つことが重要である理由はたくさんあり、ソフトウェアのステータスの追跡、バグの特定と修正、品質の向上、およびソフトウェア開発プロセスのメトリックの作成に役立ちます。 特に組織にとって、これらの欠陥を特定して修正するための欠陥管理プロセスを実施することが重要であるため、 管理者は正しい理解をする必要があります。 欠陥追跡システムを作成する方法としては単純なスプレッドシートから、プロジェクト管理ソフトウェアと統合する、より複雑なシステムやツールまで多くのものが存在しますが、常にプロジェクトに見合ったテクノロジーを導入するといいでしょう。テストマネージャーは、採用されたソフトウェアライフサイクルに合わせた欠陥ライフサイクルを構築する方法について深い理解が求められます。 テストマネージャーに必要は欠陥レポートを分析する際に習得すべきスキルを理解する必要があり、欠陥レポートの分析の目的は、テストおよびソフトウェア開発プロセスの能力を評価するためとなります。
テストプロセスの改善では、標準的なテストプロセス改善の取り組みを実行する一般的なステップに加えて、このステップを基にテスト改善計画を策定する方法を学習することが必要となります。 また、テストプロセス改善モデルである TMMi、TPI Next、CTPおよびSTEPについての知識が必要となります。 TMMiはテストプロセス改善のためのガイドラインとリファレンスをまとめたフレームワークとして知られております。TMMiおよびCMMIは、組織がソフトウェア製品およびサービスの品質を向上させるのに役立つソフトウェア開発プロセスモデルです。 これは、開発プロセスのさまざまな側面を評価するために使用される一連のガイドラインとして、ソフトウェアテストなどで実行されます。 これらのガイドラインは、より優れた製品とサービスを提供する組織の能力を向上させるためにプロジェクトに導入されます。 リスク評価フレームワークは、リスクを特定、分析、および管理するための一連の手法とプロセスであり、組織に影響を与える可能性のあるリスクを特定して分析するための体系的なアプローチです。 これには、リスクの特定、リスク分析、およびリスク対応が含まれます。 このプロセスは、あらゆる種類の組織、あらゆる業界セクターまたはコンテキストに適用できます。このフレームワークの目的は、組織が直面しているリスクを特定し、それらを効果的に管理するための措置を講じることができるようにすることです。
テストツールおよび自動化では、リスク、コスト、メリットおよび機会を的確に検討し、メトリックのデータ収集および評価のためのツールの活用についての理解についての知識が必要となります。 ソフトウェアテストは、ソフトウェアプログラムにバグ、エラー、欠陥がないことを確認する重要な工程で、顧客満足度を向上させるための重要なプロセスです。 人が手動で行うことも、ソフトウェアテストツールを使用して自動的に行うこともできますが、手動テストは時間と費用がかかるため、時間とお金を節約する目的で、最近では自動テストツールが広く使用されています。 特に近年では、アジャイル開発者DevOpsなどの考え方においてテスト工程の重要さが増してきていることもあり、多くのテスト自動ツールが開発され、導入されるプロジェクトが増えてきております。 Advanced Levelのテストツールおよび自動化では、テスト管理者およびテストエンジニアとして必要なテストツールや自動化ツールについての理解が必要となります。
以上がJSTQB認定テスト技術者資格のAdvanced Levelに関する説明とさせていただきます。

IT検証技術者認定試験(IVEC)の概要について

次にIVECの概要について説明させていただきます。
IVECは2017年まではレベル毎に知識試験と実務試験を設け、両方の試験に合格者した人を当該レベルの認定者として扱っておりましたが、2018年以降にシステムが変更となりました。 2018年以降は実務力を問う記述式試験に統一した点が大きな変更点となります。 従来の実務試験が廃止され、その一方で記述式試験でより深い知識が問われるようになりました。 また、IVECは組み込み、エンタープライズ領域など特定の領域に関わることなく 業務で利用できるテストの知識を獲得することが可能な試験となっております。 エントリーレベル、ミドルレベル、ハイレベルというように難易度によって分類されているので、それぞれの内容について詳しく解説させていただきます。

エントリーレベル

IVECのエントリーレベルでは、ソフトウェアテストの実務で「テスト実行/不具合報告」の工程を実施できることが求められます。エントリーレベルの1と2があるため、まず、レベル1について説明させていただきます。
ここではテスト実行の工程全体を通して、テスト実行と期待値確認および不具合報告を実施することができる技 術者を目標としています。これらには、テストの実行に必要な準備のほかに自己のスケジュール管理や「報告」「連絡」「相談」などのコミュニケーションの能力や実務に必要なソフトウェアテストの用語理解も含みます。
レベル2ではテスト実行の工程全体を通して、テスト実行とテスト実行の管理ができる技術者を目標としています。 これらには、レベル1の「スキル」「知識」に加え、「テスト実行の管理(「リソース」「工程」「目標」「要 員」「リスク」「テスト実行の品質」)などと、実務に必要なコミュニケーションの能力やソフトウェアテ ストの用語理解も含みます。
IVECのエントリーレベルの試験におけるテスト実行を細分化すると、 テスト実行計画 、テスト環境準備、テストケース準備、テスト実行、テスト実行記録、不具合報告、テスト実行報告、となりますので、それぞれについて簡単に紹介しておきます。

実行計画では、調査すべきテスト対象の情報、内容についてしっかりと把握する必要があります。 実際の現場においてテスト前に入手するマニュアル、仕様書、テストケースから得られる情報として、画面の 動き、機能などが挙げられます。これらを完全に覚える必要はありませんが、テスト中に困ったと きなど、すぐ確認できるように分からない情報がどこに記載されているかをはっきりと理解しておく必要があります。 こういった資料をしっかりと読み込み確認をしておくことで、作業の効率向上やパフォーマンス向上を期待することができるでしょう。
また、テスト実行計画においてはテスト実行計画の立案のフェーズも重要になってきます。 ここでは、テスト実行エリア、実行テストケースの抽出、優先順位の定義(優先順位の設定方法)などの具体的なテスト目標の設定を習得する必要があります。テスト実行エリア、テストの目的によってテストケースの優先度が変わる場合、またテストサイクルやフェーズでテストの目標が設定されます。テスト実行担当者に周知徹底させることによって、よりまとまったチームを組むことができます。 これらのテスト実行計画をより具体的に精度を高めることがスムーズなテスト実施や運営に繋がるといってもいいでしょう。
実際にテストを行う際のスケジュールについても同様に重要です。 テスト実行スケジュールの立案で考慮すべき、テストサイクルやテスト種別、作業の振り分けなどの項目を習得することもこの項目では問われます。具体的には作業の振り分け、どのテストサイクルで行うテストなのか、またどの種別のテストを行うのかなどです。実行中にスケジュールが修正されることが頻繁に起こるプロジェクトのテストチームでは柔軟に対応できるスケジュールを組む必要があるなど柔軟な対応が求められます。
さらに、テストの組織図を作成して実施することも実行計画に含まれます。 テストチーム体制だけでなく、開発チームの体制やプロジェクトの責任者などのステークホルダーを確認してスムーズな連携を心がける必要があります。 テスト実行中は、日次の進捗報告や不明点の確認など、常にテストチーム以外とも連絡を取る必要があります。名前やメールアドレスなども併記しておくと、緊急で連絡を取らなければいけない場合に参考になります。 また関係者の役割を明確にするというメリットもありますので、これらを考慮した組織図を作成し配布しましょう。ちなみに、組織図だけでなく関係者のコミュニケーション方法についても理解しておく必要があります。 メールや構成管理ツールなど作業環境によってコミュニケーションをとる手段は異なりますが、いずれにしても迅速に、そして確実にコミュニケーションをとることが大切です。 仕様変更が入った場合など、必須となるコミュニケーションのタイミングがある場合は、あらかじめ連絡方法を確認する必要があります。またテスト実行時に開催される会議体の種類、主催者、出席者、役割などを事前に把握・理解しておく必要があります。

IVECのエントリーレベルのテスト実行計画においては以下のような内容も学習します。
重要な点はテスト実行の見積り(試算)を実施することです。 テスト実行の見積り方法と必要性を理解することはテスト管理者にとって大切なタスクの一つです。 一日に一人何件のテストを終わらせることができるか、どれくらいの不具合件数が発生するのかなど、スケジュ ール通りにこなすためには事前に試算が必要であり、それらをテスト計画に組み込みます。 一日あたりのテスト実行数が試算と大幅に変わる場合は、改めて見積もりを実施する必要があります。過去のテストが参考になることもあります。 また、テスト実行時のリスクを検討し、テスト実行を阻害する要因の検討と発生時の対応を検討することも大切です。 テスト実行を阻害する“要員のトラブル”や“テスト対象の品質”や“ブロックバグの存在”“機器の不足や故障”、“コミュニケーションのミス”など具体的な要因を習得する必要があります。 これらのトラブルは一定のパターンによって現れます。事前にパターンを把握しておき、その対策を理解しておくことでスムーズな対応を行うことができます。 人的なトラブル、テストケースのミス、ブロックバグなど様々な要因がリスクとして挙げられます。プロジェクトのテスト実行管理者としての予測、責任の所在、発生時の対応を検討する必要があります。 例えば過去に発生したトラブルを参考にリスク一覧(表)と対策表を作成することも有効な方法の一つです。 過去に発生したリスクの一覧とその際の対策表は次回のテストに向けての重要な情報とな ります。プロジェクトのテストチーム特有のリスクなども十分に考えられるので、過去に発生したトラブル集を確認しておく必要があります。
以上が簡単ではありますが、IVECのエントリーレベルの説明とさせていただきます。

ミドルレベル

IVECのミドルレベルでは、IT検証技術者に求める「スキル」と「知識」の習得を目標としています。具体的には、ミドルレベルにはソフトウェアテストの実務で「テスト詳細設計」「テスト実装」「テスト報告」の工程を実施できることが求められます。 ミドルレベルのレベル3について説明させていただくと、テスト詳細設計書(テスト詳細設計の出力)から、テスト実行が可能なテストケース(テスト手順書、テストデータ(およびデータ作成手順)、判定基準(期待値)、テストスクリプト等を示す)を作成できる技術者を目標としています。この作業をテスト実装といいます。これらには、テスト実行で必要なテストケースの分類や予想テスト実行時間の情報、およびテストの実行者へテストケースの目的を伝達する事が含まれます。また、テストケース(テスト実装の出力)は、テスト対象の仕様変更に随時対応するためにメンテナンス(保守性)やポータビリティ(再利用性)を考慮します。
ミドルレベルのレベル4について説明させていただきます。 テストアーキテクチャ設計やテストの要求から、テストのアプローチやテストの目的に合ったテストの詳細設計ができる技術者を目標としています。テスト詳細設計のテストカバレッジ(テスト対象の網羅性)設計や組み合わされるコンディション(条件)やコンフィギュレーション(環境)などの考慮も含まれます。
また、テスト詳細設計書は、テスト対象の仕様とのトレーサビリティも考慮します。
以上が簡単ではありますが、IVECのミドルレベルに関する説明とさせていただきます。

ハイレベル

IVECのハイレベルでは、IT検証技術者に求める「スキル」と「知識」の習得を目標としています。具体的には、ソフトウェアテストの実務で「テスト要求分析」「テストアーキテクチャ設計」「テスト評価」の工程を実施できることが求められます。 特に、ソフトウェアテストにおいて最上流工程であるこれらの工程の品質はテスト全体のパフォーマンスを大きく左右しますので、しっかりと学習する必要があります。
例えば、テスト要求分析はソフトウェアテストの中でも重要な役割を担います。テスト要求分析では、テストプロジェクトへの要求そのものの他に、テスト対象およびテスト対象外の範囲や制約事項などの情報を入手して分析し、テスト要件として定義する工程となります。 ソフトウェアテストは、テスト活動単独では品質改善活動になりにくく、テスト対象の品質を見極めるテストと品質を作りこむ開発作業が協調して、品質の改善を行うことができます。したがってテスト活動に対する要求を正しくとらえて実施する必要があります。それらを実現するにはソフトウェアテストの基礎的な知識は当然として、プロジェクトや顧客のニーズなど様々な知見が求められるでしょう。
また、テスト活動のゴール(終了基準やカットオーバークライテリア、リリース基準など)をテスト要求に基づいて定義することも非常に重要です。これらの設定が定かでないと延々とテストが続いて収束に向かわせることが困難になり、プロジェクトに対して大きな影響を与えてしまうことになりかねないというのがその理由です。

テスト要求分析についての理解を深めるために補足の説明をさせていただきます。 テスト要求分析を実行する際には開発の設計書などのドキュメントベースだけでなく、インタビューなどから要求を引き出します。インタビューなどは、テスト要求に対するステークホルダを調査しアサインします。 これにより、より必要な機能やニーズなどについての理解が深まり、必要なサービスを設計することができます。 また準備フェーズでは、入手すべき情報の整理をすることと、入手の手段およびその経路が正当であることを示しておく必要があります。
テスト要求分析における主なインプットとしては、マスターテスト計画、テスト要求への取得概要(一覧)、ドキュメントベースのテスト要求、要求仕様書、開発設計書、過去テスト計画書/報告書などです。また、テスト要件分析における主なアウトプットとしては、テスト要求への取得概要(一覧)、インタビュー報告書、議事録等、不足情報の管理表などです。
テスト要求の獲得では、準備で入手したドキュメントやインタビュー/ヒアリング情報からテスト要求 にインプットする情報を抽出します。テスト要求を抽出するとともに、入手した情報が要求なのか阻害要因なのか、さまざまな分類と関連付けを実施しておきます。
また、テスト要求の獲得では、一方的に情報を収集するのではなく、収集した情報を整備して妥当な情報であることを要求元と確認を行うことが重要です。テスト要求へのインプットとなる情報は、テストレベルによって異なります。
テスト要求の主なインプットとしては、品質計画、マネジメントシステム(品質/環境/セキュリティ等)、マスターテスト計画書、開発仕様書、プロジェクト計画書、テスト対象の利用環境に関する情報などです。主なアウトプットとしては、品質方針、テスト目的、品質目標、テストベース一覧、テスト対象/テスト対象外の範囲の一覧、概算コスト、大まかなスケジュールなどです。

では、次にハイレベルのレベル5について説明させていただきます。 ここではIEEE829-2008で定義されているテストレベル*注の中からどれか一つを、Test.SSFのテスト工程であ るテスト要求分析からテスト評価まで、すべてのテスト活動を掌握し統制します。担当するテストレベ ルに含まれる各工程の管理、および完遂の責務を負います。テスト工程におけるテスト開発技術、テスト管理技術を習熟し、状況に最善の活動を指示および実施することが求められます。
IEEE829-2008は、すべてのソフトウェアベースのシステムに適用され、開発、取得、運用、保守、および/または再利用されているシステムおよびソフトウェアに適用されます。 テストプロセスを実行するときは、システムの他の部分との相互作用でソフトウェアを調べることが重要です。 IEEE829-2008はシステムとソフトウェアの正確性およびその他の属性(たとえば、完全性、正確性、一貫性、およびテスト容易性)を決定する際に、テストプロセスとタスクが対処するシステムの考慮事項、および該当する結果のテストドキュメントを識別します。
次に、各タイプのテストドキュメントのドキュメント要素を選択できます。 テストの範囲には、ソフトウェアベースのシステム、コンピューターソフトウェア、ハードウェア、およびそれらのインターフェイスが含まれます。

最後に、ハイレベルのレベル6について説明させていただきます。 ここでは、IEEE829-2008 で定義されているテストレベルのすべてのテスト活動を掌握し統制します。これらはビ ジネスアウトカムに寄与するテスト活動を行なえることが重要となります。例えばテスト活動を通じて、 リリースのスケジュールやコスト、そしてビジネスを成功させる品質のコントロールを実施することが 求められます。
以上が簡単ではありますがIVECのハイレベルに関する説明とさせていただきます。

IT検証技術者認定試験(IVEC)に関連する資格について

IVECに関連する資格について説明させていただきます。
近年ではソフトウェアテストの重要性は高まる一方で、セキュリティやそれに関連する知識を絡めた資格が非常に重要となっていることも特徴の一つです。 その代表例が、CompTIAが主催する資格の一つのCompTIA PenTest+です。
CompTIAは1982年に設立され、ベンダーニュートラルなIT関連資格・認定などを行っている組織として業界で最も有名なものの一つと言えるでしょう。 CompTIA PenTest+はペネトレーションテストの手法、脆弱性評価、また攻撃があった際のネットワークを回復するために必要となるスキルを問う資格となります。 ペネトレーションテストとは、ネットワーク上の脆弱性を特定、報告、管理するための実践的な手法を指します。 これらは「侵入実験」や「侵入テスト」とも呼ばれ、情報セキュリティの重要性が増す昨今において非常に重要な知識です。
ペネトレーションテストと脆弱性診断はいずれも専門家がツールや専門知識を生かし 問題を診断する、という点においては共通しております。 そのため両者に厳密な違いがあるわけではありませんが、違いをあげるとすればその目的や手法となります。 脆弱性診断とはシステムに存在する脆弱性を様々な方法を使い広範囲にわたり調査する一方で、 ペネトレーションテストではターゲットに対して攻撃者の目線で様々な検証を実施するという点が異なります。 両者ともに脆弱性の評価やそれに関するテストの知識が問われる点においては変わりません。

では、CompTIA PenTest+の試験について説明させていただきます。
CompTIA PenTest+は「計画とスコープ」 「情報収集と脆弱性の識別」「攻撃とエクスプロイト 」「ペネトレーションテストツール」 「報告とコミュニケーション」 から構成されております。
試験は最大80問、単一/複数選択、パフォーマンスベースドテスト、165分で実施されます。 CompTIAが推奨する対象者は、3〜4年間のペネトレーションテスト、脆弱性評価、および脆弱性管理の実践経験となっておりますが、必須ではないので該当する業務経験が不足していてもCompTIA PenTest+を受検することは可能です。
「計画とスコープ」ではエンゲージメントを計画することの重要性、主要な法的概念を説明するための知識、 エンゲージメントに対する適切なスコープの重要性を説明する知識、コンプライアンスに基づく評価の重要性などに関する内容が試験範囲となっております。
「情報収集と脆弱性の識別」では与えられたシナリオに基づき適切な手法を用いて 情報収集を行うこと、与えられたシナリオに基づき脆弱性スキャンを 実行する知識、与えられたシナリオに基づき脆弱性スキャン結果を分析する知識、エクスプロイトの準備に情報を活用するプロセスを説明する知識、特化したシステムに関連する弱点を説明する知識に関する内容が試験範囲となっております。
「攻撃とエクスプロイト」ではソーシャルエンジニアリング攻撃を比較対照すること、 与えられたシナリオに基づきネットワークベースの脆弱性を利用する知識、与えられたシナリオに基づきワイヤレスとRFベースの脆弱性を利用する知識、与えられたシナリオに基づきアプリケーションベースの 脆弱性を利用する知識、与えられたシナリオに基づきローカルホストの 脆弱性を利用する知識、施設に関連する物理的なセキュリティ攻撃を要約する知識、 与えられたシナリオに基づきエクスプロイト後のテクニックを実行することに関する知識に関する内容が試験範囲となっております。
「ペネトレーションテストツール」では 与えられたシナリオに基づき、Nmapを使って情報収集演習を実施する知識、さまざまなツールの使用例を比較対照する知識、与えられたシナリオに基づきペネトレーションテストに関連する ツールからのアプトプットやデータを分析する知識、与えられたシナリオに基づき基本的なスクリプト (Bash、Python、Ruby、PowerShellに限る)を分析する知識に関する内容が試験範囲となっております。
「報告とコミュニケーション」では与えらえたシナリオに基づき、レポートの作成とベストプラクティスを 使用する知識、レポート後の実施アクティビティを説明する知識、 与えられたシナリオに基づき発見された脆弱性に対する 軽減戦略を提案する知識、ペネトレーションテストのプロセスにおける コミュニケーションの重要性を説明する知識が出題範囲となっております。
すでに説明した通り、経験者向けの認定資格であり比較的難易度が高い資格と言えるため、受験する際にはしっかりと学習を行い準備することが重要です。

CompTIA PenTest+の最も一般的な学習方法は、CompTIAの準備する「CertMster Learn for CompTIA PenTest+」を利用し試験の準備を行うことです。 こちらは英語のみの教材となりますが、実践的な内容を体系的に学習することが可能となっております。他にも、「CompTIA Labs」はラボにおける仮想空間で学習することが可能で、準備された仮想環境において、実際の実機を操作して試験に備えることができます。「CertMasterPractice」も英語のみとなりますが、オンラインでの学習を実施し試験に備えることができます。「Study Guide for CompTIA PenTest+」は書籍の参考書であり、CompTIA PenTest+のすべての出題範囲を網羅しております。
また、ITProTVを使用したビデオトレーニングも紹介させていただきます。こちらは英語のみとなりますが、インタラクティブなトークショースタイルの形式で、学習効果が高いトレーニングを受講することが可能となります。 また、インストラクターによるトレーニングも準備されております。
以上が簡単ではありますがCompTIA PenTest+に関する説明とさせていただきます。

まとめ

いかがでしたでしょうか?
IVECについて詳しく解説させていただきましたので、参考にしてみてください。