はじめに
株式会社 RetailAI X Advent Calendar 2022 の 10 日目の記事です。
昨日は@uwattotaitaiさんの『Rust UIライブラリ「Dioxus」をReact+Typescriptと比較してみた』でした。
私はQAチームに所属しており、アプリやWEBサービスのテストを行うことが多いので『テストケースを作るときに気を付けていること』を書いてみることにしました。
テストケースとは?
テストを実行する際の条件や、手順、期待結果などをまとめたものです。
テストケースを作成することでテスト対象の抜け漏れ防止や、誰でもテストの内容が理解できるようになります。
テストケースを作る時に気を付けていること
1. 具体的に書く
例えばテスト手順に「入力ボックスに8桁を入力する」と書かれている場合、英字?数字?半角?全角?など様々なパターンが想定され、期待したテストが行えない可能性があります。
誰がテストを行っても同じ手順、同じ結果になるように「入力ボックスに[test1234]を入力する]など具体的に書く必要があります。
2. テスト技法を利用する
境界値分析やデシジョンテーブルテストなどのテスト技法を利用することで必要なテストパターンを定めることができます。
境界値分析とは、テスト対象の仕様の中で「○○未満」「○○以上」など値に境界が存在する場合にその境界付近を狙う、テストケースを作成するためのテスト技法です。
参考:「境界値分析」
デシジョンテーブルテストとは、複雑な判定ロジックの整理に有用な決定表(デシジョンテーブル)の考え方に基づき、入力条件の組み合わせと対応する出力結果を整理することでテストケースを作成する技法です。
3. 準正常系、異常系のパターンを想定する
正常系以外のテストパターンも考えてテストケースに落とし込みます。
以下の記事がわかりやすかったので引用させていただきます。
画像アップロード機能を例として挙げると
正常系
想定内の入力をした時に想定通りの出力ができることの確認
例) 正常に画像をアップロードできることを確認する異常系
想定外の入力をした時の挙動の確認(想定外エラーの確認)
例) 画像アップロード中にネットワークエラーの時の挙動を確認する準正常系
想定外の入力ではあるが、想定通りの出力ができることの確認(想定内エラーの確認)
例)想定外の拡張子をアップロードした時のエラー挙動を確認する
参考: 正常系と異常系と準異常系
最後に
テストケースの項目を全て実施すればテストが完了とは言えません。
利用者がより使いやすいUIや、わかりやすい表現などを提案することも重要な観点です。
テストケースの消化を目的とせず、利用者の立場を考えてテストを行っていきたいと思います。
次回は@broccolibroccolibroccoliさんの『デザインチームを立ち上げた話』です。