0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

はじめに

テストしてもしてもバグがなくならないし、どんどんテストケース(パターン)が際限なく増えて終わらないし、あれこれ言われて挙句の果てに全部テストしてとか言われて破綻するようなことありませんか?

僕はありますww

そんな困ったときには、テストの種類をまとめて条件を書いてみると自分の考えも整理ができて本当にテストが必要なのか判断しやすくて、「全部」テストしなくてもいいじゃないのってわかってきます。

テストを楽にするというか、イライラせず安心してテストをするヒントとなればと思いました。

テスト設計

仕様書が確定するまでテストができないと思っていませんか?
テストは要求や仕様を決める段階からでも始めれるものです。

例えばテキストファイルを読み込んで保存ができる Windows標準の某テキストエディタのようなものを作るっていうとき。

まずは「テキストファイルを読み込む」ってことが必要ですよね?
読み込む文字コードに限って考えるのであれば、簡単にですが以下のように分割していけます。

読みこめる文字コード 化ける文字コード
UTF-8 EUC
UTF-16(BE,LE) そのほか色々
Shift-JIS(MS932)

正常に動作するものを「有効同値」、(エラーになったり)動作しないものを「無効同値」とか言って「同値分割」というテスト技法のひとつです。

これぐらいであれば、完全な仕様書や動作するものがなくてもできると思います。
(実際には、もっといろんな条件があったり組み合わせがあったりしますが)

実施するテストの選定

さてさて、「有効同値」、「無効同値」をあげてテスト設計を進めていくのですが、「全文字コードの確認したの?」って言われる時がありますが。。。

素直に全部やるのか(考えるのか)というと『やらない』です。

「全部やれ」ということになった時には、逆に「読みこめる文字コード」以外はちゃんとエラー処理をしているのかを聞いてみましょう。
(というか、エラー処理入れろやゴルァ!って言いますけど)

テスト設計すると、動作してほしい/してほしくないところが限定されてくると思いますので、実際に動作するものが出来上がるまで待たなくてもできる作業なのです。

なので、開発している最中に「できること」、「できないこと」を分けて考え開発チームにフィードバックしておくと、あとあとテストが楽になってきますよ

おわりに

そのほか、境界値分析や組み合わせなど、様々なテスト技法があるので、それらも駆使してテストする範囲や条件を限定していくことができます。

「全部テストをして」とか「バグ全部発見して」とかいう無茶なことを言われて、あまり意味のないテストに時間がとられて、結局バグがとれず最終的に、これテストしたの?って言われないように、効率よく的を射たテストができますように。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?