書籍概要

現場の仕事がバリバリ進むソフトウェアテスト手法

著者
発売日
更新日

概要

今日,テストという技術・学問は非常に大きな分野になってきています。しかし,その重要性はまだきちんと理解されていません。そこで,製品を開発してからテストを行う際の基本的な運用方法をきちんと解説する必要があると考え,本書が誕生しました。

ハードウェアは歳月とともに劣化しますし,1つひとつに個体差があります。しかしソフトウェアは劣化しませんし,個体差もありません。10年使っても100年使っても同じように使えます。その差異を意識せずにハードウェア品質手法をソフトウェアに適用する人々がいますが,ソフトウェアを作るというのは個人の高いスキルとクリエイティブな才能に依存します。それを一蓮托生に,同じ品質のソフトウェアを大量生産する手法と同一に扱うのは土台無理な話です。そして,そこにテストという技法の必要性があるのです。

本書はテストマネージメントやテスト管理手法を知りたいという方にはうってつけの1冊です。また,テストを管理する立場にある方が本書を読み,テストマネージメント法を学ぶということにも役立ちます。

本書からテストの技法と重要性を学び取ってください。

こんな方におすすめ

  • ソフトウェアテスト担当者、テスト管理者、プロジェクトマネージャなど
  • 開発工程のマネージメントを担当している方

目次

1章 テストとは? テストマネージャとは?

  • 1-1 テストって何?
  • 1-2 ソフトウェアほにゃらら管理

2章 テストのプランニング

  • 2-1 プランニングの範囲
  • 2-2 プランニングの流れ
  • 2-3 マスターテストプラン作成のその前に
    • 2-3-1 テストする範囲を決める
    • 2-3-2 テスト環境を決める
    • 2-3-3 テストのやり方を決める
    • 2-3-4 見積もりとメンバーの人選
  • 2-4 テストプランの作成
    • 2-4-1 文章番号
    • 2-4-2 レファレンス
    • 2-4-3 はじめに
    • 2-4-4 テストアイテム(Test Items)
    • 2-4-5 テストする機能(Features to Be Tested)
    • 2-4-6 テストする必要のない機能(Features Not to Be Tested)
    • 2-4-7 アプローチ(Approach)
    • 2-4-8 テストアイテムの合否判定基準(Item pass/fail criteria)
    • 2-4-9 中止基準と再開要件(Suspension criteria and resumption requirements)
    • 2-4-10 テスト成果物(Test deliverables)
    • 2-4-11 テスティングタスク(Testing tasks)
    • 2-4-12 実行環境(Environmental needs)
    • 2-4-13 責任範囲(Responsibilities)
    • 2-4-14 スケジュール(Schedule)
    • 2-4-15 人員計画,トレーニングプラン(Staffing and training needs)
    • 2-4-16 リスクと対策(Risks and contingencies)
    • 2-4-17 承認(Approvals)
  • 2-5 まとめ
    • コラム メトリクスを決めるには

3章 テスト対象の分析とテスト設計

  • 3-1 テスト対象の分析・設計を行う
    • 3-1-1 テスト対象の情報収集
    • 3-1-2 テスト対象の要求(仕様)を整理し,一覧にする
    • 3-1-3 テスト対象の要求に適用するテストの種類を具体的にする
    • 3-1-4 優先度が高いものを洗い出す
  • 3-2 テストケース作成方針を決める
    • 3-2-1 どのテストベースを使ってテストケースを作成するか
    • 3-2-2 どのようにテストケースを管理するか
    • 3-2-3 テスト仕様書の構成
    • 3-2-4 テストケースの詳細度と粒度を決める
    • 3-2-5 テストパスの種類
  • 3-3 その他にしておくこと
    • 3-3-1 テスト対象の分析・設計時の不明点を確認する
    • 3-3-2 ヒアリング結果をもとにドキュメントを起こす
  • 3-4 まとめ
    • コラム 休暇

4章 テストケースの管理

  • 4-1 なぜテストケースの管理が大切なのか?
  • 4-2 テストケースの書き方
    • 4-2-1 機能テスト
    • 4-2-2 ドメインテスト
    • 4-2-3 スペックベーステスト(Specification-based testing)
    • 4-2-4 ストレステスト
    • 4-2-5 回帰テスト
    • 4-2-6 ユーザテスト
    • 4-2-7 シナリオテスト
    • 4-2-8 状態遷移テスト
    • 4-2-9 自動化によるボリュームテスト
  • 4-3 テストタスクのスケジューリング
  • 4-4 良いテストケースの作成
  • 4-5 効率的なテストケースとは?
  • 4-6 テストケースの管理
    • 4-6-1 テストケース数の管理
    • 4-6-2 ツールによる管理
  • 4-7 テストケースの実行
  • 4-8 まとめ
    • コラム スキルのある開発者とそうでない開発者

