ソフトウェアにおける品質では、国際規格を守ることによって海外に販売をしやすくなる点がメリットです。さらに、顧客満足度向上につながることから品質テストにおける質がこれまで以上に求められています。

この記事では、ソフトウェア品質における国際規格の品質特性や品質管理をする方法などを詳しく説明していきます。

ソフトウェアの品質とは?

ソフトウェアの品質とは?

ソフトウェアは、ハードウェアとは違い目に見えないのが特徴です。目に見えないことから、どのような作業が進められているかわかりにくくなっています。そのため、品質管理はハードウェアのように一様にはなっていません。

多くの開発現場において、ソフトウェアの機能が仕様書や要件通りに正しく動くことや、不具合がなくなるようにすることが品質保証担当者の目的です。多くのQAエンジニアがこのような不具合を検出するために、必要なテストの設計や実行などをしています。

ソフトウェアに求められる品質レベルは上がり続けている

ソフトウェアに求められる品質レベルは上がり続けている

ソフトウェアは予定通りに動いていることからユーザーが満足できるような製品とすることが求められています。ユーザー満足度を上げるためにも、品質レベルが上がり続けている傾向です。

機能面において動作を保証するだけでなく、ユーザー満足度を上げないと評価が上がらなくなっています。ユーザー満足度には安全性や操作性、保守性、付加価値創出など多くの要素が含まれています。

立場ごとにソフトウェアへの期待することが変わる

立場ごとにソフトウェアへの期待することが変わる

従来はユーザーをはじめとした人の満足度を上げれば十分でした。しかし、ソフトウェアの機能が複雑化したり高度化したりしたことから、ステークホルダーが多様化しておりユーザー以外の要件を満たすことが必要です。

ユーザー使いやすいソフトウェアが欲しい
事業担当者思った通りに稼働して欲しい
運用担当者運用や保守業務が簡単なシステムであってほしい

国際規格「ISO/IEC 25010:2011」8つの品質特性

国際規格「ISO/IEC 25010:2011」8つの品質特性

ソフトウェアの品質は機能以外にも安定性や使いやすさ、運用のしやすさなどさまざまな観点で期待されています。 ステークホルダーのさまざまな要求を洗い出して、求めていることに漏れないように満たすことは容易ではありません。

品質要求を定義して整理できる基準として、国際規格「ISO/IEC 25010:2011」が挙げられます。

1.機能適合性

機能適合性は、ユーザーがスムーズに買い物をするために必要な機能が揃っていることです。ソフトウェア開発において要求を満たしているかどうかを判断する指標です。

ソフトウェアの基本的な要件を満たすために重要であり、顧客満足度に影響します。そのため、ソフトウェア品質においても基本的な品質特性であり、機能性を確保することが求められます。

2.性能効率性

性能効率性は、ユーザーが購入ボタンを押したときに適切に反応することです。

ソフトウェアが要求している負荷や処理速度などが十分であるかどうかを評価します。生産性や利便性を向上させるために重要な特注です。

ソフトウェアのパフォーマンスが落ちると、作業時間が長くなったりユーザーがストレスを感じたりします。性能効率性を測定するためには、規定された基準と比較します。

3.互換性

互換性は、さまざまな機種のスマートフォンから確認しても変わらないように使えることです。ソフトウェアがほかの環境やシステムとの互換性があるかどうかを評価します。

ソフトウェアがほかのシステムや環境とスムーズに連携できるかどうかがポイントになります。互換性が高いシステムjはユーザーにとっても満足度が高く、重要な要素です。

4.使用性

使用性は、年齢や性別、ITの知識などに関係なく、商品を探したり購入したりスムーズにできることです。

ユーザーが使いやすいソフトウェアであるかどうかを評価します。ユーザーにとって効率的に使えるソフトウェアであることが必要であり、ソフトウェア開発において重要な特性です。ユーザーが使いやすいソフトウェアであれば、顧客満足度が上がるため企業への評価や製品の売り上げを伸ばせます。

5.信頼性

信頼性は、購入合計金額の計算や決済において間違いがないかどうかおこなうことです。また、システム障害がないか確認します。ソフトウェアが要件通りに動作することが必要です。

ソフトウェアの信頼性が低いと、バグが起こりやすかったり重大な問題につながったりする可能性があります。さらに、信頼性が低いとユーザーの信頼を失うことにもつながります。

6.セキュリティ

セキュリティは、登録している個人情報の流出、不正利用がないかどうかの確認をすることです。セキュリティ面に課題が残ると、第3者によってシステムののっとりや情報漏洩などさまざまな危険性があります。

個人情報や機密情報の漏洩などが起こるとユーザーの信頼性が損なわれ、企業に対する評価が大きく下がる可能性があります。

7.保守性

保守性は、ソフトウェアやシステムにバグが発生した場合に、原因の特定や修正をスムーズにできることです。テストにおいてバグがゼロになっても、バグがゼロになるわけではありません。

