WEBアプリ開発に関する技術を綴るブログ

php,js,apache,mysql,laravel,fuelphpあたりの技術

テストの種類

なぜテストが重要か

テストの目的 1.バグ発見 2.品質保証 3.品質改善

この中で最重要は目的は1.バグを発見すること

バグを防ぐには

テスト種類

単体テスト

クラスや関数といった単位のプログラムのテスト

・機能確認テスト 一つのモジュールが設計書や仕様書通りに動作するか確認する

・制御フローテスト プログラムの論理構造に沿って、命令や分岐などが実行されるか確認

・データフローテスト データや変数が「定義」「使用」「消滅」の順に行われているかを確認

結合テスト 単体テストで検証したプログラムを組み合わせて行うテスト ・状態遷移テスト 状態遷移図や状態遷移表に基づいて動作を確認

機能テスト 結合したプログラムを一つの機能として行うテスト ・機能確認テスト

システムテスト

個々のプログラムや機能を結合したプログラムが仕様通りに動くかを検証する為のテスト ・確認テスト -回帰テスト 修正・変更した後に、変更箇所が正しく動くかを確認

-デグレードチェックテスト 修正・変更を行った後に、新たな不具合が生まれてないかを確認

・評価テスト -セキュリティテスト 悪意のある外部からの攻撃への対応や脆弱性が存在しないかを確認する為のテスト

-ユーザビリティテスト 操作性,学習性,理解性,見やすさといったユーザーに対しての使いやすさを確認

-障害許容性テスト 障害が発生した場合に指定された機能が維持されていることを確認

・負荷テスト -性能テスト 処理能力が仕様を満たしているか確認

-ロングランテスト 長時間の連続稼働によって処理能力や稼働率に問題が生じないかを確認

-負荷テスト 極端に高い負荷をかけた状況下での動作を確認

ユーザによるテスト ・受け入れテスト 対象のシステムがユーザーの要求を満たしているか確認

・運用テスト 実際の操作環境下でシステムが正しく動くかを確認

・アルファテスト 開発者以外の人が操作して、不具合がないかを確認

ベータテスト 発売・リリース前の製品を開発者以外の一般ユーザーが操作して、不具合がないことを確認

テスト技法

ホワイトボックステスト ・制御フローテスト ・データフローテスト

ブラックボックステスト

システムの内部構造を意識しないテスト ・機能テスト ・システムテスト