はじめに
ソフトウェアテストは、ソフトウェア製品の品質や信頼を担保するためには欠かせない工程であり、開発プロジェクトを成功に導くカギを握っていると言っても過言ではありません。製品の品質を支えるためにはテストを正しく実行する必要がありますが、そこで重要な要素となるのが「テスト観点」です。
テスト観点とは
テスト観点についてGoogleで検索すると、さまざまな解説が見つかりますが、以下を例に挙げたいと思います。
「ソフトウェアが正しく動作するかを確認するための項目、着眼点、発想の仕方といった、いわばテストを行う上での「切り口」のようなもの」
つまり、テスト観点とはソフトウェアの品質を評価するための重要な視点であり、テスト設計を行う際の出発点となります。
具体的には、「機能が仕様どおりに動作しているか」「異常な入力に対して適切に処理されるか」「パフォーマンスに問題はないか」「ユーザーが直感的に操作できるか」など、さまざまな側面からソフトウェアを検証するための指標となります。
このほか、以下の資料では「テスト観点」について次のように紹介しています。
● 製品のリリース前に、その故障を取り除くためにテストすべき項目を「テスト観点」と呼ぶ
● テストの「観点」とは何だろう?
・ テスト対象の持つ、テストすべき側面
・ テスト対象が達成すべき性質
・ テスト対象(及び含む世界)を、テストの立場からモデリングしたもの
≫ テストする必要がない側面は、モデリングする必要がない
≫ 達成する必要がない性質は、モデリングする必要がない
・ 抽象的で、階層構造を持つ

拡大画像はこちら
わかりやすくするために、ログイン画面を例に考えてみましょう。この場合、GUI(グラフィカル・ユーザー・インターフェース)、入力チェック、画面遷移などがテスト観点に該当します。
- GUIの確認:デザインやレイアウトが仕様どおりか、ボタンの配置が適切か
- 入力チェック:必須項目の入力制限、パスワードのマスキング、エラーメッセージの表示
- 画面遷移:正しい認証情報を入力した際の遷移先、誤った情報を入力した場合の挙動
このように、テスト観点を明確にすることで、より効果的なテストを計画することができ、ソフトウェアの品質向上につながってきます。
テスト観点の必要性
次にテスト観点の必要性について考えてみたいと思います。
例えば、ある日、上司から「このソフトウェアをテストしてください」と指示されたとします。その場合、どのようなテストを思いつくでしょうか。具体的な指示がないため、何を確認すべきかが曖昧で、戸惑ってしまうかもしれません。
ある人は思いつくままにテストを始めるかもしれません。別の人は目の前の機能だけを確認するかもしれません。また、取扱説明書に沿って順番に操作をテストする人もいるでしょう。さらに、ソフトウェアテストの書籍に書かれているテスト手法を試す人もいるかもしれません。
このように、「テストしてください」という指示だけでは、適切なテストを実施するのは難しくなります。正しくテストを行うためには、テストの方向性を明確にする具体的な指示、つまり「テスト観点」が必要なのです。
テスト観点リストとは
テスト観点の必要性について理解できたところで、具体的にどのようにテスト観点を決めればよいのかという疑問が生じるかと思います。
そこで活用できるのが、「テスト観点リスト」です。
テスト観点リストとは、文字どおりテスト観点を整理・体系化したリストを指します。このリストを活用することで、過去に実施したテストのナレッジを蓄積し、次回以降のテストで効率的にテスト観点を抽出できるようになります。また、テスト観点の抜け漏れを防止するという点でも有効であり、品質をより確実に評価することが可能になります。
テスト観点リストの作り方
しかし、多くの企業でテスト観点リストが作成されているものの、実務で十分に活用されず、形骸化してしまうケースも少なくありません。
前述のとおり、テスト観点は「テストを行う上での切り口」と定義されますが、その切り口にはさまざまな種類があります。しかし、具体的にどのような切り口があるのかが曖昧なままだと、テスト観点リストを適切に整理できず、結果として実務で役に立たないものになってしまうことがあります。
では、どのようにすれば実務で活用できるテスト観点リストを作成できるのでしょうか。
効果的な方法として、テスト観点をいくつかの段階に分類し、大きな観点から小さな観点へと細分化していくアプローチが挙げられます。
一番大きな観点となるのが「指標」です。以下のように指標はいくつかありますが、今回はソフトウェア品質の評価に関する国際規格「ISO/IEC 9126の6つの品質特性」に基づいたテスト観点リストを紹介します。
- ISO/IEC 9126の6つの品質特性
- Ostrandの4つのビュー
- Myersの14のシステムテスト・カテゴリ

表1 分類の基準として利用できる指標の一例
拡大画像はこちら

表2 ISO/IEC9126の指標に基づいたテストタイプと観点リストの一例
拡大画像はこちら
上記のテスト観点リストはあくまで一例ですが、こうして整理されたリストを見ると、開発やテストの経験がある方であれば、さらに多くのテスト観点を思いつくのではないでしょうか。これらの観点を共通の認識として洗い出し、プロジェクト内で整理しながら最新のテスト観点リストとして継続的に更新していくことが重要です。
もし、皆さんの開発現場にテスト観点リストが存在していない場合は、まずは上記の説明を参考にリストを作成し、適宜更新していくことをおすすめします。
一方で、すでにリストが存在している場合は、ただ参照するだけでなく、より充実した内容へとアップデートしていくことが大切です。新機能の追加や新たな欠陥の発見のたびにリストを見直し、継続的に改善を重ねることで、将来的により高品質なテストを実現することができます。
なお、上記のテスト観点リストは「品質特性」「テストタイプ」「テスト区分」といった基準で分類されていますが、さらに「単体テスト」「結合テスト」「システムテスト」「受入テスト」といった テストレベル に応じて観点を使い分けることも重要です。それぞれのレベルに適した観点を適用することで、より効果的なテストを実施できるようになります。
参考文献:
【この1冊でよくわかる】ソフトウェアテストの教科書―品質を決定づけるテスト工程の基本と実践:石原 一宏, 田中 英和, 田中 真史( SBクリエイティブ)
テスト観点に基づくテスト開発方法論VSTEPの概要:西 康晴
テスト観点をうまく議論し使い回すためにできることを考える:KUMIKO ISERI
さいごに
本記事では、テスト観点について解説しました。テスト観点は、正しくテストを実施するために、その方向性を明確にする重要な要素になります。
また、テスト観点を整理した「テスト観点リスト」についても紹介しました。もし、まだテスト観点リストをお持ちでない場合は、本記事を参考に作成を検討してみてください。また、すでにリストをお持ちの方も、定期的な更新や見直しを行うことで、より実践的で効果的なリストへと改善できます。
SHIFT ASIAは品質保証とソフトウェア開発のプロフェッショナルとして、ベトナムを拠点にソフトウェアテスト事業・オフショア開発事業を展開しています。
SHIFT ASIAのソリューションや導入事例についてはトップメニューのタブメニューから詳細をご覧いただけますので、何かございましたらいつでもお気軽にご相談いただけると幸いです。
お問い合わせContact
ご不明点やご相談などがありましたら、お気軽にお問い合わせください。