ホームコラム機能検証“だけ”で満足していませんか?

機能検証“だけ”で満足していませんか?「非機能要件」の抽出に必要な“3つの観点”を把握し、テスト要求仕様書を作成。

背景

次々と生み出される新たな技術や機能、さらに激しいコスト変動や価格競争などにより、製品の開発期間は年々シビアになる一方です。工程が遅れると評価期間を圧縮するほかなく、結果として品質に妥協が生じ、製品トラブルから信頼性を低下させてしまった企業をしばしば目にします。

求められる品質を確保するためには評価項目の“抜け”や“漏れ”の防止が欠かせませんが、単純にテスターを増員するだけでは人件費や個人の能力差による品質のばらつきが発生し、問題を解決することはできません。本稿では、第三者検証専門会社である株式会社ヴェス(以下、ヴェス)のノウハウから、要件漏れを防止し、限られた開発期間で製品品質を向上させる方法を紹介します。

現状および課題

多くの企業で仕様や要件定義が「あいまい」!非効率なテストや製品不具合の原因に・・・

ユーザが求める品質向上を実現するためには、実装すべき機能や満たすべき性能などを明確化し、要件を上流工程から下流工程へと“抜け”や“漏れ”なく伝えていく必要があります。

しかし、シビアな開発環境から仕様を作りこむ余裕がなく、製品要求が「あいまい」なまま開発が進む事例も多いようです。その結果、仕様とテストの整合が取れず、製品が当初の要求を満たさないまま市場に出ることも。また、仕様を無視した設計が行われるためテストケースが追い付かない、仕様が明確でないためにバグと仕様の判別ができずテストに時間がかかるなど、開発効率全体の悪化を招くことにもつながります。

さらに、テストを最後までやり遂げることができず、軽い不具合の修正や理想動作の要望などが開発期間に間に合わずに、次期モデルに繰越してしまうケースもあります。

開発者自らの品質管理では“ユーザ視点”にゆるく、「非機能要件」も満たせず!

加えて、多くの企業では仕様を一番理解しているという理由から、開発者自身がテスト設計し、品質を管理しています。しかしそれでは“ユーザ視点”がゆるく、例外処理動作(非機能動作や開発者が考慮していない想定外の操作や環境)に弱いという欠点があります。また、設計時間・実行時間も十分に確保できない状況に陥ります。

さらに、開発者視点のテストは、バグの発見や修正など「機能テスト」が中心になりがちで、使い勝手や拡張性などの「非機能テスト」は疎かになりがちです。ところが、この「非機能テスト」をしっかり抑えていないために、不具合やユーザからのクレームが生じているケースが少なくないのです。しかし、「非機能要件」は、ユーザから明確な要求があるわけではなく、明確化するのが非常に難しいのが現状です。

上流でのテスト仕様書作成

上流でのテスト仕様書作成

「テスト要求仕様書」を完成させ、要件漏れ防止と非機能要件の明確化を実現!

こうしたさまざまな要因によって不具合の複雑化が進み、負のスパイラルに陥っている開発現場は少なくありません。いずれにしろ、仕様書もない、行き当たりばったりの開発工程のままでは、いくら検証のリソースを増やしても、問題の解決にはいたりません。近年、開発形態にかかわらず、ソフトウェア制御の多機能化や複雑化による機器動作への対応が急務となっており、高効率な開発環境の構築が求められています。

まずは、仕様書の精度を上げ、開発~検証までの流れを確立することが重要です。そのうえで、開発中の製品が要求通りの品質を確保できているかどうかを確認し、仕様や要件定義の“抜け”や“漏れ”を防止するために、テスト設計のもととなる「テスト要求仕様書」を完成させる必要があります。これにより品質評価を根本から改善することが可能です。

次頁では、この「テスト要求仕様書」作成のポイントを解説します。

※テスト要求仕様書:製品の要求を一覧化し、要求の出所(Input)を明確化。さらに要件・仕様・テスト項目(Output)を明確化し、機能・非機能を整理した仕様書のこと。

12