WindowsFormアプリケーションのテストでは、UIの操作性やシステムの安定性を重視したテストが必要になる。以下に、代表的なテスト観点を示す。
- 起動時の挙動
- アプリケーションの起動時に、すべての必要なリソースが正しく読み込まれるか、または初期設定が正しく行われているかを確認。エラーメッセージの表示や、異常終了がないことを確認する。
- テスト例: アプリ起動後、指定された初期画面が正常に表示されるか。
- フォームの表示処理
- 各フォームの表示が遅延なく正しく行われるかを確認。ウィンドウサイズの変更や、最大化・最小化の動作も含めてテスト。
- テスト例: フォームが正しいサイズで表示され、要素のレイアウトが崩れないかを確認。
- フォーカス遷移
- ユーザーがキーボードを使用してフォーム内の要素間をタブキーなどで移動する際に、適切にフォーカスが遷移するかを確認。フォーカスが意図しない順序で移動したり、停止してしまうことがないか。
- テスト例: フォーム上のテキストボックス、ボタン、チェックボックスなどが、タブキー操作で正しい順序でフォーカスが移動するか。
- ショートカットキーでの操作
- ショートカットキー(例:Ctrl+Cでコピー、Ctrl+Sで保存など)が期待通りに動作するかを確認。ユーザーの利便性を高めるために、主要な機能に対するショートカットキーが正しく機能するかのチェックが必要。
- テスト例: 「Ctrl+S」で保存処理が実行され、正常に保存されるかを確認。
- フォームのイベント処理
- ボタンのクリックやテキストの変更など、ユーザー操作に伴うイベントが正しく処理されるかを確認。意図した動作が行われること、またエラー処理が適切に行われることを確認する。
- テスト例: ボタンをクリックした際、対応するイベントハンドラが正しく呼び出され、処理が期待通りに実行されるか。
- バリデーション処理
- ユーザーが入力したデータが、正しい形式や範囲であるかを検証するバリデーションが適切に行われているかを確認。不正な入力に対してエラーメッセージが表示され、処理が停止するか。
- テスト例: メールアドレスの入力欄に不正な形式のアドレスを入力した場合、バリデーションエラーが表示されるかを確認。
- 要件通りの処理
- フォーム上で行われる処理が、仕様書や要件定義に基づいて正しく実行されているかを確認。特に、ビジネスロジックやデータ処理が期待通りに動作することが重要。
- テスト例: 入力したデータが保存されるべきテーブルに正しく登録されているかを確認。
- 不正データ時の処理
- 入力値が不正である場合、システムがどのように対応するかを確認。エラーが表示されること、また不正なデータがシステムに保存されないことを確認する。
- テスト例: 入力欄にSQLインジェクションなどの悪意のあるデータを入力し、不正な操作が行われないかを確認。
- ログの記述(非機能要件)
- システムの操作やエラーがログに記録されるかを確認。ログ出力は後のトラブルシューティングや監査のために重要な機能。エラーログと操作ログが適切に分けて記録されていることが望ましい。
- テスト例: システムのエラーが発生した際に、エラーログファイルに適切な情報が記録されているか。
追加観点
テスト例: ボタン操作により新しいフォームが期待通りに開かれ、初期状態が正常であるかを確認。
新しい画面が開く処理: 新しいウィンドウが開く場合、そのプロセスが正常に行われるかを確認。ただし、新しく開かれた画面の動作は、その画面に関する別のテストで行うべき。