Cognitive Applications Blog

製品開発の鍵を握るテスト管理 | テスト作業の価値を最大化する方法

記事をシェアする:

 

製品開発の多くがスマート製品やコネクテッド製品の開発になっています。それはつまり、より多くのシステム・エンジニアが組み込みシステムの検証と妥当性確認に追われているということです。そしてそれが意味するところは、製品をよりスマートにするには、より複雑なテストが必要になるということです。

一方同時に、製品を取り巻く市場には、消費者を守るための新たな規制が次々と生まれており、テスト担当者たちの肩にはより一層の大きな責任と、機能安全の確保のためのテスト作業がのしかかっています。

こんな状態のテスト担当チーム、そして製品開発チームが、今必要としているのは、適切なテスト管理プロセスと、それを実現するツールです。

 

テスト管理とは

テスト管理とは、検証と妥当性確認に必要なプロセスと成果物を、体系化して管理することです。従来のテスト管理で用いられていたのは「ペンと紙」「文書作成ツール」「スプレッドシート」でした。

大規模なテスト作業の場合は、もう少し洗練されています。上記のスプレッドシートの機能を拡張したり、データベース上に構築した自社開発のソフトウェアテスト管理ソリューションが用いられたり、あるいはIBM Engineering Test Managementに代表される商用テスト管理アプリケーションが使用されているのが一般的です。

 

テスト管理の目標は、製品開発の全体的な取り組みの中で、チームがすべてのテスト活動を計画、開発、実行、評価できるようにすることです。この目標には、テスト作業に関係するすべての人の作業の調整、テスト資産間の依存関係と関係性のトラッキングが含まれています。そして最も重要な目標は、品質目標の定義、測定、トラッキングです。

 

テスト管理の課題

テスト管理の目的を明確にする必要がある際には、次の質問に答えていくのがよいでしょう。

「なぜテストする必要があるのか」「何をテストする必要があるのか」「どこでテストするのか」「いつテストするのか」「どのようにテストを実施するのか」。

— 答えが明白な質問ばかりだと感じられるかもしれませんが、実際にシステム・エンジニアリングが必要となる場面においては、これらの質問とそれへの答えが、非常に重要な役割を果たします。なぜなら、この後説明する頻発課題の対応に、非常に大きな影響を与えるものだからです。

 

テストのための十分な時間がない

一部の特別なケースを除き、ほぼすべての製品はその開発ライフサイクルにおいて、高レベルの品質を達成するのに十分なテスト時間を与えられていません。

さらに、開発の複雑性が増していることで、テストにおける優先事項の変化とそれに伴うタスク順の変化、テスト結果と品質メトリクスのデータの減少などが常に起き続けており、順調に進んでいるプロジェクトでさえ、テスト管理は常に時間的制約との戦いになっていることがほとんどです。

 

テストのための十分なリソースがない

時間の不足に加えて、テスト計画やタスクを実施するのに適切なリソースが入手できないというケースも頻繁に発生します。

テストリソースは、他のタスクや他のプロジェクトと共有されがちです。テスト用ハードウェアリソースの不足は、それを原因に遅延や困難さが増すことが多く、人的リソースの不足はハードウェアリソース不足以上の難しい問題をもたらします。

リソース不足がもたらす制約は、優先順位やタスク順の変化、テストデータの減少など時間の不足の際にあげたものとほぼ変わりません。

 

テストチームが常に同じ場所にいるわけではない

近年、テストチームの人員が地理的に同じ場所にいることはどんどん少なくなっており、コストの観点などから世界中にメンバーが分散していることは珍しくありません。一方で、無視できない技術的な問題が、それを原因に浮上してきています。

プロジェクトに影響を与えることがないよう、チームはどうすれば時差のある地域間でタイムリーに成果物を共有し、スムーズなコラボレーションを進めることができるでしょうか。地理的に分散した開発チームの効率性最大化を、どのように実現すればよいのでしょうか。

 

要件に関する難しさ

テスト戦略にはいろいろなタイプがありますが、ほとんどのケースでもっとも重要性が高いテストは「要件の妥当性確認」です。このテストの実施に必要なのは、完全で、明瞭な、テスト要件です。

テスト要件が明瞭になっていないと、テスト作業に深刻な問題が発生します。より適切なテスト要件を作成するには、IBM Engineering Test Managementなどのツールが必要となります。

 

テスト管理をより効果的に進めるためるには、変化するシステム要件やビジネス要件の最新版をいつでも確認できる必要があります。さらに、要件の変化だけではなく、それに付随する優先度や状況、関係する成果物の最新版にも常にアクセスできなければなりません。

加えて、要件を作成するチームとテストを実行するチーム間のコミュニケーションは、常に高品質を保っている必要があります。このコミュニケーションの質と双方向性が、製品そのものの品質に大きな影響を与えます。

 

開発チームとの同期を保つ

コミュニケーションの重要さはテストチームとシステム設計者、そしてソフトウェア開発者の3者間でも同様です。重大な欠陥が起きたときを除くと、システム開発とソフトウェア開発はそれぞれ自分たちのテストチームの範囲以外には興味を示さないという「悪しき伝統」は、今も色濃く残っているようです。

すべての関係者、とりわけ開発者は、現在の品質レベルと、何がテスト済みで何が未テストなのかを把握し、理解しておくことが不可欠です。

 

