メイン コンテンツにスキップ

HAYST法

Highly Accelerated and Yield Software Testing.

HAYST法
TIPS
お問い合わせ
サイト マップ
メンバーのログイン
HAYST法とは

HAYST法は、直交表を使ったソフトウェアテスト技法です。

ソフトウェアテストをもっと効果的かつ効率的に行いたい。
HAYST法は開発の初期段階からテスト戦略を考え、仕様書とユーザシーン(ノイズ)からテスト対象となる因子・水準を洗い出し、直交表に割り付けてテストを実施するテスト技法です。

当初は、多因子・多水準を禁則を回避しながら直交表に割り付けるところをHAYST法と呼んでいましたが、その後、因子・水準の選択が鍵であることが分かり、テストプロセス全体を取り扱っています。


HAYST法の狙い

HAYST法は、機能と機能の間に仕様上は関係が無いとなっている機能同士の組み合わせテストを網羅的に実施することを目的としたテスト技法です。たとえ、関係が無いとされていてもソフトウェアが大規模かつ複雑になると、関連が無いこと自体をテストで保証するしかありません。任意の2機能間、任意の3機能間までは、まず、大丈夫だろうと品質保証できるテストケースを生成することを狙いとしています。

機能と機能との間に複雑な論理関係(ANDやOR等の関係)がある場合にはHAYST法ではなく、デシジョンテーブルや原因結果グラフまたはCFD法を使用すると良いでしょう。

HAYST法を学習するには

1. 概略

2. 書籍

3. 論文

4. 同人誌(Software Testing ManiaX
  • Vol.1 詳細FV表
      仕様書をテストのために書き直す表です。目的機能(Fr)と検証内容(V)とテスト技法(T)の列があります。
  • Vol.2 詳細ラルフチャート
      複雑な目的機能に対して、因子・水準を見つけるためのチャートです。
  • Vol.3 詳細FL表
      因子・水準を確定するための表です。
  • Vol.4 シーケンスカバリングアレイ
      操作の順番について網羅的にテストする方法です。
  • Vol.5 機能図式法 前編
      「論理の組合せ+状態遷移」を取り扱う機能図式法の解説です。
  • Vol.6 機能図式法 後編
      上記の後編です。前編と合わせてお読みください。

5. 英語の発表資料

6. 直交表

7. 参考文献
  • ソフトウェアテストを中心とした書籍の感想は、Booklog にあります。

HAYST法のFAQ

1. HAYSTって関係者の頭文字って聞いたのですが本当ですか?

本当です。最初は、「直交表による組合せ評価手法」と呼んでいたのですが、何か名前を付けようということになって、吉澤正孝さんが、つけてくれました。

  H: 張替鋼一 (当時: システム検証センター長、現在: 富士ゼロックス執行役員、CS本部長)
  A: 秋山浩一 (当時: システム検証センター 係長、現在: ソリューション・サービス本部、技術主査)
  Y: 吉澤正孝 (当時: 経営品質部長、現在: クオリティ・ディープ・スマーツ有限責任事業組合代表)
     山本訓稔 (当時: システム検証センター、現在: コントローラソフトウェア開発)
  S: 当初はYが二人いたのでその複数形としてのSでした。
    仙石太郎 (当時・現在: KDI)
  T: 塚本卓三 (当時: 執行役員)

張替さんから、「実験計画法」を勧められた秋山が、よく分からないので困っていたところ、それなら「塚本さん経由で吉澤さんの支援をもらおう」ということになり、吉澤さんの直交表指導会がスタートしました。
その指導会の中で、「多因子・多水準」「禁則処理」の2つの問題がでました。「多因子・多水準」については2水準系の直交表を拡張して使おうという吉澤さんのアイデアで解決し、「禁則処理」については山本さんがロジックを考案してツール化しました。
その後、他社から「HAYST法を使いたい」という問い合わせがあり、ご支援する中で、ツールの守備範囲が割り付けだけでなく因子・水準の選択に拡大するとともに、「組織に技術を根付かせるための効果的なノウハウ移転」の視点が加わり、組織展開について仙石さんの力を借りました。


2. HAYST法が苦手にしているテストってありますか?

良い質問ですね。上記「HAYST法の狙い」に書いたとおり、機能と機能との間に複雑な論理関係(ANDやOR等の関係)がある場合にはHAYST法ではなく、デシジョンテーブルや原因結果グラフまたはCFD法を使用すると良いでしょう。

複雑な禁則処理がある場合も、「複雑な禁則=複雑な論理関係」ということですから、その部分は別途デシジョンテーブルを使用してください。
また、たとえば、日時処理、月次処理、年次処理といったものを連結して行うようなテストは、それぞれの出力の発散を抑える工夫が必要ですから、HAYST法をかなり応用して使う必要があります。

下表を参考に使いどころを見極めてください。
 論理関係あり論理関係なし
機能数5以下 総組合せHAYST法
機能数5から20DT, 原因結果グラフ, CFD法 HAYST法 
機能数20~300HAYST法+シナリオテスト HAYST法 



What's new!

旧ページは、こちらからアクセスしてください。