お客さんから仕様書がなくてもシステムテストを発注できるか相談があったんだけど、どうすればいいと思う?
そうだねぇ、最近はアジャイル開発が普及してきて、ドキュメント作成より開発に時間を割く会社も増えてきているね
そうそう!だから仕様書がないことには、どう仕様もないや~
まったく、、、今回は仕様書がない場合のシステムテストについて解説していくね!
仕様書がない場合のシステムテストとは
アジャイル開発の普及に伴い、開発スピードや柔軟性を重視するあまり、ドキュメント作成に時間を割かないケースが増えています。アジャイル開発では、「動くソフトウェアが最も重要な指標」とされることが多く、そのために仕様書が存在しない、または更新されていないことが少なくありません。このような状況では、「今動いているシステムが仕様」という前提でテストを進める必要があります。
また、システムがリリースされてから長い時間が経過している場合、初期の仕様書からは多くの変更が加えられていることが一般的です。追加開発やバージョンアップを繰り返していると、元の仕様書が実際のシステムとは大きく異なることもあり得ます。このような状況では、すべてのドキュメントを追跡するために必要な作業量が非常に大きくなり、テストに割ける時間が減少してしまう恐れがあります。
このような仕様書がない、もしくは不完全な場合のシステムテストを実施する際にはいくつかの対策がありますが、本記事では以下の3つのポイントについて解説します。
①システムが現在どのように使われているかを把握する
②過去の類似システムでのテストの知見を参考にする
③システムテストの自動化ツールを活用する
以下、それぞれのポイントについて順番に解説していきます。
①システムが現在どのように使われているかを把握する
仕様書がない状況でのシステムテストにおいて、まず重要なのはシステムがどのように使われているかを把握することです。システムの現状を正確に理解するためには、以下のアプローチが有効です。
システムの担当者にヒアリングする
システムの担当者に直接ヒアリングを行うことは、システムの利用状況やテストの必要性を理解するための第一歩です。担当者はシステムの開発・運用に関わっており、システムの全体像や具体的な機能、運用上の問題点を最もよく知っています。ヒアリングでは、なぜシステムテストをする必要があると感じているのかに注目します。
- バグ出しをしたい:開発が一通り完了した段階で、潜在的なバグを発見し修正するためにテストを実施するケースです。これにより、リリース後のトラブルを未然に防ぐことができます。
- セキュリティ面に不安がある:システムのセキュリティリスクを評価し、外部からの攻撃に対する脆弱性を検出するためのテストが必要です。特に、個人情報や機密情報を扱うシステムでは重要なポイントです。
- ユーザー体験を損なわないか心配している:システムの変更や新機能の追加によって、ユーザーの利用体験が悪化することを懸念する場合です。使い勝手やパフォーマンスの維持が求められます。
システムのユーザーにヒアリングする
実際にシステムを使用しているユーザーに対するヒアリングも欠かせません。ユーザーはシステムの利用現場での日々の操作感や問題点を直接経験しているため、非常に有用なフィードバックを提供してくれます。以下の点を重視します。
- 普段どのように使っているか:ユーザーがシステムをどのように使用しているかを把握するために、ユーザー自身に直接インタビューを行い、システムの使用方法やニーズを理解します。
- 過去に不便に感じたことがないか:ユーザーがシステムを使用する際に、不便に感じたり、動作に不具合を見つけたことが無いかヒアリングします。小さな不具合であれば報告されず、そのまま使い続けられていることも多いです。
- 実際に使っている様子の観察:ユーザーの実際の利用状況を直接観察することで、理論上の設計や仕様書には現れない情報を把握できます。この観察はシステムテストの設計だけでなく、ユーザー体験の改善にもつながります。
システムがどのように使われているかを正確に把握することは、仕様書がないシステムテストにおいて極めて重要です。担当者やユーザーの意見を取り入れ、実際の利用シーンを反映したテストを設計することで、より実践的で効果的なテストを実施できるようになります。
②過去の類似システムでのテストの知見を参考にする
システムテストを効率的かつ効果的に行うためには、過去の類似システムで得られたテストの知見を活用することが重要です。システムテストの経験が豊富な専門家は、これまでの実績から得た知識と経験を基に、テスト時に特に注意すべき部分やバグの出やすい部分を把握しています。これにより、テストの精度を高め、問題発生のリスクを減少させることができます。
類似システムのテスト事例を参考にする
過去に同様のシステムをテストした際の事例を参考にすることで、同じような問題が発生する可能性が高い部分を特定できます。例えば、同じ技術スタックを使用しているシステムや、似たような機能を持つシステムのテスト事例を調査します。これにより、以下のような点が明らかになります。
- 共通するバグのパターン:類似システムで頻発したバグを確認し、同じような問題がテスト対象のシステムにも存在するかをチェックします。
- 重要視すべきテスト項目:過去の事例で特に問題となったテスト項目に重点を置き、テストケースに組み込みます。
- テストの優先順位:バグの発生頻度や影響度に基づいて、テストの優先順位を設定し、リソースを効果的に配分します。
専門家の知見を活用する
システムテストの専門家は、豊富な経験と知識を持っています。彼らの知見を活用することで、テストの質を向上させることができます。専門家は以下のような点で役立ちます。
- リスク評価:過去のテスト経験を基に、現システムのリスクを評価し、特に注意すべき部分を特定します。
- テスト計画の策定:効果的なテスト計画を立案し、適切なテスト手法を選定します。
- 問題解決のノウハウ:過去の経験から得た問題解決のノウハウを提供し、テスト中に発生した問題に迅速に対応します。
過去の類似システムでのテスト経験を参考にすることで、システムテストの効率を大幅に向上させることができます。専門家の知見を活用し、リスクを最小限に抑えることで、システムの信頼性と品質を確保することができます。
③システムテストの自動化ツールを活用する
仕様書がない場合のシステムテストでは、自動化ツールの活用を検討するのも一つの手段です。自動化ツールの活用には様々なメリットがあります。
テストケースの網羅性向上
自動化ツールを使用することで、多くのテストケースを効率的に実行することが可能です。仕様書がない場合でも、過去のテストケースやシステムの挙動から網羅的なテストケースを作成し、自動化ツールで実行することで、システムの様々な側面をカバーできます。
テスト結果の詳細な分析
自動化ツールは、テスト結果を詳細に分析し、報告書を自動生成することができます。これにより、テスト結果の傾向やパターンを把握しやすくなり、問題の特定や改善が容易になります。
テスト作業の負荷軽減
テスト作業は繰り返し作業が多いため、作業者の負荷が高い場合があります。自動化ツールを使用することで、繰り返し作業を自動化することができるため、作業負荷を軽減することができます。
まとめ
仕様書がない場合のシステムテストでは、現在のシステム利用状況を的確に把握し、過去の類似システムでの知見を活用することが重要です。また、ユーザーや専門家の意見を取り入れ、テストを設計することで、より実践的で効果的なテストを行うことができます。さらに、自動化ツールを活用することで、効率的なテスト実行や結果の詳細な分析が可能となります。仕様書がないからこそ、柔軟性と創造力を持って取り組み、品質向上に努めることが重要です。
GENZでは、効果的なテスト計画を立てることから始め、適切なテスト設計を行い、実施を進め、最終的にはテストサマリを通じて得られた知見を次のプロジェクトに活かすことを重視しています。テストを終えたあと、対象システムの品質評価結果や、プロジェクトの振り返り結果について、明瞭なレポーティングをさせていただくことも可能です。
実際のテストサマリレポートがどのようなものか知りたい方は以下よりダウンロードください。
「仕様書がないからシステムテストを外部に依頼できないのではないか」と感じている方も、お気軽にGENZへご相談ください。