テストチームが貴重な時間を効率的に使用するには、コード、ビルド、環境の絶え間ない変化を常に把握し、それに対応していく必要があります。テスターが誤ったビルド(あるいは機能)をテストしてしまうことは、時間を無駄にしプロジェクトのスケジュールに深刻な影響を与える可能性があります。また、不要な再テストを行わないよう、テスターは既知の欠陥と、今後の修正予定を把握しておく必要があります。

テスト管理では、どのビルドをテストするのか、そのテストがどの環境で行われるべきなのかが、正確に識別されなければなりません。そして前述したように、発見した欠陥を、解決に必要な情報と共に迅速に伝えられるよう、テスターと開発チームとのコミュニケーションは高品質でなければなりません。

 

適切な情報を報告する

テストの状況とプロジェクトを良いものとするための情報が正しくタイムリーに伝えられてこそ、テスト作業はその価値を発揮します。レポート生成自体は難しいものではありませんが、情報を(内容だけではなくタイミングと対象も)適切に提示することは、見かけほど容易なことではありません。

  • 情報が少なすぎると、プロジェクトの利害関係者は、品質への影響を正確に理解できなくなります。そしてテストチームの価値を過少評価してしまいます。
  • 情報が多すぎると、重要な情報の意味と影響が伝わりづらくなってしまいます。
  • 多くの場合、なんらかの「技術的な障害」が存在し、異なる場所にいる異なる役割を持つ人びとの情報共有を妨げています。

 

専用ツールを用いるのか、ブラウザベースで表示するのか、あるいは文書形式とするのかといったテスト結果の配置方法と表示形式にも考慮が必要です。テスト結果の形式と配置・表示方法に技術的あるいはなんらかの制限がかかる場合、プロジェクト関係者のテストや品質情報に対する理解度は低下します。

データは、ツールや技術によってレイアウトが制約されることなく、明確かつ論理的なデザインで、適切に意味を伝えられるように提示されなければなりません。したがって、テスト管理においては、幅広いレポート形式を適切に提示できるよう、柔軟性と機能を十分に考慮することが不可欠です。

 

品質メトリクスとは

テストチームの主要な目的の1つは品質の評価と判定ですが、はたしてどのように正確に品質を測定するのでしょうか。これには多くの方法があり、その方法はシステムやアプリケーションの種類に加え、開発プロジェクトの詳細によっても異なります。

品質メトリクスは、誤った解釈が発生しないように、曖昧さを排除し明確でなければなりません。さらに重要なのは、メトリクスが取り込み可能で保存可能なものであることです。そうでなければ、メトリクスはコストに見合わないか、不完全または不正確なものとなってしまいます。

 

テスト管理で開発品質を向上し、開発競争力を強化する

これまで述べてきたように、テスト管理には多くのチャレンジがあります。そしてそれらを克服していくことが開発品質の向上につながり、ひいては開発競争力の強化を実現します。そのために必要なのは、テストチームだけではなく製品開発全体に関わるすべての関係者が、正確な情報をタイムリーに共有できるツールであり、その実践を支える文化です。

また、現在の製品開発においては、従来は協業することのなかった異業種や他社との共同開発も増えており、その際に大きな力を発揮するのは製品開発における「共通言語」とでも呼ぶべき開発ツールと文化です。

 

グローバル環境における製品開発とテスト管理においては、グローバル・スタンダードとでも呼ぶべき共通言語(ツールと言語)を用いていることが、開発競争力の強化を大きく後押しするものとなります。そして「選ばれる開発パートナー」となる条件ともなり得るのです。

 

問い合わせ情報

お問い合わせやご相談は、Congitive Applications事業 にご連絡ください。

 

製品紹介: IBM Engineering Test Management

 

製品紹介: IBM Engineering Requirements Management DOORS Next

 

関連記事: 大規模レベルのエンジニアリングを変えるIBMのELMソリューション

関連記事: 動画で分かる「製品開発プロセスをサポートする”IBM Engineering Lifecycle Management」

関連記事: スペシャリストが解説! Watsonが手戻りと欠陥発生を抑止 – 要求仕様書作成にRQAを


当記事は、Test management best practices: How to improve your testing efforts を抄訳し、日本向けにリライトしたものです。

 

More Cognitive Applications Blog stories

Society5.0時代の地方創生への挑戦 |いばらきコ・クリエーションフォーラム開催レポート

Cognitive Applications Blog

  「Society5.0、地方創生、コミュニティなどの現代的課題を知り、自分なりの答えを考えてみませんか?」というあたごちゃんの声に導かれるように、筆者は11月21日の日曜午後、茨城県水戸市で開催された「いば ...続きを読む


DX時代の今だから考える! これからの設備保全の世界とは!? | 12月8日Webセミナー開催

Cognitive Applications Blog

  高度成長期時代に導入されたインフラ設備の老朽化をはじめ、高経年設備の突発的な故障を防ぐための策はさまざまな業界で模索されています。さらに、国内の少子高齢化に伴う労働人口の減少、そして気候変動による災害の激甚 ...続きを読む


アイデアミキサー・インタビュー | 河野 英太郎(作家、アイデミーCOO、他)後編

Cognitive Applications Blog

  生産性向上は幸せになるための手段  「アイデアミキサー」第6回は、日本IBMへの入社と退社を2回繰り返したというちょっと変わった経歴をお持ちで、現在はアイデミー社の取締役COOを筆頭に、複数の肩書きで活動し ...続きを読む