●トピック
●深く知る
システムを公開する前にはテストを実施します。単体試験、導入試験、結合試験、回帰試験、受入試験はもちろん、セキュリティ要件がある場合にはペネトレーションテスト(ペンテスト)を実施する。ペネトレーションテストは、プラグラムの設計ミスを対象としません。ネットワーク、ウォーダイヤリング、ワイヤレス、物理的などシステム全体を対象とします。これは、組織として実世界での適正な評価をしなければならないためです。こういった設計をするためには、ドメイン3のセキュリティアーキテクチャとエンジニアリングを参考にしていただきたい。
システムテストにはツールを利用するのが有効である。システムはユーザに見える部分だけではなく、とりわけAPIのようにシステム間で利用されるものは、ユーザからの問い合わせがない分、公開後のエラーも見つかりにくいうえ、多くものパターンの試験を反復的にしなければならない。こういった反復的なテストも、テストツールを使うことで自動で行うことができる。これに加え、現場のナレッジのある人間が実験的に試してみる試験も良い。典型的な試験を通すのは、要件定義の段階から認識があるため、エラーを発見することはできない。むしろ、開発者などの現場の人間が試しにやってみることも大切だ。