技術文書
QNX ソフトウエア システムズ株式会社
ソフトウエア開発におけるテストの役割とは?システム実績に関わる新しいテストの意義について
ソフトウエアが内包する内部状態の数は宇宙空間に存在する陽子の数をも上回る。あらゆる状態をカバーするテストが物理的に不可能ならば、テストの意義とはどこにあるのか?「ソフトウエアの実績を証明する手段」としてテストを考えてみると、その答えが見えてくる。
コンテンツ情報
公開日 |
2014/08/18 |
フォーマット |
PDF |
種類 |
技術文書 |
ページ数・視聴時間 |
5 |
ファイルサイズ |
396KB
|
要約
ソフトウエア ベースのシステムを開発する際のテストの役割は、近年劇的に変化している。以前から多くのテスター グループが要件ベースのテストからリスク ベースのテストへと移行しており、2013 年にリリースされた ISO/IEC 29119 ソフトウエア テスト規格にはこの変化が反映されている。今やソフトウエア システムのテストは、システムの整合性のデモというよりは、実績を証明する方法とみなされている。
ソフトウエアの「発生しうる内部状態」は膨大な数にのぼり、何人たりとも、ソフトウエアベースのシステムが完璧にテストされているとは決して言いきれない。また、ある1つのバージョンのシステムで集められた confidence-from-use データ、つまり「使用実績から確信できるデータ」を、微細な変更が加えられた別のバージョンの数値として頼りにすることもできない。
本稿では、使用実績に基づくソフトウエアの信頼性を考える上での「confidence-from-use」という概念について解説するとともに、高信頼性システムを構築する上でソフトウエアのテストが果たすべき新しい役割について考察する。