GENZがテストの設計において大切にしていること

~GENZがテストの設計において大切にしていること~

突然ですが、皆さんが会社の上司に「この業務を外部の会社に委託してほしい」と頼まれた場合、何を基準に外部依頼先の会社を選択するでしょうか。会社の実績や依頼にかかる料金の他に、その会社が業務の中で何を大切にしているかについても選択の基準となると思います。今回は私たちGENZがプロジェクト全体やテストの設計において大切にしていることについて解説します。

テスト設計とは

テスト設計とは、テストを実施するうえで必要な情報を整理して、テストをどのように実施するかを決定する工程のことです。
テスト設計の際に、重要な機能やシステムの使用方法についてクライアントへのヒアリングを行い、詳細な部分を明確にしたうえでテスト方法を決定します。
テスト設計は、テスト実施の一つ前の工程であるため、正しく設計されていないと、テスト実施中に不明点が発生し業務が止まってしまう可能性や、依頼者のニーズに沿わないテストを実施してしまう可能性があり、重要な工程であるといえます。

ソフトウェアのテストの工程全体につきましては、こちらの記事をご参考ください。
【ゼロからわかるシステムテスト入門】ーソフトウェアのテストがなぜ必要かー

テスト設計の流れ

テスト設計の手順

テスト設計は以下の手順で行われます。

①前提となる情報の整理では、テスト対象となるシステムの特徴や仕様、想定される利用方法、テストするべき項目などについて整理します。この工程において、クライアントと認識を合わせることがテスト全体の成功につながります。

②テストの実現性(容易性)の検討では、テストするべき項目をテストしやすい内容に置き換えます。例えば、システムを快適に使えるかをテストするという場合、「快適さ」は人によって基準があいまいであり、このままではテストすることができません。(このような状態をテストの容易性が低いといいます。)そこで「快適さ」を「データの読み込み速度」と置き換えることで、数値的な基準を設けてテストを実施できるようにします。この時できる限り簡潔なテストを実施できるように置き換えることで、実施する際の負担を軽減できます。

③テスト条件の明確化・優先順位の決定では、リソースや技術、納期の条件に合わせて、テスト項目に優先順位をつけます。効果的な優先順位の決定には、クライアントが重視している機能やテストの目的を十分に理解している必要があります。

④実践的なテストケースの作成では、実際に行うテストを設計します。条件の範囲内でテスト項目を網羅できるように、いつ、どのような技法を用いて実施するかについて決定します。

⑤テスト環境の設計では、テストをどのような環境で実施するかについて決定します。テスト工程において、開発時に近い状況でテストを実施するか、リリース後に近い状況を作り出して実践的な環境でテストを実施するか、を決定します。使用するテストツール等も決定し、テストが実施できる準備を整えます。

GENZのテストアプローチにつきましては、こちらの記事をご参考ください。
テスト設計 -株式会社GENZ

テスト設計を綿密に行うことで、テストをスムーズに実行できます。

GENZがプロジェクトを実施するにあたって大切にしていること

GENZがプロジェクトを実施するにあたって大切にしていることは、「お客様一人ひとりのニーズに合わせた提案をすること」です。
プロジェクトの際に重視するべき要素であるQCD(品質・コスト・納期)のバランスをお客様のニーズに合わせて調整することでお客様に最適な提案を行います。例えばできる限り低いコストでテストを実施したいお客様には、高コストで品質の高いテストを提案するのではなく、低コストで一定の品質を確保できるそのお客様に最適なプランを提案します。

期日に間に合い品質の高いテストプラン

GENZがテストの設計において大切にしていること

GENZがテストの設計において大切にしていることは下記4点です。
プロジェクトを実施するにあたって大切にしていることに基づいています。

・お客様とエンドユーザー様が求めていることを明確にすること。
テスト設計の際には、お客様とエンドユーザー様の二つの視点を大切にしています。お客様の視点では、お客様のテストの目的や求めるQCDのバランスを明確にすることで、お客様一人ひとりに最適なテスト設計を行います。
エンドユーザー様の視点では、テスト対象となるシステムが実際にどのように使われるのかを想像して、利用の流れの中からテストするべき内容を探し出します。二つの視点を持つことで、お客様に最適な形で、エンドユーザー様の満足度が高いシステムをつくる手助けをすることができます。

・わかりやすく簡潔なテストを設計すること。
わかりやすく簡潔なテストを設計することも大切にしていることの一つです。過度に複雑なテストは、多くの不具合を発見できる可能性が高いですが、コストが成果に見合っていない場合がほとんどです。テスト手順を複雑にすることで、かえってバグが発見しにくくなる場合もあります。そこでGENZでは簡潔なテストを設計することで、過度にコストをかけることなく、重大な不具合を発見することを大切にしています。

・テストの結果と同時に原因についてもお伝えできる報告形式をとること。
テスト結果の報告形式を設定する際には、結果だけでなく原因も伝えることができるフォーマットをご用意しています。テスト完了後に結果だけを見直しても、なぜそのような結果になったのか、何を直せば改善するのか、などのシステム開発において重要な部分はわかりません。そこでGENZでは結果報告のフォーマットに備考欄を加え、具体的な不具合の内容についても見直すことができるようにしています。

ECサイトの画面遷移に関するテストを例にとると以下のようになります。

テスト内容 テスト結果 備考
トップページから商品説明のページへの画面遷移を5秒間の間繰り返し行う。 画面遷移の繰り返しによって負荷がかかり、商品名の表記が崩れたためNG

・セキュリティ面での内容も含めて設計を行うこと。
GENZはセキュリティに特化したグループ会社を持つためセキュリティへの意識が高く、テスト設計の際には、セキュリティ面の内容も含めて確認することを大切にしています。
ECサイトの会員登録画面の中で、電話番号入力欄を対象としてテストを行う場合を例にとると、機能面のテストでは、数字でなくひらがなを入力した際に正しくエラーを表示するか、などを確認します。GENZではさらにサイバー攻撃の恐れがないかを確認するために、特定の文字列を入力することでサイトの書き換えなどが行われないか(※)についても確認します。
(※)SQLインジェクションというサイバー攻撃の手法です。

#SQLインジェクションにつきましては、こちらの記事をご参考ください。
【ゼロからわかるサイバーセキュリティ入門】ーSQLインジェクションとはー
#グループ会社ポルトにつきましては、こちらのホームページをご参考ください。
株式会社ポルト

例:患者さんが飲むべき薬を記録・リマインドするアプリ

まとめ

テスト設計とは、テストを実施する上で必要な情報を整理して、テストをどのように実施するかを決定する工程のことです。

GENZはテスト設計において、お客様とエンドユーザー様の双方の視点を持つことや簡潔な内容で設計すること、テスト結果の原因もお伝えできるようにすること、セキュリティ面の確認も行うことを大切にしています。
根底には、お客様一人ひとりのニーズに合わせた提案をするというプロジェクト全体で大切にしている信条があります。

株式会社GENZでは、ITに関するお困りごとに幅広く対応しております。開発したソフトウェアに不具合がないかを確認したいけれど、どんなテストを実施すればよいかわからない、という場合でも大丈夫です。テスト経験豊富な専門家が、お客様のソフトウェアに合ったテスト実施案を提案させていただきます。機能テストや負荷テストなど複数のテストを一括でご依頼いただくことも可能です。

GENZと共にお客様のシステムをより良いものにしてみませんか。

 

お問い合わせ