2021.08.25
STAFF BLOG
スタッフブログ
TECHNICAL
テクログ
こんにちは!
今回からUnitテストについて書いていこうかと思います!
第一回はUnitテストとは何かについてまとめていきます!
テストの粒度
まずは前置きとして粒度別のテストを紹介します!
- 単体テスト(Unitテスト)
単体は開発者が作成するソフトウェアの最も小さい部分を指します。
プログラミング言語によって単体の定義が変わってきますが、PHPではクラスとメソッドになるかと思います。
- 統合テスト
統合テストでは、単体をサブシステム、最終的にはシステムとして統合します。
単体テストで合格したクラスやメソッドも他のクラスやメソッドと組み合わせると欠陥がある場合があります。
それをこの粒度のテストで確認していきます。
- システムテスト
システムテストは、最も高いレベルの結合時に起こる欠陥に焦点を絞っていきます。
例として機能性、ユーザビリティ、セキュリティ、可用性、信頼性、パフォーマンス、バックアップと復元等です。
- 受け入れテスト
受け入れテストは、顧客が完成したソフトウェアを希望どおりのものになっているか確認します。
Unitテストのメリット
Unitテストのメリットについて挙げていきます!
- 問題の特定や修正が容易
- 疎結合なクラス設計を行えるようになる
- リグレッションテストが同じ精度で行える
Unitテストのデメリット
Unitテストのデメリットについて挙げていきます!
- 高コスト
- レガシーコードに導入しづらい
- テストコードの保守が必須
次回はLaravelでUnitテストを書く実践編に移りたいと思います!
それでは!
参考文献:はじめて学ぶ ソフトウェアのテスト技法