知識ゼロから学ぶ ソフトウェアテスト

知識ゼロから学ぶ ソフトウェアテスト

知識ゼロから学ぶ ソフトウェアテスト

  • テスト
    • ホワイトボックステスト
      • 制御パステスト法など。カバレッジ率をとるために使う。
      • 実務ではあまり使われていないらしい。「Microsoftでは、ほとんどのテスト部門でホワイトボックステストを行っていません。…他の手法を用いた方がよりたくさんのバグを発見できることを知っているのです」
    • ブラックボックステスト
      • 同値分割法と境界値分割法、ドメインテスト
        • 補遺を読んでも違いがよく分からない。実務的には、下限のちょっと下、下限、下限のちょっと上、上限と下限の間の代表的な値、上限のちょっと下、上限、上限のちょっと上をテストしておく、と覚えればよいのかな。
      • ディシジョンテーブル
      • 状態遷移テスト
    • システムテスト
      • システムテストの手法というものは存在しないので、テスト担当者は非常に多くの創造性が求められる」
      • 構成テスト、負荷テスト、パフォーマンステスト、ユーザビリティテストなどが含まれる
    • セキュリティテスト
    • その他(スモークテスト、回帰テスト
      • スモークテストとは、ビルド確認テストのこと。単純ミスで全く動かなくなっていないか、テストできる状態かをテストする。「5分か10分の自動化テストスクリプトを流して終了するのがベスト」
      • 回帰テストは一見自動化が容易に見えるが、問題の機能にいたる途中でインターフェースに変更が発生すると自動化スクリプトが走らなくなる、回帰テストはそれほど多くの回数実行されるわけではない、などのことから、自動化するメリットは多くない。
  • テスト運用
    • IEEE829テストプラン
    • テストケースの書き方
      • あいまいな記述をしなければよい。テストケース管理ツールもある。e-Manager(Empirix)、TestDirector(マーキュリー・インタラクティブ→現在はHPか?)など。
  • ソフトウェア品質管理
  • 自動化
    • 「自動化に向くのは、スモークテスト、パフォーマンステスト、APIのテスト」
    • APIのテストというのは、単体テストに近いだろうか。とすると「単体テストは自動化しやすいが、連結、総合テストは自動化しにくい」といっていた先輩のことばと一致する。

ツールの類については名前がいくつか挙がっているくらいだったが、フリーの静的解析ツールのsplintというのがあるらしい。ちょっと動かしたところでは、やはり余計な情報がたくさん出力される傾向があるが、使い方を考えてみたい。

よく聞く、単体テスト結合テスト、総合テストなどの概念は言及なし。