LoginSignup
1
2

More than 3 years have passed since last update.

テストのためのシステム分析手法 ACC (Attributes-Components-Capabilities)

Posted at

テストから見えてくるグーグルのソフトウェア開発という書籍の中で、Googleが実際に使用している(していた?)ACCというテストに関するメソッドを紹介していました。
以下のページに概要が載っています。
https://code.google.com/archive/p/test-analytics/wikis/AccExplained.wiki

ACCとは何か

  • Attributes-Components-Capabilitiesの略です。
  • テストのためのシステム分析手法です。
  • システムのテストすべき重要な箇所を洗い出すことができます。
  • 簡単です。規模によりますが20分から1時間くらいで完了します。
  • 簡単故に、維持も低コストです。必要に応じて何回でも行い、内容をアップデートし続けられます。
  • ACCの結果をもとに、システムのリスク分析、テスト計画の設計、カバレッジ計測を行うことができるようになるでしょう。

ACCの手順

対象システムのAttributes、Components、Capabilitiesをそれぞれ書いていきます。

1. Attributesを定義する

  • Attributesは、製品の性質や特徴、他製品との違いです。
  • 例えば以下のようなものです。
    • セキュア
    • 高速
    • 導入しやすい
    • ユーザーフレンドリー
    • ソーシャル
  • 製品の売り文句としてHPのトップに書いている場合も多いのでは。

2. Componentsを定義する

  • Componentsは、システムを構成する部品です。
  • 例えば以下のようなものです。
    • データベース
    • API
    • ログイン
    • メール送信
    • 検索機能
    • ショッピングカート

3. Capabilitiesを書く

  • Capabilitiesは、システムが実際にできる動作、あるいはユーザーが要求できる動作です。
  • AttributesとComponentsを組み合わせてCapabilitiesを記述します。
  • 例えば以下のようになります。
    • 検索機能は高速である:常に1秒以内に検索結果を返す
    • ショッピングカートはユーザーフレンドリーである:どんな端末からでも操作できる、あるいは商品選択後○ステップで購入が完了する
  • テスト可能な内容にすることが重要です。

ACCを使った分析等

  • Attributes x Componentsのマトリクスでヒートマップを作りリスク分布を分析する。
  • テストの優先順位付けを行う。
  • テストケースと対応付けてカバレッジ計測。

最後に

以上、ACCの紹介でした。「品質は開発プロジェクトの最初から作り込んでいくもの」「品質を上げる努力をしなければ品質を上げる力は身につかない」を胸に刻み、日々積み重ねていきましょう。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2