Q&Aで読むソフトウエアテスト「オールペア法、直交表の基本」:現場で使うためのオールペア法、直交表の基本(5)(1/3 ページ)
今回は連載の総集編として、ここまでで解説してきたポイントをFAQ形式でまとめてみました。本稿を、ソフトウエアテストで「考え過ぎた」ときに、リファレンスとして使ってみてください。詳細を確認したい場合は連載各回の解説を確認してみましょう。
本連載では、ソフトウエアの品質を担保するテスト手法として、組み合わせテストの網羅率を保証する「オールペア法」と「直交表」について見てきました。
第一回では現状のソフトウエアテストが持つ課題を紹介、第二回で本連載のメインテーマである「オールペア法」と「直交表」の概念とツールの使い方を解説、第三回では、現場で使うためのコツを見てきました。この手法は、コツと見極めが必要なことに変わりはありませんが、原則としては素直に実施することがポイントになります。コツを使い過ぎなければ網羅基準に準じたテストケースを生成できることは、第四回の記事でお分かりいただけたと思います。これらの手法が持つ性質と原則、制約が分かれば使いこなしていくことも難しくなくなるはずです。
今回は今までに紹介してきたことや、これまでの連載では紹介し切れなかったことを、FAQ形式にまとめてみました。これからソフトウエアテストを学んでいく方だけでなく、既に「ベテラン」の皆さんも、実務上の判断が難しくなってしまったときに読み返すと、本質を思い返すことができるでしょう。
「ソフトウエアテストの基本FAQ」目次
(1)ソフトウエアテスト全般
- (1-1)ソフトウエアテストはそもそも何のためにするのですか?
- (1-2)ソフトウエアテストをするときの一番大切な注意点は何ですか?
- (1-3)ソフトウエアテストで要求される品質とテストに掛けるコストはどのように決めればいいのですか?
- (1-4)テストはいつ終わらせればいいのですか?
- (1-5)ホワイトボックステストとは何ですか?
- (1-6)ブラックボックステストとは何ですか?
- (1-7)制御パステストとは何ですか?
- (1-8)デシジョンテーブルとは何ですか?
(2)組み合わせテスト
- (2-1)組み合わせテストとは何ですか?
- (2-2)因子や水準、禁則とは何のことですか?
- (2-3)因子や水準はどのように見つけるのですか?
- (2-4)組み合わせの強さとは何のことですか?
- (2-5)因子と水準の個数を調整するのはなぜですか?
- (2-6)組み合わせテストをするときに、強さはどのように決めるのですか?
(3)オールペア法
- (3-1)オールペア法とは何ですか?
- (3-2)カバリングアレイ(被覆配列)とは何ですか?
- (3-3)オールペア法のツールにはどんなものがありますか?
- (3-4)PICTで生成されるテストケースがばらばらで見にくいのですが?
(4)直交表
- (4-1)直交表とは何ですか?
- (4-2)直交表の例にはどんなものがありますか?
- (4-3)直交表とオールペア法の違いは何ですか?
- (4-4)直交表のツールにはどんなものがありますか?
- (4-5)直交表とオールペア法はどちらを選べばいいのですか?
(5)ツールと職人
(1)ソフトウエアテスト全般
連載第一回では、ソフトウエアテストの目的と主要な手法が抱える問題点を整理しました。また、本連載で紹介した「オールペア法・直交表」で重視すべき項目は、第三回で紹介しています。ここでは、それらの記事で示した、ソフトウエアテスト全般で重要なポイントを、あらためてまとめておきます。
(1-3)ソフトウエアテストで要求される品質とテストに掛けるコストはどのように決めればいいのですか?
Ans.
プロダクトの種別、業種、今までの稼働実績やこれからの運用など、多種多様な条件があるため、それぞれに求められる「品質」は異なります。このため、それぞれの「品質」を保証するテストに掛けるコストも違ってきます。判断は要件や案件ごとに、個別に検討せざるを得ません。組織全体でガイドラインを策定しつつ、運用を開発現場に弾力的に任せるなどの施策が有効です。
(1-4)テストはいつ終わらせればいいのですか?
Ans.
テストの完了基準は、
- (a)規模当たりのテストケース数(テスト密度)
- (b)信頼度成長曲線(バグ曲線)における規模当たりの残存バグ数(バグ率)
- (c)何らかの計測可能な網羅基準
- (d)費用
などを勘案して、決められます。
本連載で紹介してきたように、筆者は(c)の「何らかの計測可能な網羅基準を設けて、それを満たしたときにテストを終了させる」という方法を推奨します。
(1-6)ブラックボックステストとは何ですか?
Ans.
ソフトウエアシステムの実装を見ることなく実施するテストです。この場合、テストの「入力」はソースコードなどの実装ではなく、マニュアルや仕様書です。
現場の原則として、ブラックボックステストだからといって、ソースコードを全く気にしなくていいということではありません。ソースコードが見えないからこそ、ソースコードを「想像」して、どんな実装かを予測し、テストをする必要があります。
ブラックボックステストには、「同値分割」や「境界値分析」「デシジョンテーブル」「オールペア法」「直交表」「探索的テスト」などがあります。
ブラックボックステストは発見的なテストであり、機械化しにくいテストです。このため、エンジニアの勘や経験が重要になってきます。ブラックボックステストについては、第一回、第三回でも解説しています。
Copyright © ITmedia, Inc. All Rights Reserved.