CMSのテストケースを作成する時の、観点まとめ(web制作でCMSを導入する時のテスト項目備忘録)
はじめまして。とま(@bath_ito)と申します。
本記事は、webサイト制作におけるCMSテストケース作成のポイントや観点についての備忘録です。
対象はweb制作プロジェクトで、
CMSテストケース作成をする方
CMSテスト仕様書のレビューをする方
フリーランスや副業などでCMSを用いた案件をテストを1人で行う方
などweb制作でCMS導入に携わる方です。
みなさんのテストケース作成が1分でも早く終わる助けとなりますように。
テストケースに必ず記載すること
まずはテスト仕様書内のテストケースに必ず記載する内容です。
テスターによって手順が異なる、合格基準が異なるといったことが無いように詳細に記述することがポイントです。
また、ここでテストの手順や結果について誰が見ても分かるように記載することで、クラアントが行う受け入れテストの項目として流用出来ます。
①テストの対象
画面名や特定のセクションを記載します。
例:トップページ、お知らせページのソート箇所
②テスト内容(テストの条件と手順)
テストの際に入力するデータや、結果が出るまでの作業手順
例:新規記事を作成し、{○○}の値を{△△}と設定する。
③期待される結果
合格とされる、期待される結果
例:テスト対象ページ、の{○○}の値がCMSで入力した値になっていること。
CMSテストの観点参考
前提としてCMSごとの特色によって観点は変わりますが、共通しそうな観点を洗い出してみました。テストケース作成の際に役立ててください。
ページ表示のテスト
出力された各ページの表示内容の正しさ
リンクの動作確認
画像の表示確認
レスポンシブデザインの確認(PC、タブレット、スマートフォン)
ブラウザ互換性の確認(Chrome、Firefox、Safari、Edge等)
投稿機能のテスト
新規投稿の作成
必須項目の未入力
最大文字数を超えた入力
最小文字数未満の入力
特殊文字の入力
必須入力でないフィールドが空欄だった場合の表示
投稿内容の保存確認
デフォルトの入力値
投稿の編集
編集内容の保存確認
編集履歴の確認
投稿の削除
削除の確認
削除後のデータ整合性の確認
カテゴリ、タグ等の機能
カテゴリ/タグの作成、編集、削除
カテゴリと投稿の関連付け
複数カテゴリの場合の仕様確認(優先カテゴリの有無)
カテゴリページの自動出力
投稿の一覧表示
一覧の表示内容の正確さ
一覧のソート機能
一覧のページネーション
並び順の変更方法(日付の降順or管理画面での手動並び替えなど…)
投稿の詳細表示
詳細ページの表示内容の正確さ
関連投稿の表示
検索
検索結果の正確さ
検索結果のページネーション
サイト内検索:何も入力していない場合の検索結果(全表示)時に不明なページが表示されていないか
投稿のURL構造
パーマリンクの設定
パンくずの出力の正しさ
各カスタム投稿タイプのURL構造の確認
/category/〇〇
/yyyy/MM/dd/〇〇など
RSS機能
RSSフィードの出力確認
RSSフィードの内容の正確性
メディア機能のテスト
画像/動画アップロード
アップロード可能な画像/動画ファイルの形式
アップロード可能な画像/動画ファイルのサイズ
画像のリサイズ、トリミング機能があれば要求通りに使用できるか
ファイル管理
ファイルの一覧表示
ファイルの検索機能
ファイルの削除機能
入力フォーム
必須項目の未入力
最大文字数を超えた入力
最小文字数未満の入力
入力フォーマットの不正(メールアドレス、電話番号等)
特殊文字の入力
重複データの入力
エラーメッセージが適切かどうか
プラグイン
不要なプラグインの削除
セキュリティプラグインの設定
プラグインの機能テスト
権限管理・ユーザー登録のテスト
ユーザーの新規作成・権限設定機能
管理者権限の確認
ユーザー権限の確認
エディター権限の確認
投稿者権限の確認
寄稿者権限の確認
権限なしユーザーのアクセス制限
パフォーマンスのテスト
初回ページロード速度の確認
各ページのロード速度の確認
同時アクセス時の動作確認
大量データ処理時の動作確認
エラー処理のテスト
404エラー画面の表示確認
想定外のエラー発生時の動作確認
ワークフローのテスト
下書き保存機能の確認
プレビュー機能の確認
承認フローの確認
通知機能の確認
リビジョン管理機能の確認
バックアップと復元のテスト
データベースのバックアップ
ファイルのバックアップ
バックアップデータからの復元
以上のテスト項目を基本の観点として、テストケースを作成しています。
テストケースの観点の補足
※今回の記事はシステム開発をしている方ではなく、主にweb制作をしている方を想定しています。
考え方としてシステムのテストで行う境界値テストや異常値テストも参考になりますので、補足として置いておきます。
境界値テスト
入力可能な値の上限と下限、つまり境界値をテストする。
例えば、入力可能な文字数が1〜100文字の場合、0文字、1文字、100文字、101文字を試す。
例:
投稿タイトルの最大文字数と最小文字数の境界値をテスト
投稿本文の最大文字数の境界値をテスト
アップロード可能な画像やファイルのサイズの境界値をテスト
ページネーションの最大表示件数の境界値をテスト
異常値テスト
通常期待されない、異常な値を入力してシステムの反応をテストする。
例えば、数字を入力するべき欄に文字を入力したり、極端に大きな値を入力する。
例:
投稿タイトルや本文に、HTMLタグやJavaScriptコードを入力した場合の動作確認
投稿タイトルや本文に、絵文字や特殊文字を入力した場合の動作確認
画像やファイルのアップロードに、対応していないファイル形式を使用した場合の動作確認
検索機能に、極端に長い検索ワードを入力した場合の動作確認
組み合わせテスト
複数の機能や設定の組み合わせを検証するテスト。異なる条件の組み合わせによって発生する可能性のある問題を識別する。
例:
複数のプラグインを同時に有効化した場合の動作確認
複数のユーザーが同時に同じ投稿を編集した場合の動作確認
複数のユーザーが同時にプラグインや基本設定を変更した場合の動作確認
ストレステスト
システムに大量のデータやトラフィックを与えて、パフォーマンスや安定性を検証するテスト。高負荷時のシステムの動作を確認し、限界点を見極める。
例:
大量の投稿データを一括で登録した場合の動作確認
大量のユーザーが同時にアクセスした場合の動作確認
大量の検索リクエストを同時に処理した場合の動作確認
以上です。
CMSの設計と実装の正しさを確認する重要なテストですが、テストケースを作成するのは意外と一苦労です。少しでも誰かの役に立つことを祈っています。