ソフトウェアテスティング
テスティングは、バグが存在することを示すためには使えるが、バグが存在しないことを示すためには使えない
テスティングはリスクに基づいて実施すべき (リスクマネジメント戦略の一つとみなすとよい)
テスト段階 (stage) は 3 つ
ユニット : 別々にテストできるソフトウェア構成要素を切り離し、それぞれの働きを検証
統合 : ソフトウェアコンポーネント間の相互作用
システム : システム全体の振る舞いに関わる
テスティングの目的
受け入れ / 認定テスティング : 顧客の要求に対してシステム振る舞いが期待通りであることを検証し、システムが受け入れ評価基準を満たしているかどうかを評価
据付けテスティング : ハードウェア構成の適用環境のなかで実施されるシステムテスティング
アルファおよびベータテスティング : システムがリリースされる前に、主なユーザーになりそうな人々から選ばれた小さなグループ / 代表的なユーザーの大きな集団にシステムを試用してもらう
信頼性の達成および評価
回帰テスティング : 修正が、意図していない効果をもたらさなかったことを確認するためのシステムまたはコンポーネントの選択的再テスティング ソフトウェアに対する逐次拡張的変更によってソフトウェアの振る舞いが変わっていないことを示す
パフォーマンス・テスティング
セキュリティ・テスティング
ストレス・テスティング
バック・ツー・バックテスティング : 1 つのプログラムのなかの 2 つ、またはそれ以上の可変部を同じ入力によって実行し、得た出力を比較し、差異がある場合にエラー分析を行うこと
どゆこと? nobuoka.icon
リカバリ・テスティング : システムの破壊や事故の発生の後、ソフトウェアが再始動する能力を検証する目的
インターフェイス・テスティング : コンポーネントのインターフェイスが、データや制御情報の正しい交換を正当に提供しているかどうかの検証が目的
構成テスティング
ユーザビリティおよび人とコンピュータ間対話テスティング
テスト手法
直感および経験によるもの
アドホック・テスティング
探索的テスティング
仕様に基づくもの
コードに基づくもの
制御フローに基づいた基準
データフローに基づいた基準
フォールトに基づくもの
変異テスティング
利用に基づくもの
ユーザー観察におけるヒューリスティクス
モデル準拠テスティング技法
アプリケーションの性質に基づいた手法
選択および組み合わせ手法