記事検索

検索ワードを入力してください。
Sky Tech Blog
テストアーキテクチャを​考えよう

テストアーキテクチャを​考えよう

テストアーキテクチャの定義やその重要性について説明します。テストアーキテクチャを導入することで、複雑なシステムのテスト計画と品質保証を効果的に行うことができます。

テスト工程の中にはさまざまな作業工程があります。
その中でテストの屋台骨ともいえる、テストアーキテクチャをご存知でしょうか。

テストアーキテクチャとは

テストの実現方法、概念、特徴、要素、関係性、設計方針を表現したものです。
実務イメージでは、テスト計画書とテスト設計書の間にあるものとイメージしていただければと思います。

例えば、以下のようなイメージです。

全体​方​針

テストレベル 目的 タイミング
単体テスト ユニットの動作が正しいことを確認する ブランチごと
結合テスト ユニット間結合の動作が正しいことを確認する メインブランチごと
システムテスト システムの動作が正しいことを確認する リリースごと

システムテスト方​針

テストタイプ 詳細テストタイプ 目的
機能テスト 仕様書照合テスト 要件定義書に記載の通りの動作を行うことを確認する
画面遷移テスト 画面遷移書に記載の通りの動作を行うことを確認する
非機能テスト 障害テスト 一部システムの障害発生時にフェール動作を行うことを確認する

テスト構造

サイクル 前工程 テストレベル
CI 実装 単体テスト
1か月ごと インテグレーション 画面遷移書に記載の通りの動作を行うことを確認する
リリースごと 結合テスト 一部システムの障害発生時にフェール動作を行うことを確認する

etc...

上記以外にもテストタイプごとのリスク、テストシステム(ツール)と対象テストの一覧などを整理していきます。
さらにはテストタイプごとにテスト構造(条件、因子の考え方)も記載していきます。

何の​ために​テストアーキテクチャが​必要か

以下の理由から、テストアーキテクチャが必要と考えています。

  • ただでさえテストの重要性や必要性がわかりづらい中で、テスト計画書とテスト設計書だけでは複雑大規模なシステムのテストの満足度をチェックし、理解することは難しい
  • プロジェクトに存在するステークホルダーが、テストしてほしいことが実践されているかを把握し、レビューできることが重要
  • リリースするシステムの制約事項やリスクを正しく把握できるようにすることで、品質ゴールをプロジェクト関係者で合意し、良いプロダクトを目指すことが可能になる

テストアーキテクチャを​テストプロセスに​追加しましょう

テストアーキテクチャは文字通り、「テスト構造」を表現することです。
昨今のシステム開発はクラウド化やSaaSとの連携、IoT機器連携など複雑で大規模なシステム構造をしていることが多いです。
対象システムが何か、テスト範囲はどこまでなのか、どこまでの品質が担保できているのか、不透明な状況に陥ることが多くあります。

テストアーキテクチャの作成をテスト工程のプロセスに組み込むことで、大量のテストはしているが品質を確保できているといえるのかわからない、という状況を打破できるのではないかと思います。

ぜひ皆さまのプロジェクトのテスト計画においても取り込んでいただき、納得のテストと品質保証を実現していただければ幸いです。


XFacebookLINE
Sky株式会社のソフトウェア開発や製品、採用に関するお問い合わせについては、下記のリンクをご確認ください。
お問い合わせ
ホーム