Published on

ソフトウェアテストの重要性とテストでの考え方 に参加しました

Authors

ソフトウェアテストの重要性とテストでの考え方 - connpass に参加してきました。

まさにタイトルの内容を 1 時間に凝縮して無駄なく非常に分かりやすい内容で,そろそろ 1 時間ですねと言われて時間が経ったことに気付かされる,時間を感じさせないあっという間の体験でした。

大まかな発表内容は以下のとおりです。

  • テストの必要性
    • 2002 年の NIST の論文を引用
    • アメリカに年間 7 兆円の損害を与えている
    • 半分から 3/4 はテストすれば防げる
  • 各工程にかかる費用
    • 運用・保守を含んだテスト工程の割合は 15%
    • 運用・保守を含まないテスト工程の割合は 67%
  • テストとは
  • テストの領域は広い
  • ソフトウェアテスト 7 つの原則
  • テストの難しさ
  • バグがないことは証明できない
  • これが最後のバグか分からない
  • いつテストを終わらせて良いか分からない
  • 現実的にはスケジュールとコストで終わらせる
    • BAD: 納期が来たら
    • GOOD: 限られたコストで,いかに効率の良いテストを実施するか
  • テストの考え方
  • テスト設計が重要
    • より少ないテストケースで
    • より多くバグが見つかるように
    • テスト対象を漏れがないように
  • テストプロセスも重要
  • テスト計画でテストの使命を明らかにし,その目的を定義する
  • テスト分析でテスト要件を洗い出す
  • テスト対策をしよう
  • テスト容易性(Testability)を考えよう
  • テスト工程を前倒そう
  • テストすることは分かっているのだからテストありきで考えよう
  • コーディング後にテストするではなく,開発と並行でテストを → W モデル
  • 品質を上げるとコストが掛かる?
  • コストが掛かるのはどこ?
  • 製品の品質は作り込みの段階で確保することが基本。 デバッグは手戻りと心得る
  • 不具合の作成,検出,修正が原因で,特に 「デバッグ」
  • テストを開発側で行うようになったらテスト技術者は?
  • テスト技術者のスタンス
      1. テストとは行動である
      1. テストとは説明である
      1. テストとは納得して不安を減らすことである
  • テスト技術者のバリュー (書籍アジャイルテストから)
  • 良いソフトウェア・悪いソフトウェアとは?を理解して評価する
  • チームを支援するテストと製品を批評するテスト
  • 品質を軸にしたテスト
  • テスト技術者の知恵を上流工程で活かそう
  • 高品質なソフトウェア開発のために
  • 人に自慢できるような複雑なものは作らない
  • いつでもテストのことを頭に置いておく
  • 繰り返し使用可能なテスト環境を作る

一昨年から JaSST に参加していますが,直接拝聴する機会はなかったので非常にありがたい場でした。

テストの重要性・考え方をしばしば学校のテストを例えにされるのですが,新卒とかにテストを教えるときの例として大変分かりやすい。そして一番新しい気付きだったのは「テスト対策」でした。正直最初はピンと来なかったのですが学校のテストなどを例に聞いてるうちに,ナルホドと思わされました。学校のテスト・資格テストなど合格する前に過去問やるとか勉強・練習するとか普通するよねと言われ,確かにと。ソフトウェアもテストすること分かっているのだからその前にバグが無いように作り込むのがあるべき姿だろうと。

参考文献