5章 要求ベースのテスト

  • 5-1 ソフトウェア要求ってちゃんとわかっています?
  • 5-2 テスト可能な要求
    • 5-2-1 テスト可能な要求の書き方(具象化)
    • 5-2-2 要求の網羅(要求のテスト)
  • 5-3 非機能要求のテスト
    • 5-3-1 外部インタフェース
    • 5-3-2 制約
    • 5-3-3 品質特性(ISO9126)
  • 5-4 システムテストと非機能要求のテスト
  • 5-5 パフォーマンステスト(効率性−時間効率性)
  • 5-6 要求に対するテストのタイミング
  • 5-7 まとめ
    • コラム 「要件」と「要求」の狭間で

6章 バグの管理(障害管理)

  • 6-1 バグを見つけたら報告せよ
    • 6-1-1 実際のバグの報告の仕方
    • 6-1-2 バグレポートで収集すべき情報
    • 6-1-3 バグの重要度
    • 6-1-4 バグの修正分類
  • 6-2 バグの一生を追う(バグのライフサイクル)
    • 6-2-1 バグの状態
    • 6-2-2 状態ごとの責任の所在
  • 6-3 見つけたバグはとことん使い回すべし(バグの分析)
    • 6-3-1 バグの除去が確実に行われているかを知る情報源
    • 6-3-2 納品のための品質を測定するための情報源
    • 6-3-3 長期的なバグの予防につなげるための情報源
    • 6-3-4 テストケースのための情報源
  • 6-4 バグ管理ツール
    • 6-4-1 入手可能なツール
  • 6-5 よく問題になる落とし穴
    • 6-5-1 バグの粒度(1つのバグとして入れるか,多数のバグとして入れるか)
    • 6-5-2 どうしても再現できないとき
    • 6-5-3 バグ管理ツールを使わせるコツ
  • 6-6 まとめ
    • コラム バグと障害と欠陥と不具合の違いとは?

7章 本当の品質とは(品質管理)

  • 7-1 品質の属性のトレードオフ
  • 7-2 スペースシャトルのソフトウェアと年賀状ソフトウェアは同じ品質?(製品による品質ターゲットの違い)
    • 7-2-1 信頼性の尺度
  • 7-3 Good Enough Qualityソフトウェア(てーげーソフトウェア)
  • 7-4 まとめ

8章 品質の足腰(構成管理,統合,ビルド)

  • 8-1 はじめに
  • 8-2 構成管理テスト
    • 8-2-1 その他注意する点
  • 8-3 統合テスト
    • 8-3-1 増加テスト(トップダウンテスト,ボトムアップテスト)
    • 8-3-2 非増加テスト(ビックバンテスト)
  • 8-4 デイリービルド&スモークテスト
  • 8-5 まとめ

9章 リスク管理

  • 9-1 リスクの基本
  • 9-2 デンバー空港の例
  • 9-3 製品品質に関するリスク
    • 9-3-1 品質が単に悪い(バグが収束しないなど)
    • 9-3-2 あるコンポーネントの品質が非常に低い
    • 9-3-3 ミッションクリティカルの製品のテスト
    • 9-3-4 手戻り工数が高い
    • 9-3-5 上位依存性
    • 9-3-6 ソフトウェア以外の依存
    • 9-3-7 新規に使うテクノロジや言語
    • 9-3-8 複雑性の高いコードが多い(McCabeの複雑度)
    • 9-3-9 外から購入したモジュールを使っている
    • 9-3-10 リスクの評価および計算
  • 9-4 テストチーム運営に関するリスク
    • 9-4-1 時間と予算の欠如
    • 9-4-2 テスト担当者のスキル不足
  • 9-5 大規模プロジェクトでのリスク
  • 9-6 まとめ

10章 テストチームの運営

  • 10-1 はじめに
  • 10-2 テストチームを作る
    • 10-2-1 開発者の数
    • 10-2-2 開発規模,開発期間
    • 10-2-3 目標の製品品質
    • 10-2-4 テスト担当者の質
  • 10-3 テストのお財布(テストのコスト)
    • 10-3-1 見積もれない品質コスト
    • 10-3-2 でも見積もってみよう品質コスト
  • 10-4 品質のコストの減らし方(品質を保ちつつコストを減らす)
  • 10-5 採用
    • 10-5-1 テスト担当者の本質的なスキルセット
    • 10-5-2 面接での注意点
    • 10-5-3 時間配分
    • 10-5-4 圧迫面接
    • 10-5-5 履歴書(職務経歴書)を信じるな
    • 10-5-6 最終判断
    • コラム 世界最強のMicrosoftの面接
  • 10-6 モチベーション(金か名誉か?)
    • 10-6-1 報奨
    • 10-6-2 ゴールとキャリアプランの設定を定期的に行う
    • 10-6-3 適正給与の支払い
  • 10-7 皆仲良く
    • 10-7-1 開発者とのコミュニケーション
  • 10-8 アウトソーシング
  • 10-9 まとめ

サポート

補足情報

[品質改善コンサルタントによる!ソフトウェアテスティング基礎(2日間)]

株式会社 豆蔵が定例で行っているソフトウェアテストの基礎講座です。

商品一覧