エンジニアの副業は週1からでも可能?副業の例や探し方も解説
- ITエンジニア
- 副業
Webサービスでもアプリケーションでも、あらゆるソフトウェアのリリース前にはテスト(検証作業)を行い、バグがないかチェックすべきでしょう。このときに使う、テストすべき項目を列挙したリストを「テストケース」と呼びます。
しかし、テスト項目は多岐にわたるため、知識なしでテストケースを作るのは膨大な時間がかかります。
そこで本記事では、テストケースを効率よく書くための方法を紹介します。
効果のあるテストをしたい人や、はじめてテストケースを作る人は、ぜひ参考にしてください。
はじめに、テストケースを作る目的を3つご紹介します。
テストする内容をリスト化する過程で、必ずテストしなければいけない点が漏れなく含まれているかを確認できます。
また、リストを見ながらテストしていくことで、何をどこまでテストしたかがひと目でわかります。
テストは複数人で行うのが一般的です。テスト担当者が自分の経験や考えに基づいてテストを行うと、テストの質が担保できません。テスト漏れのリスクにもつながります。
テストケースに基づいて一貫したテストを実施することで、テスト項目について確かなチェックを行なったことを保証できます。
限られた時間の中で全てのバグを発見することは難しく、どうしてもリリース後にバグが見つかることがあります。そのような場合でも、テストケースを振り返れば「どこで抜け漏れが発生したか」が明らかになり、効率よく再テストできます。
もしテストケースを作成していなければ、再度テスト項目を考えるところから行うことになり、余計な時間とコストがかかってしまいます。
いきなりテストケースを書き出そうとして、思いつくままに項目を挙げても、実際にテストを行う担当者にとってわかりやすい指示書にはなりません。
ここからは、テストを効率よく行うためのテストケース作成の3つのポイントをご紹介します。
ユーザーの行動を網羅し、なるべく漏れのないチェックを行う必要がありますが、ソフトウェア開発の工程で全ての項目をチェックするのは大変です。
また、ソフトウェアの機能が増えれば増えるほど、テスト項目の組み合わせの数は掛け算で増えていきます。
そこで利用したいが「テスト設計技法」です。現在では、統計学の手法に基づいて効率よくテスト項目の組み合わせを生成する方法が考案されています。代表的なのが以下の2つです。
直交表やペアワイズ法による組み合わせを自動で生成できる、『Pictmaster』というフリーソフトウェアが便利です。利用してみるのも良いでしょう。
現在では、テストの設計方法を細かく定義し、テストケースを効率よく作成するための「テスト開発プロセス」が考案されています。
▲テスト開発プロセス(出典:INFORIUM)
テストの設計段階の工程を、
に細分化したのがテスト開発プロセスです。
今回は3つ、代表的なテスト開発プロセスをご紹介します。
【①VSTeP法】
VSTeP法(Viewpoint-based Software Test Engineering Process)は、電気通信大学・西康晴氏が考案したテスト開発プロセスです。
テスト観点(テストで何を確認するのか)をベースに、テスト要求分析やテストアーキテクチャ設定を行うことを重視しています。
【② HAYST法】
HAYST法(Highly Accelerated and Yield Software Testing)は、富士ゼロックス株式会社が考案したテスト開発プロセスです。
直交表を利用したテスト設計に特化しています。
【③ゆもつよメソッド】
ゆもつよメソッドは、テストコンサルタントの湯本剛氏が考案したテスト開発プロセスです。
ゆもつよメソッドでは、
というプロセスを提唱しています。
テストケースは、複数のテスト担当者が同じようにテストを実行し、同じ結果が得られるように書く必要があります。 そのためには、ひと目で何をすればいいのかが明らかになるように、わかりやすい文章で書きましょう。
具体的に気をつける点は、
の2点です。
以下の例を見てみましょう。
▲「求人情報を検索する」という機能のテストケース例(出典:webrage)
「不十分な例」では、実際に何を検索するのか指示されていません。結果にも「正しく表示されること」とありますが、何を基準に正しい検索結果とするのかが明示されていません。
「良い例」のように、
という具体的な部分を明記することで、テストの一貫性を担保できます。
テストケースについてのまとめは以下のとおりです。
テスト開発プロセスを踏まえてテストケースを効率よく作成することは、バグの少ない高品質のソフトウェア作りのために重要な要素です。
ソフトウェアテスト技術振興協会(ASTER:Association of Software Test EngineeRing)は、毎年『テスト設計コンテスト』を実施し、テスト開発をクリエイティブな作業として広めています。
ぜひテストケース作りをクリエイティブに楽しんでみてはいかがでしょうか。
(執筆:shochik 編集:Workship MAGAZINE編集部)
ソフトウェアテストの観点を変える、『レジリエンス・テスト』とは
Workship MAGAZINE