• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:単体テストのテストケースの考え方(あげかた)について)

単体テストのテストケースの考え方とは?

nda23の回答

  • ベストアンサー
  • nda23
  • ベストアンサー率54% (777/1415)
回答No.1

単体テストは仕様書に従うべきものです。 Mapが出てきたのは結果論であって、例えば、switch文とか if文を連ねるやり方も(定数なら尚更)あり得る話です。 フローチャートにしてもYes/Noだけではなく、多分岐的な 書式もあります。 仕様書では「1、2、3はtrue、他はfalse」と書かれているなら、 「1、2、3、それ以外」の全パターンを通過しないといけません。

関連するQ&A

  • 単体テストのやり方

    単体テストってどうやってするのですか?教えてください。 例えば、この関数だったらどういうテストコードを書けばいいですか? bool isStart(char c){ if(c == 'Y'){ return true; } else if(c == 'N'){ return false; } }

  • 単体テスト、結合テスト、テスト仕様はどこまで詰め込む?

    今、テスト仕様書を作成しており、 みなさまのご意見が伺えたらと思って書き込みさせていただきました。 単体テスト、結合テストの仕様書を作っているのですが、 パターン数がやはりべらぼうに多いので、どこまでで 割り切るかで悩んでいます。 考えれば考えるほどパターン数は出てくるのですが、 それらを作る工数、テストする工数を考えると、 う~ん・・・という感じです。 100%バグのないシステムを作ることは不可能で、 そのコストは∞とされていますが、可能な限りそうしたいのは やまやまですが。 ある本には顧客が70%を望んでいるなら開発としては71%を達成できたらよく、それ以上を求めることは技術者のエゴと書いてありました。 確かにまずされない操作のテストパターンを大量に生成する時間があったら、クライアントはユーザビリティを上げるなどして欲しいはずです。 でも70%ってどうやって決めたらいいのでしょう? 何でもいいので皆さんどうされているか、アドバイスいただけたら幸いです。

  • VBAで2の乗数のテストパターンを作成したい

    2の乗数のテストパターンを作成したいのですが、どのように作成すればいいのか いまいちわからないので皆さん教えてください。御願いします。 例として2の3乗のパターンを作成したい場合 1パターン目 a=true b=true c=true 2パターン目 a=true b=false c=false 3パターン目 a=false b=true c=false 4パターン目 a=false b=false c=true 5パターン目 a=true b=false c=true 6パターン目 a=true b=true c=false 7パターン目 a=false b=true c=true 8パターン目 a=false b=false c=false といった具合に作りたいのですが、for文やif文をどういう具合に使えばいいか いまいちピンと来ないので、どなたかヒントでもいいので2の乗数のテストパターンの 作成の仕方を教えてくださいよろしく御願いいたいます

  • 作成したSQLの単体テスト【エビデンスの取り方】

    作成したSQLの単体テストをするにあたって、エビデンスの取り方に悩んでおります。 テストケースとしては、 抽出した項目が正しく設定されているか、ホワイトボックスの観点から、 条件に一致する場合、しない場合で期待した値が設定されているか、などです。 抽出したものは50件のレコードで、カラムは15個程度あるとします。 エビデンスは今まではプリントスクリーンで画面キャプチャを取得して、 エクセルに張り付けていました。(SQLを使わないものの単体テスト) そしてインプットとアウトプットのデータを、テストケースのNoに合わせたファイル名にして、 フォルダに格納しておりました。 しかしSQLのテストとなると、どのようにまとめればいいか悩んでおります。 例えばあるカラムが正しい値になっているかというのは、抽出した60件のレコードのうち1レコードをコピーして、エクセルに張り付け、「このカラムのところに○○という値が設定されているため正しい」というようにするのでしょうか。 そうなるとカラムが15個あるので、15個のカラムが正しい値に設定されているかのチェックは 最低でも15個のテストケースが出来上がります。 テストケース(1):カラムAAAの値が○○であること テストケース(2):カラムBBBの値が△であること テストケース(3):カラムCCCの値が□であること    ・    ・    ・ テストケース(15):カラムYYYの値がXであること 1つの1つのテストケースに対して1レコードをコピーして、 「このカラムはこの値になっているから正しい」ということを繰り返すことになるのでしょうか。 そしてインプットとなるデータは、そのデータをDBでつかえるようにインサート文を用意すれば良いのでしょうか。 意味が伝わりにくい文章になってしまいましたが、エビデンスの取り方という点で、 どのように工夫すれば良いのか教えていただきたく、質問致しました。

  • 単体テストの品質の見方を教えてください。

    単体テストの品質を確保するために、 作成したソースのステップ数に対して、 1.「テストケース数」はどれくらい用意すれば、妥当と言えるのでしょうか? 2.「バグ数」もどれくらい上げれば、出し尽くしたと言えるのでしょうか? 現場によって、様々かもしれませんが、客観的に数字を教えて頂きたいです。(数字の出し方とかあれば、お願いします。)

  • WEBシステムの単体テスト

    WEBシステムの単体テストを詳細設計書を見ながらしています。 入力画面、一覧画面、帳票等に対して、 PCL(プログラムチェックリスト、デシジョンテーブル) の書き方がわかりません。 ご経験のある方、アドバイスいただけますか?

  • 単体テストのテストケースにて引数に値を入れたいです

    使用言語:JAVA言語 単刀直入ですが、djunitでの単体テストのメソッドの引数に値を設定したいですがどうすればいいのでしょうか? 引数がString型 Messageクラス public class Messages { public String getMessage(String message) { return message ; } } テストケース作成 public void testGetMessage001() { System.out.println("[testGetMessage001]"); Messages messages = new Messages(); System.out.println(messages.getMessage("Hello")); } とやれば、インスタンス生成してgetmessageメソッドにHelloが入ります。 問題は次の場合で仮にAxxクラスとして Public class Axx{     Public void getAxx(HttpServletRequest request){ ~処理~ } } 引数に(クラス名 オブジェクト名?) この場合、テストケースに Axx axx = new Axx(); System.out.println(messages.getAxx("????")); のようにMessageクラスと同じようにできるのでしょうか? それとも別の方法でHttpServletRequest requestに値をセットできる方法があるのでしょうか? よろしくお願い致します。

    • ベストアンサー
    • Java
  • ’>(より大きい)’のテストパターンについて 

    単体テストにおいて、 下記のような処理(Xが3より大きい場合正常ケースの処理を行い、それ以外は異常ケースの処理を行う) のテストを行う場合、テストパターンはどのようになるでしょうか? IF(X > 3)THEN{正常ケースの処理} ELSE{異常ケースの処理} 正常ケースのテストとしてX=4と異常ケースのテストとしてX=3の2パターンで十分でしょうか? または、異常ケースのテストとしてX=2のパターンも必要でしょうか?

  • テスト仕様書について

    私は入社1年目のPGです。 現在2人で開発を行っています。(VBA) 私はPGで、もう一人(Aとします)はSE兼PGです。 Aさんが詳細設計を作成し、 私がそれを元にプログラミングします。 この場合、テスト仕様書は私が作成するのですよね? でも私が作成するより、詳細設計を作成した Aさんが作成した方がいいような気がするのですが…。 一般的にはどなたが作成するものなのでしょうか? 宜しくお願いします。

  • case文

    こんにちは、SQL初心者です。 値を判定して、trueなら「*」をfalseなら表示なしとするのですが、 判定項目がかなりありまあす。 case文だとtrue、falseで二通り書かないといけないと思うのですが、簡単な方法はありますか? if文みたいにelseを使えればいいのですが。