9
10

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 3 years have passed since last update.

テストデータ作成

Last updated at Posted at 2018-07-15
1 / 2

テストデータ作成

[テストデータ作成法]

[説明書き]

以前、あるプロジェクトで問題を解決するためにアイデアを考えたことがあります。
要件定義ちゃんと書けとか、仕様の整理とかあんまり即効性があるものをわたしは
持っていません。その中でも比較的即効性があるのがテストデータを工夫することだと
思います。読んでみれば当たり前のことばかりかもしれませんがまとめて電子に媒体になった状態はそれなりに価値があると思います。伝統的なSier以外の新しい会社なんかでは
それなりに価値があると思います。

[概要]

・単純な境界条件-最大値、最小値、1つ違いの境界値-を全てテストする。
・複合境界条件をテストする。つまり変数に小さすぎる値や大きすぎる値が
代入されるような入力データの組み合わせをテストする。
・データの種類が正しいかどうかのテストケースを作成したか。例えば、給与計算
プログラムの従業員数が負数の場合などをテストする。
・代表的な値-中間的な値-をテストする。
・JUNITでカバレッジ100%を目指してテストする。ステートメントと分岐をきちんと網羅すれば100には相当近くなります。意外と100は難しいのでどこがテストできてないかを把握して妥協することも必要かと思います。

[エラーがでやすいデータ例]

ほんの数例ですがあげておきます。閏日はテストケースで作成した経験がありますが
これをやったからといって今のシステムでエラーがでるわけではないですが注意深くみるようにはなるようです。実際に銀行システムでジーナがテストケースを出しましたがお客さん
にあたる業務の人は興味ないみたいでした。

ソフトウェアテスト入門 押さえておきたい<要点・重点>
78ページ参照
ソフトウェアテスト PRESS編集部
技術評論社

文字列の場合
ゼロ・NULL系→NULL 空文字 スペース 全角/半角

数値の場合
ゼロ・NULL系→0 
制限値→言語仕様上の上限、下限およびその前後

日付の場合
閏日 2008/2/29
存在しない日付 2009/2/29
業務上の特殊日 年末年始/月末・月初

[データ作成例 半角数字11桁までOKの例]

OKパターン
1

12
123
1234
12345
123456
1234567
12345678
123456789
1234567890
12345678901

NGパターン
123456789012

[データ作成例]

会員IDとして「6文字以上かつ10文字以下の半角英数字」
でならないとした場合のデータ例 10バイトで出来る限り作っています。

全角数字が混じっている場合 NG
123456780

半角数字 OK
1234567890

半角かつ英数字以外 NG
123456789カ

半角で英小文字  OK
abcdefghij

半角で英大文字  OK
ABCDEFGHIJ

全角で英小文字  NG
abcde

全角で英小文字  NG
ABCDE

全角で英数字以外 NG
12345678漢

[編集後記]

課長さんたちへ
プロジェクトって大体わけのわからないエラーでつぶれていくみたいですね。
そういうときに単体やり直しができればいいですができない場合も
あってそういうときに今だったら何か言えるような気がします。

★もしやってないようだったらセキュリティテストもやるかやらないかでプロジェクト
救えるか救えないかぐらい違います。SQLコマンドを入力欄に埋め込んだりとかUNIXを
入力欄に埋め込んだりとかそういうやりかたですけど、いけてない箇所があぶりだされる
可能性は経験的にあると思います。横断的に画面をたたく人っていないんで結合テストで
発見できなかったことが発見出来たりします。
セキュリティやってて面白かったのは性能も3多重・5多重やると変なエラーがでてきてくれ
たことです。
参考リンク セキュリティチェックについての説明
https://qiita.com/Tsutou/items/4fd498f8ab2638bd5650?utm_content=bufferc639e&utm_medium=social&utm_source=twitter.com&utm_campaign=buffer

参考リンク 脆弱性診断ツールについて
https://qiita.com/tamura__246/items/9c70ddc1c03cf623cf8d

えてして生のデータいきなりとか
ものすごいものでがって流してとかやりがちですが
ある程度範囲をしぼって
単体チックにテストしてみるとか
設計書をもとに(設計書ないなら自作して)テストデータ作ってテストしてみるとか、

設計書もとにデータ作ってテストしてエラー出して
プログラマーさんに説明して直してもらうっていうのが・・・・
ジーナのキラースキルの一つです。
ちなみにテストだけではわたしは自分のスキル売りません。

その他
JunitよりSpockとか他のものも試してみるのもいいかも・・・

##
便利な情報が載っているらしい。
https://www.ipa.go.jp/security/vuln/websecurity.html

9
10
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
9
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?