そのため、継続的な保守作業が必要です。保守性が高くないと、改善がむずかしくなりソフトウェアの品質や顧客満足度が下がる可能性があります。

8.移植性

移植性は、スマートフォンにおいて最新のOSや機種にスムーズに対応できることです。OSやハードウェア環境が変わっても同じ動きをすることが求められます。

特に、ソフトウェアの利用範囲を広げるために重要な要素であり、移植性が狭いとその分利用範囲が狭まることになります。利用範囲が狭いと競争力の低下につながる点にも注意が必要です。

外部品質と内部品質の違い

外部品質と内部品質の違い

システムのユーザーがまず触れるのが利用時の品質ですが、この部分で必要となるのが外部品質です。システムが最初に実行されたときの品質のことであり、品質といえばこの外部品質が対象になることが少なくありません。

内部品質とは、仕様書や設計書、ソースコードなどをはじめとした内部的なことが対象です。内部品質は静的な測定で数値化できることが一般的です。

ソフトウェアの品質管理を行う方法

ソフトウェアの品質管理を行う方法

品質管理を実践する方法として、ソフトウェアを動作した時点でどのようなリスクが発生するのか分析したうえで、計画を立てたり、ピアレビューやプロセスQAを実施したりしていきます。

ソフトウェアの品質管理をする方法は決して1つではありません。企業の方針や顧客が求めている内容などによって品質管理の方法が異なります。

一般的なソフトウェアの品質管理をする方法は次の3種類です。

  • 計画
  • ピアレビュー
  • プロセスQA

1.計画

見積もりの段階から開発完了まで、どのようなリスクがありトラブルが想定できるかを分析、管理をおこないます。

前もって設定された品質管理指標に合わせて、品質目標値を設定します。目標値とテストをおこなったあとの実績値を比較することで品質評価をすることが一般的です。

テスト業務は複数のプロセスにわかれますが、計画の段階ではそれぞれのプロセスにおいてどのようなテストを実施するのかを定義します。

2.ピアレビュー

ピアレビューは、ソフトウェア開発におけるそれぞれの工程で出来上がった成果物に対して開発にかかわった人がおこなうレビューです。

主な目的として、品質向上や手戻りの防止があげられます。大きな成果物となってしまうと修正範囲が大きくなる可能性があるため、早めの段階で始めることが重要です。早い段階でバグを見つけておくことで、あとの工程においてのトラブルを前もって防げます。

3.プロセスQA

プロセスQAは、プロジェクトにおいて設定された開発プロセスが守られているかどうかを確認することが目的です。プロセスQAにおいては、まずプロセスを定義する必要があります。

定義を整えたあとは、作業を監視してバグやトラブルを防ぐのが流れです。いきなり、品質管理をするのではなく、前もって定義をすることが大きな特徴です。

ソフトウェア品質に関してよくある3つの質問

ソフトウェア品質に関してよくある3つの質問

ソフトウェア品質に関してよくある次の3つの質問をまとめました。これから、品質管理に携わる場合はぜひ参考にしてください。

  • そもそもシステム品質保証とは何ですか?
  • 一般的な品質保証の範囲はどこまでですか?
  • 品質保証の仕事はどのようなものですか?

ソフトウェア品質をするためには、システム品質保証がどのようなものか、また業務内容や業務範囲などを把握しておくことが重要です。

質問1.そもそもシステム品質保証とは何ですか?

システム品質保証は、目に見えない製品をテストするためどのような作業をしているか周りにはわかりづらい点が特徴です。そのため、品質保証といっても案件ごとに異なる可能性があります。

例えば、ソフトウェアの機能が想定通りに動作しているか、バグが発生していないかなどの項目が含まれていることが一般的です。

質問2.一般的な品質保証の範囲はどこまでですか?

品質管理は製造工程において不具合がないかどうか検査、分析する仕事です。

原材料の調達から、製造、出荷、販売まで一貫して品質保証をします。品質保証では、原材料や製造、法律などさまざまな知識が必要です。

品質保証をおこなうためには、さまざまな工程における知識とトラブルに対応できる能力が求められます。品質管理は顧客満足度に直結するためやりがいのある仕事といえるでしょう。

質問3.品質保証の仕事はどのようなものですか?

品質保証は、原材料を調達、販売、販売後まですべてのプロセスにおいて品質を担保するための業務です。安全性や耐久性などさまざまな項目において品質の保証をおこないます。

品質管理が製品現場の管轄であることが一般的であるのに対して、品質保証は製品企画の段階から販売後のフォローまで範囲が広いのが特徴です。

まとめ

まとめ

システム品質保証は、顧客満足度に直結するため年々求められる質が高まっています。ただ機能を使えたらいいわけではなく、ユーザーがより使いやすいようにすることが重要です。

国際規格の品質特性を満たすことで海外に対しても質の高さをアピールすることが可能です。品質保証の方法は主に3つあり企業によって方法が異なり、自社にあった方法が求められます。