はじめに
福祉職からPower Platformエンジニアに転職して3ヶ月が経過。
この記事は「福祉職からPower Platformエンジニアへ:最初のプロジェクトで学んだこと」シリーズの第5回です。
前回はPower Automateでフローを作成した話を書きましたが、今回はテストケース作成について書いていきます!
最初に感じた印象
正直、テストケース作成は途方もない作業だと感じていました。
必要なテストと必要でないテストとの境がわからない。テストケースの書き方もわからない。知らないことが多すぎました。
最初は「すべてのテストが重要だから、とにかくテスト漏れがないように完璧に網羅しないと」と考えていました。だからこそ、途方もなく感じていたのだと思います。
まず初めに、テストケースとはいったいどういうものなのかを知る必要があると思いました。
まず基本を学んだ
テストケースを作る前に、基本的な考え方を学びました。
テストの観点
テストにはいくつかの観点があることを知りました。
| 観点 | 内容 | 例 |
|---|---|---|
| 正常系 | 想定通りの入力で期待通りに動くか | 正しいCSVをアップロードして登録される |
| 異常系 | 想定外の入力でエラー処理されるか | 不正なCSVでエラーメッセージが出る |
| 境界値 | 制限値ギリギリで正しく動くか | 2000件ちょうど、2001件で警告 |
| 権限 | ユーザー種別で制御されるか | 管理者のみアップロード可能 |
| E2E(シナリオ) | 一連の業務フローが通るか | CSV登録→検索→詳細表示 |
テストケースに含める項目
テストケースには以下のような項目を含めることがわかりました。
| 項目 | 説明 |
|---|---|
| テストケースID | 一意の識別番号(TC_001など) |
| テストケース名 | 何をテストするかの簡潔な名前 |
| テスト内容 | 何を確認するかの説明 |
| 前提条件 | テスト実行前に必要な状態 |
| 手順 | 具体的な操作ステップ |
| 期待値 | どうなれば成功か |
基本を知ったことで、「途方もない」という感覚が少し薄れていきました。
AIを活用してベースを作成
実際のテストケース作成では、AIを活用してベースを作成しました。
設計書の内容をAIに渡して、「この機能のテストケースを作ってほしい」とお願いすると、ベースとなるケースを作ってくれます。そこに調べものをしつつケースを追記していく形で進めました。
おかげで、比較的スムーズに作業を進めることができました。
優先順位付けに悩んだ
スムーズに進んだとはいえ、悩んだポイントもありました。
それはケースの優先順位付けです。
「ほかに必要なケースはありますか?」とAIに聞いたり、調べものをしていると、次から次へと「こういうところもテストしておくとよいですよ」というのが出てきます。
でも、テスト期間も有限です。いつまでもテストできるわけではありません。
だからケースの優先順位付けをしました。ここをよく吟味していたので、時間がかかりましたね。
優先順位付けのコツ
優先順位を付けるにあたって、自分なりに考えた基準を整理しておきます。
優先度の考え方
| 優先度 | 基準 | 例 |
|---|---|---|
| 高 | ユーザーが必ず使う機能、データに影響がある処理 | 検索機能、CSV登録処理 |
| 高 | 過去に不具合が出やすい箇所 | 境界値、権限制御 |
| 中 | エラー時の表示・通知 | エラーメッセージ、Teams通知 |
| 中 | 複数条件の組み合わせ | 検索条件の組み合わせパターン |
| 低 | 発生確率が極めて低いケース | 特殊文字の組み合わせなど |
意識したこと
- 影響範囲が大きいものを優先する:データが壊れる可能性がある処理、多くのユーザーが使う機能
- 発生頻度が高いものを優先する:日常的に行われる操作、よくあるエラーパターン
ただ、優先度が「低」だからといって、テストしなくていいわけではないと思っています。
先輩からの言葉
テストケース作成中に、先輩からこんな言葉をもらいました。
「システムトラブルになりやすいのは、テストケースに含まれていないところなんだよな」
この言葉を聞いて、考え方が変わりました。
「これはテストする必要があるか否か」と考えるのではなく、**「やれるならやった方がよい」**と思うようになりました。
時間が許す限り、カバーできるところはカバーする。その姿勢が大事なのかなと思います。
テストケースを作って感じた価値
テストケースを作成したことで、システムの実用イメージがかなり広がりました。
「システムを導入したとき、実際の現場では、こんなシチュエーションでこういう使われ方をされるかもしれない。だからこういった場合、期待通りの結果になるだろうか」
こういった考えが広がって、新たに検討しておくべき点や修正箇所などが見つかりました。
テストケース作成やその後のテストを行うことによって、重要な気づきを得ることができました。ここで手抜きしたらと思うとぞっとしますね…。
お客さんに安心して渡せる状態にするためには、テストというものがいかに重要なのかがわかりました。
おわりに
この記事では、テストケースを初めて作成した経験について書きました。
まとめると:
- 最初は途方もない作業だと感じていた
- 基本(観点・項目)を学ぶことで見通しが立った
- AIを活用してベースを作成すると効率的
- 優先順位付けには時間がかかるが、重要な工程
- 「やれるならやった方がよい」 という姿勢が大事
- テストを通じてシステムの実用イメージが広がった
この記事は「福祉職からPower Platformエンジニアへ:最初のプロジェクトで学んだこと」シリーズの一部です。