Skip to content

Instantly share code, notes, and snippets.

@sanoyo
Last active August 4, 2019 11:00
Show Gist options
  • Save sanoyo/aaeb42c17882c9665285acea0c678eb2 to your computer and use it in GitHub Desktop.
Save sanoyo/aaeb42c17882c9665285acea0c678eb2 to your computer and use it in GitHub Desktop.
ソフトウェアテスト基本

ソフトウェアテスト

バグとは?

ソフトウェアの欠陥、不良のことを指す。

品質が悪い

バグによって、本来の機能が制限され、そのソフトウェアに期待される機能を顧客やユーザーに提供できないこと。

ソフトウェアテストへの考え方

  • バグをすべて見つけるのは無理
  • バグは平均的に散らばっているのではなく、特定の部分に集中している。
  • どの部分にバグが出やすく、そこにどのようなテスト手法を適用すれば十分な品質が得られるのかを知ることが重要
  • テストケースを書くことのほうが、テストコードを書くことよりも難しい

カバレッジとは

プログラムの分岐をどのくらい網羅しているかを表した数値

ホワイトボクステスト

プログラムの論理構造が正しいか解析するテストのこと。

ブラックボックステスト

テストすべき4つの振る舞い

  • 入力
  • 出力
  • 計算
  • 保存

同値分割法

ソフトウェアやシステムへの入力を同じ処理をするグループに 分割し、グループ内の入力を同等に扱えるようにする技法

有効同値

期待される値

無効同値

有効同値以外の値。よくある値は、マイナスとか0とか。

参考記事

同値分割ってなんだろう? http://qualab.jp/materials/q_te.140528.color.pdf

境界分析法

有効同値と無効同値の境目をテストすること。
この境目にバグが起きやすく、同値分割法とセットで使用される。

ユニットテストに対する考え方

  • ユニットテストはプログラマが書いたコードが、プログラマが期待された振る舞いをするかどうかを検証するためのプログラムである
  • 設計が完璧であるとは限らない
    • なので、ユニットテストを行っていくことで、プロダクションコードが修正されていくことが目的である。

参考記事

ユニットテストにまつわる10の勘違い https://dev.classmethod.jp/testing/10_errors_about_unit_testing/

上記を踏まえてどんな感じで書く?(2019/8/4)

  • 有効同値、無効同値は?
  • 境界値は?
    • バグが起こりやすい箇所を決定
  • 必要のないテストはないか?
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment