【QA勉強会】みんなでテスト観点を意識して品質向上UP🎉
はじめに 💁
こんにちは!
X.1の山﨑です。
今回は弊社で開催した勉強会「テスト観点入門」で発表した内容を共有したいと思います!
テストの目的はシステムを実行して結果を確認するだけではありません。
要件定義に記載されている内容やユーザーストーリー、その他の仕様の全ての要件が満たされているかを検証します。
そのため、要件定義や画面設計書がテストシナリオを書くにあたって重要なテストベースになります。
今回のタイトルでもある「テスト観点」に関して意識してもらうことで、
要件定義作成時にお客様と密に確認した方がいいことがわかったり、
画面設計書に記載する内容がより明確化されると思っております!
テスト観点とは? 🧐
テスト観点とは・・・
システムのリリース前に、その故障を取り除くためにテストすべき項目
- テストの「観点」
- テスト対象の持つ、テストすべき側面
- テスト対象が達成すべき性質
テスト観点 👀
一部ですか今回紹介する観点を表にしてみました!
(例)
項目 | 観点 |
---|---|
テスト準備 | テスト端末、OSver、ブラウザ種類、登録総定数... |
認証系 | ログイン、ログアウト、複数端末ログイン... |
情報取得系 | データ、履歴、集計、検索 |
操作系 | ボタン操作、画面遷移、バリデーション、必須項目、アラート... |
CSV | インポート、ダウンロード、フォーマット、入力形式 |
ロール | 権限 |
バッチ処理 | 定時処理 |
UI | デザイン、お気に入り登録、タイトルバー... |
セキュリティ | 直リンク、ログインできない、制限... |
詳しく見ていこう 🔍
ではでは、詳しくみていきましょう〜!
今携わっている案件などに当てはめて見ていただくと、より理解が深まると思います!
テスト環境 💻
テスト端末や、ブラウザバージョンなどを確認します。
例えばwebブラウザのシステムだった場合、
クライアントの使用端末がWindowsだと、Windows端末でテストをするのが望ましいです。
クライアント側が実際使う環境を確認し、それに合わせた環境でテストをすることで、品質向上が見込めます!
認証系 ✅
ログインやログアウトです。
よくテストで漏れがちなのは、複数ログインをした時の挙動です。
複数ログインを行うことでクリティカルな問題がある場合もあるので、できるのかできないのか確認するようにしましょう。
できない場合は、いじわるテスト(できてしまう手順がないか)を実施してみてください。
情報取得系 🧮
一覧などに表示される項目を確認します。
集計などがある場合は、どの計算式が正しいのか確認します。
計算式が間違った認識だと、テストはクリアしていても、それは故障になります。
色々なパターンを想定して、クライアントが望んでいる値が正しく出ることがクリアの条件です。
操作系 🖐️
ボタンを押下した時の挙動や、画面遷移した時の挙動です。
例えば、ユーザー情報登録画面があったとして、「登録」ボタン押下で登録できる機能があったとします。
ここで考えられるのは、「登録できること」「登録できないこと」です。
登録できるとはどんな時なのか、登録できない時はどんな時なのかしっかり分けて確認する必要があります。
また、登録できた後の処理も確認が必要です。
DBに登録されるのであれば、DBに登録されていることも確認するようにしましょう。
CSV 🗒️
CSVのインポート、ダウンロード箇所の確認です。
フォーマットも大事なのですが、特にインポート時の入力形式は重要です。
入力形式から外れるものがインポートできてしまうと、バグが発生するかもしれません。
入力形式から外れるものはインポートできないようにする必要があります。
どんなフォーマットで、どんな入力形式で出力入力するのか、クライアントにも共有することで、不要なバグを出す可能性を軽減できます。
ロール 👤
権限チェックです。
特に管理画面などで、管理ユーザーに権限がふられていることがあります。
どの権限がどの画面を表示できるのか、どの権限がどの操作ができるのか、
一覧などにまとめ、クライアントも開発担当者もわかるようにするのが望ましいです。
万が一、開発途中に追加機能が発生した場合も、忘れず確認するようにしましょう。
バッチ処理 📛
定時処理で行われる処理を確認します。
定時処理は自動で行われるので、どんなときに走らせるべきか確認しないといけません。
また、定時処理を行う対象も確認が必要です。
UI 👩🎨
UIが正しいか確認します。
webブラウザの場合、お気に入り登録したときの表示やタイトルバーの確認もします。
デザイン重視の案件の場合は最終FIXしたデザインがどれなのかわかるようにしておく必要があります。
セキュリティ 🔐
セキュリティのチェックです。
使用するユーザーが多い場合、悪意の持ったユーザーがいるかもしれません。
自分以外の情報が見れてしまったり、資産に関わるものであればデータが書き換えられないかチェックする必要があります。
抜け道がないか色々なケースで確認しましょう。
まとめ ✍️
今回紹介した観点は一部なのですが、
観点を意識するとより品質の高いシステムがお客さんに渡すことができると思います。
何回もしつこいですが、
テストはシステムを実行して動いていれば合格ではなく
要件定義に記載されている内容やユーザーストーリー、その他の仕様の
全ての要件が満たされて初めて合格です。
より品質の高いシステムを提供できるよう、意識していただければ幸いです!
Discussion