ソフトウェア品質特性を調べてみた5~信頼性~

前回の続きで今回は「信頼性」についてまとめます。「信頼性」は想定される時間帯や利用状況において、機能を提供し続けられる度合いです。

解説記事はこちら

ソフトウェアの「品質特性」とは?8つの品質特性と31の品質副特性を詳しく紹介

「信頼性 (Reliability)」には4つの品質副特性があります

  • 成熟性(Maturity):システムの信頼性はユーザーにとって満足か
  • 可用性(Availability):ユーザーが使いたい時に利用できるか
  • 障害許容性(耐故障性)(Fault tolerance):障害の発生をどこまで許容できるか
  • 回復性(Recoverability):障害発生前の状態に戻せるか

今回も、イメージしやすいように例を考えてみます。

種類副特性テスト観点の例
ECサイト成熟性一定期間の連続稼働において、メモリリーク(使われていない領域が解放されない)や処理速度の低下が発生せず、決済機能が正常に動作し続けること一定期間の連続的な注文を実施し、レスポンスの遅延が発生しないかの確認
可用性サーバーの一部に負荷が集中しても、ユーザーがサイトにアクセスできなくなる時間を最小限に抑えること規定のサービス稼働率が維持されているか、アクセス不能状態が発生しないかの確認
障害許容性(耐故障性)外部決済APIの一時的なダウン時でも、サイト全体がクラッシュせず、適切なメンテナンスメッセージを表示すること決済通信を意図的に遮断し、ユーザーへ適切なエラー表示とカート保存が行われるかの検証(システムがハングアップしないこと)
回復性システム障害で停止した後、再起動した際に、決済途中の注文データが破損せずに復元されること処理中に意図的にプロセスを強制終了させ、再起動後にDB内のデータが不整合(二重決済など)を起こさず復旧するかの確認
求人サイト成熟性大量の求職者が同時に検索・応募を行っても、DB接続エラーが発生せず、常に正しい結果を返し続けること高頻度の検索・応募リクエストを一定時間継続して行い、正常応答が途切れず維持されるかの確認
可用性深夜のデータ更新作業中であっても、求職者が求人票の閲覧を継続できることバッチ処理やデータ更新の実行中に、閲覧・検索などに影響が出ないかの検証
障害許容性(耐故障性)極端に大きなデータが送られても、システムが異常停止せずに入力を拒絶すること仕様外の巨大データをアップロードし、システムが正常なエラー処理を行い、継続して稼働できるかの確認
回復性(大量求人データ一括読み込みなどによる軽微な)プロセスエラーが発生した際、管理者の介入なしに自動的にサービスが再開され、再び検索が可能になること(大量求人データ一括読み込みなどで)プロセスを停止させ、規定時間内に自動回復され正常に検索結果が得られるかの計測・確認

重要な副特性ですが、テスト観点の例が難しい。イメージはできたかな。次回「セキュリティ」に続く。

余談

アイキャッチは、ある日の河津桜(カワヅザクラ)です。東横フラワー緑道の高島山トンネルを横浜西口方面に歩いていくと見つかります。