づののしウ日記

学んだことを整理するために使います

ソフトウェアテスト

ソフトウェアテスト

https://service.shiftinc.jp/column/3621/

ソフトウェアをリリースする上で大切なことは、「不具合のない製品」を作ることです。不具合が多く使えない機能が多いことは、品質が悪い製品を意味します。このことから、ソフトウェアテストは不具合を発見し改善するために行います。

ソフトウェアテストの7原則

  • 不具合があることしか示せない
  • 全数テストは不可能
  • 初期テスト
  • 不具合の偏在
  • 殺虫剤のパラドックス
  • テストは条件次第
  • 不具合ゼロの落とし穴

ソフトウェアテストの分類方法

品質によるソフトウェアテストの分類

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

品質特性 概要
機能適合性 実装された機能がニーズを満たす度合い
性能効率性 システムの実行時の性能や資源効率の度合い
互換性 他製品やシステムと機能や情報を共有、変換できる度合い
使用性 効果的、効率的に利用できる度合い
信頼性 必要時に実行できる度合い
セキュリティ 不正に悪用されることがなく、情報やデータが保護される度合い
保守性 効果的、効率的に保守や修正ができる度合い
移植性 効果的、効率的に他のハードウェアや実行環境に移植できる度合い

品質を測るためのテストの具体例

  • 機能テスト
    • リクエスト通りに動作するかどうか
  • 性能テスト
    • 快適に使えるレスポンスの早さかどうか
  • 負荷テスト
    • 負荷の許容できる限界値を測る
  • ユーザビリティテスト
    • ユーザーが使いやすいかどうか
  • セキュリティテスト
    • 利用が安全かどうか

工程によるソフトウェアテストの分類

テスト計画

  1. テスト対象の決定
  2. テストのやり方の決定
  3. 役割分担の決定
  4. 準備対象の決定
  5. スケジュールの決定
  6. 管理方針の決定

テスト設計

  1. インプット情報の入手と確認
  2. テスト設計方針の決定
  3. テストケースの作成

テスト実行

  1. テスト環境の準備
  2. テストデータの準備
  3. 実行手順の確認
  4. ツールの準備
  5. 実行スケジュールの作成
  6. 実行

テストレベルによるソフトウェアテストの分類

ソフトウェアテストでは、まずそのソフトウェアの動作における最小単位でテストを行います。これを単体テスト、あるいはユニットテストと言います。

次に、複数の動作を組み合わせて結合テストを行います。結合テストでは連続する動作が正常に動くかどうかを確認します。

開発の終盤で行われるのが、ソフトウェアの全体の流れを確認するシステムテストです。システムテストでは、ソフトウェアだけでなくハードウェア部分も包括してテストを行います。

技法による分類

テスト技法で分類すると、ブラックボックステストホワイトボックステストに分けられます。

ブラックボックスは「中身が見えない」という意味で、ブラックボックステストではソフトウェアの中身を見ずに、入力した内容に対して期待した出力があるかを確認します。

一方、ホワイトボックスではソフトウェアの中身も確認し、入力から出力の間にどのような処理が行われているかも併せて確認します。

引用リスト

ソフトウェアテストとは?種類や目的、重要な7原則を紹介