16
1

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.

アカウンティング・サース・ジャパンAdvent Calendar 2017

Day 23

テストパターンの作成について

Last updated at Posted at 2017-12-22

##テストパターンの重要性
 ソフトウェアの各テストを行う上でテストパターンは重要です。
テストパターンは少なければユースケースを網羅できず確認漏れが発生してしまいます。逆に多すぎるとテスト工数を圧迫してしまいます。重複を防ぎユースケースを網羅したテストパターンを作成しテストに使用していくことが重要です。
 QAとしてテスト業務をしているなかでテストパターン不足で不具合を発見できなかったことがあります。このとき、テストパターンの重要性を改めて認識しテストパターンの作成方法を見つめ直すきっかけになりました。

##テストパターンの作成について
 テストパターンは実際にユーザーが使用しているデータを分析してテストパターンを作成したり、そのまま使用すればユースーケースとして考慮されたテストパターンをテストに使用できます。しかし、ユーザーが使用しているデータには個人情報を含むケースが多いため、確認したりテストに使用することはできません。しかし、適当な値や偏ったテストパターンでテストするとBugを発見できないことがあります。
 そのため、今回は公に公開されている資料からテストパターンを作成していくことにしました。

 電話番号のテストパターンについてはテストケース作成前は実家の電話番号や職場の電話番号を知っている程度の知識でした。しかし、調べていくうちに総務省が定める電気通信番号指定状況というものがあり、その中に電話番号の指定法則や使用されている市外局番が記載されていることがわかりました。

 勤めている会社の代表や支店の電話番号を使用するという方法もありますが、偏ったテストケースになる場合があります。テストデータは可能な限り偏りがなくユースケースを網羅したテストパターンが必要です。

###テストデータの作成例
 先述したように電話番号の規則は総務省の電気通信番号指定状況に記載されています。

そこから以下のことが読み取れます。
電話番号は
国内プレックス「0」+市外局番「1〜4桁」+市内局番「1〜4」+加入者番号「4桁」
という条件と
桁数は固定電話は10桁、携帯電話やPHSは11桁
という条件が読み取れます。

上記の条件から下記の電話番号のテストパターンが考えられます。
・03-XXXX-YYYY
・025-XXX-YYYY
・0250-XX-YYYY
・04998-X-YYYY
・090-XXXX-YYYY

 Yは加入者番号に当たるため、ゾロ目を除くランダムな数字を使用します。ゾロ目を使用しないのは数字の順番が間違って表示されたり登録されたりすることを発見しやすくするためです。
 Xには任意の数字を当てはめて使用できますが、上記総務省のHPに市外局番の一覧のPDFが添付されています。このPDFの中に使用されている市外局番と使用されていない市外局番が記載されています。このPDFの市外局番を使用することでユースケースに近いテストパターンを作成できます。

##最後に
 今回テストパターンについて書かせていただきました。
自分以外の人に何かを伝えることは難しいと改めて感じました。伝えるためには伝えることに対して知識を持ち理解していないといけません。また、伝えることを整理し伝えやすいように再構築しないといけません。これを何回も繰り返し、やっと伝えれる形になります。
 今回は貴重な経験をできたと思います。
 
読んでいただきありがとうございました。

16
1
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
16
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?