【2021年5月7日:総合演習とカバレッジのレクチャーを追加しました!】
講座の特徴
この講座は「ソフトウェアテスト初心者が、意味のある最小限のテストを設計できるようになる」ための講座です。
ソフトウェアテストは開発において必須です。
ユニットテストや統合テストなどソフトウェアの品質を高めるためには欠かせません。
ですが、闇雲にテストを行えばよいわけではありません。
テストの設計には正しい・効果的なやり方があり、正しく行われないテストは品質を保証できず、意味のないテストになってしまいます。
また、品質が保証されないばかりでなく、ソフトウェアテストに使った決して少なくないリソースが全く無駄になってしまいます。
正しく効果的なソフトウェアテストを行うために必要な知識が「ソフトウェアテスト技法」です。
ソフトウェアテスト技法は「なるべく少ないテストケースで、より網羅的にテストする」ための技法です。
テストケースを減らしてしまうと網羅性が下がってしまうような気がしてしまいますが、必ずしもそうとは限りません。
むしろ、意味のないテストケースをいくら増やしても網羅性は上がりませんし、効果的に設計できればテストケースを最小限にしながら網羅性を確保することもできます。
つまり、「どうテストケースを設計するか?」を知らないとソフトウェアテストを意味のあるものにすることはできないのです。
扱う内容・扱わない内容
この講座では、プログラマーが必ず知っておくべき基本のソフトウェアテスト技法について学んでいきます。
ですが一方で、技法の種類だけを学んでも意味がありません。その技法の本質を理解してはじめて価値があります。
この講座ではソフトウェアテストの技法を学ぶことで、ソフトウェアテストの基本的な考え方を理解していただきます。
具体的には以下のような内容について学んでいきます。
同値クラスと境界値テスト
網羅性とピンポイント
ドメイン分析テストとデシジョンテーブル
ペア構成テスト
状態遷移テスト
テスト技法を活用する上での注意点
ソフトウェアテストの考え方が理解できれば、より発展的な技法も難なく理解できます。
まずは基本的な技法を確実に理解して使えるようになりましょう。