IVECとは

IVECとは、ソフトウェア検証に関わる企業が集まり、検証を産業化しようという目的で活動しているIT検証産業協会(通称IVIA(アイビア))が運営しているIT検証技術者認定試験(IT Verification Engineer Certification)(通称IVEC(アイベック))です。

検証技術に関する資格と言えば、ASTER(ソフトウェアテスト技術振興協会)が運営しているJSTQBがありますが、JSTQBはソフトウェアテストに携わるエンジニアの技術向上を目的として、その知識を問う形になっています。一方IVECは、現場でソフトウェア検証に関わるエンジニアのスキルレベルを客観的に計ることを目的として、現場における実務を重視した内容になっています。

IVECはキャリアレベルを7段階に分けて定義しています。

キャリアレベル 技術者名称 人物像 おおよそのイメージ
レベル7 上級IT検証技術者レベル3 スーパーマン、研究者、上級コンサル テスト業界に影響を与えられる人物
レベル6 上級IT検証技術者レベル2 上級PM、プロジェクト最終責任者 顧客の要求を含めて、プロジェクトをみる(営業・技術・教育も)
レベル5 上級IT検証技術者レベル1 PM、技術リーダー テスト工程の計画から実行まで管理する
レベル4 中級IT検証技術者レベル2 テスト設計者 テスト実行ケースの設計から実行までとりまとめる
レベル3 中級IT検証技術者レベル1 テスト実行からテスト設計への通過点 テスト実行ケースの設計にとりかかれる
レベル2 初級IT検証技術者レベル2 テスト実行のとりまとめ テスト実行をまとめ、テストケースの理解を深める
レベル1 初級IT検証技術者レベル1 テスト実行者 テスト実行を覚える

※IT検証産業協会のサイトから引用

IVECの認定試験は2014年10月現在はレベル5までしかありません。レベル6以上の認定試験がこれから出てくるのかは不明ですが、レベル7は試験で認定するようなレベルではありませんので、試験は無いでしょう。

このようにIVECは、ソフトウェア検証の現場で活躍するエンジニアの皆様が、対外的に自身のレベルを見せる際や、自身のレベルを向上させるための指針として役立ちます。

ソフトウェア品質の作り込み構造について

ソフトウェア品質向上の取り組みを議論する際に、まずはソフトウェア品質の作り込み構造を正しく理解しておくことが必要と思います。

ソフトウェア検証の世界では、「検証で品質を担保したい」という話が出てきます。ですが、ソフトウェアの品質を検証だけで向上させるには限界があり、ソフトウェア開発全体の構造を理解した上で検証の役割を明確にする必要があります。大雑把に言うと、V字モデルの左側のプロセスで品質を作り込み(バグも埋め込み)、V字モデルの右側のプロセスで品質を確認します(バグも検出します)。この構造を認識することと、「ソフトウェアはすべての動作をテストすることは現実的には不可能」であることを考えれば、検証(V字モデルの右側)だけで品質を担保することが困難であることは明確です。

そもそも「品質を担保する」とはどういうことでしょうか?正しい言葉の使い方はあるにせよ、ソフトウェア開発の中で「品質を担保する」と出てくれば、「ユーザが使っている中でバグが出ないことを保証する」ということと同義で使われていることがほとんどと思います。この意味を考えれば、「ユーザが使っている中でバグが出ないことを保証する」ことを検証だけで実現するのは不可能であることがわかると思います。

ソフトウェア品質を向上させるためには、上記の品質の作り込み構造から、以下の2つのアプローチがあります。

  • ソフトウェア開発(V字の左側)からのアプローチ
  • ソフトウェア検証(V字の右側)からのアプローチ

ソフトウェア開発からのアプローチとは、そもそもソフトウェアを作る段階からバグが出ないような仕組みを作ろうというアプローチです。具体的には形式手法やモデルベース開発などがあります。

ソフトウェア検証からのアプローチとは、ソフトウェアを作るのは人間なので間違うことを前提として、作ったものを確認する視点から品質を上げようとするアプローチです。具体的には検証手法、検証ツールやW字モデルなどがあります。

本サイト(株式会社ソフトウェア品質のサイト)では、上記2つのアプローチを分けた上で、両アプローチ共に対象として議論する場にしたいと思います。

ソフトウェア品質や本サイトに関するブログです