エンジニア女子の日常

エンジニア女子が本、映画レビュー、ダイエット、仕事、技術について書いているブログです。

テスト初心者向け!品質とは?テストケースはどうやって考える?

今働いている会社で、新卒1年目の教育係をしているrokoです。

その新卒1年目の子に「テストケースの考え方がわからない」って質問を受けて、過去の資料をいろいろあさって、テストについてまとめてみました。

 

品質とは何か?

事例から品質を考えていこう

以下の2つ例はどっちが品質が高いのでしょうか?

  1. トラブルは0でも、国民の5.8にしか使われていない住基ネットカード
  2. デジタルニュース

1は、トラブルがないが、ソフトウェアとしては利用者が少なくソフトウェアとしてのユーザーの利用価値は低いです。

2は、従来のニュースと比べると確確実な推敲・校正よりも、「早く 伝える」「修正」が求めれて、ユーザに価値提供しています。

 

品質がどちらかが高いかは、決められません。ですが、この例の品質を考えると

 「品質=お客さんのニーズに答えること」

であることだと気づくと思います。

品質をインターネットで調べると、、、?

「本来備わっている特性の集まりが要求事項を満たす程度」

参考

www.technofer.co.jp

 

テストの目的とは?

  • 欠陥の検出(=デバックは含まれない)
  • 対象ソフトウェアの品質レベルが十分であることの確認
  • 意思決定のための情報の提示
  • 欠陥の作り込みの防止

参考

http://jstqb.jp/dl/JSTQB-Syllabus.Foundation_Version2011.J01.pdf

 

ここで確認しておきたいのが、テストでソフトウェアの品質が完璧であることを確認するのは無理です。

なので、バグが発生してしまうのは多少はしょうがないことです。ですが、バグが極力できないように、テストを行いましょう!

テストの7原則

テストを考える時に基本となる原則があります。

 

1. テストは「欠陥がある」ことしか示せない

バグはないことの証明にはなりません。

 

2. 全数テストは不可能

全てのパターンを行うのは不可能です。

 

3. 初期テスト

いかに早く気づけれるかが重要です。なので、早い段階からテストをすることが大事です。

 

4. 欠陥の偏在

欠陥は局所的に発生します。

 

5. 殺虫剤のパラドックス

同じテストを繰り返すと、バイヤスがかかってだんだん新しい欠陥が発見できなくなります。

 

6. テストの条件次第

ソフトウェアの種類によって、テストしたい内容やテストにかけるコストが変わります。

 

7. 「バグゼロ」の落とし穴

欠陥が無いシステムが、素晴らしいわけではありません。なぜなら、バグが0だとしても、システムの起動が5時間以上がかかってしまったら、ソフトウェアの品質が高いとはいえません。

 

参考

http://jstqb.jp/dl/JSTQB-SyllabusFoundation_Ver%20sion2018.J01.pdf

 

テストの立ち位置 

 開発モデルに合わせて、テストが存在しています。

V字モデル

webrage.jp

W字モデル

webrage.jp

 

何をテストすべきなのか?

テストはいつするべきなのか?

テスト時期に対する不良修正コスト

テスト時期に対する不良修正コスト

参考

http://www.jaspic.org/event/2009/SPIJapan/keynote/SJ9keynote.pdf

 

図からもわかるように、少しでも早くバグを見つけられてば、コストがかかりません。

バグの発見があとになればなるほど、信頼もDOWNします。

テスト観点の見つけ方

テスト観点の見つけ方

テスト観点の見つけ方

観点を見つける時は、「視座」「視点」「視野」でからテストを考えていきましょう。

視座

テストの視座

テストの視座

ソフトウェアの関係者の立場になって、テスト観点を考えていきましょう。

視点

システム/ソフトウェア 製品品質

システム/ソフトウェア 製品品質

様々の視点があるが、基本は品質特性に従って考えましょう。

視野

テスト観点の視野

テスト観点の視野

視野は広く持つ必要があります。テスト観点を考える時は、もちろんテスト経験も大事だが、ドキュメントがかなり大事です。

ドキュメントがあれば、テストを作成することができます。ドキュメントから事前にテスト作ることで、欠陥の作り込みの防止に繋がります。

逆にいえば、ドキュメントが無い状態のテスト作成はできません。

どうやってテストケースを作るか?

テストケースは考えれば考えるほど、無限に思いついてしまうが、全数テストは不可能です。

なので、テスト技法を使います。

 

reviews.hatenadiary.jp

テストケース作成の心得

=>「どうしてテストをしたいのか」を考えることです。時間が無いは理由にはなりません。

どうやってテストを実施するのか?

テストレポートに

  • テスト目的
  • 再現手順
  • 期待値
  • 実際の結果

を書きましょう。テストレポートは蓄積され、経験値となります。なので、他の人や1年後の自分が見てもわかるように、綺麗に書きましょう。

 

テストチェック項目

テストチェック項目