====== 組み合わせテストツール ====== ===== 組み合わせテスト ===== [[https://www.slideshare.net/ssusere4f193/ss-149101842|組み合わせテストの落とし穴〜有則と無則〜 - SlideShare]] ==== データベースカバレッジ ==== カバレッジとは網羅率のこと WHERE句のAND, ORの条件数をnとすると、用意すべきデータの総件数mは、 m = 2 ^n * [[https://nowokay.hatenablog.com/entries/2005/08/23#1124744144|データベースカバレッジを考えたデータ作成]] * [[https://asakusabashi.hatenadiary.org/entry/20050825/p1|SQLのカバレッジ]] * [[http://www.softwaretestingmagazine.com/tools/open-source-test-data-generators/|オープンソースのテストデータジェネレーター]] * [[https://github.com/NDbUnit/NDbUnit|NDbUnit]] ==== テストデータの注意点 ==== [[https://qiita.com/disc99/items/177bdf6352de463fdc87|経験ゼロでもできるプログラミング現場の単体テスト]] === SELECTのテスト === * 1件だけ取得 * 全てのテストデータを別にする:selectされたデータを明確にするため * 条件を満たさない場合取得できないことを確認する * 複数件取得(検索条件に主キーを指定しない場合も含む) * データは3件以上(検索条件に合致2件以上、合致しない1件以上):複数件取得、データマッピングが正しいか確認するため * 「<」「>=」を使用している場合、同値ケースのテストをする * AND、ORをつなげてる場合、その組み合わせも網羅的にテストする === INSERTのテスト === * null以外のデータを登録 * nullを許可するカラムにnullを登録 * カラム全てに最大桁のデータを登録 * 一意制約に違反するデータを登録 === UPDATEのテスト === * null以外のデータを登録 * nullを許可するカラムにnullを登録 * カラム全てに最大桁のデータを登録 * 更新対象のレコードがないときの更新 * 複数券のレコード更新 === DELETEのテスト === * 存在しないレコードの削除 ===== Excel ===== 全ての組み合わせは、SQLでいうCROSS JOIN である。 * [[https://qiita.com/akiraa/items/fdad7c0ab46026007766|全ての組み合わせを生成するマクロ]] * [[https://www.shegolab.jp/entry/excel-tips-data-combination|複数リストから全ての組み合わせデータを作りたい]] ===== CEGTest(セグテスト) ===== 原因結果グラフをデシジョンテーブルに変換するソフトウェアです。\\ JavaScriptで書かれているので、 ↓にアクセスするとすぐ使えます。\\ http://softest.jp/tools/CEGTest/ [[http://underscore42rina.hatenablog.com/entry/2018/01/18/234532|CEGTest脳になろう!あらためてCEGTestを使ってみる]] {{:it技術:テスト:cegtestsample.png|}} {{:it技術:テスト:cegtestsample2.png?400|}} ===== PictMaster ===== テストする上で組み合せを作成するのって面倒ではないですか?\\ そういう時は、PICT Masterというツールが便利です。 全ての組合せを取得したい場合には環境設定ボタンをクリックし、環境設定の組み合わせるパラメータ数(デフォルトは2)を因子の数にする。 * [[http://ameblo.jp/pictmaster/|組み合わせテストケース生成ツール 「PictMaster」 とソフトウェアテストの話題]] * [[https://monoist.atmarkit.co.jp/mn/articles/1702/22/news009.html|タダでソフト開発の生産性と品質を上げる方法(2):フリーの組合せテスト自動生成ツール「PictMaster」]] * [[https://qiita.com/umasaki/items/31fc5b8666c1ac43d1cf|テストを効率化するためにPictMasterを使ってみる]] ==== PICTとは ==== でも、その前に、そもそもPICTとは?\\ PICT(Pairwise Independent Combinatorial Testing tool)は、Microsoft社が開発したソフトウェアテストツールです。\\ Microsoftでは2000年からこのツールをテスト業務に使用しています。\\ PICTは,複数のパラメータの組み合わせテストケースを,オールペア法(ペアワイズ法ともいう)を用いて自動生成します。 === PICTの導入方法 === PICTのダウンロード\\ http://download.microsoft.com/download/f/5/5/f55484df-8494-48fa-8dbd-8c6f76cc014b/pict33.msi\\ PICT Master\\ http://sourceforge.jp/projects/pictmaster/\\ 上記2つのサイトからダウンロードしてください。\\ PICTが無いと、PICT Masterは動作しません。 * [[http://replication.hatenablog.com/entry/2016/05/21/101031|Excelでテストケースが作れるPictMasterの使い方]] * [[https://qiita.com/greymd/items/ad18aa44d4159067a627|テストの数を減らそう!プリキュアで学ぶPICT]] ==== 組み合わせテストの大まかな説明 ==== 組み合わせテストをオールペア法でスピーディに! * [[http://gihyo.jp/dev/feature/01/sp-test/0001|第1回 組み合わせテストの技法]] * [[http://gihyo.jp/dev/feature/01/sp-test/0002|第2回 PICTの基本的な使い方]] * [[https://aimek-developer.blogspot.com/2017/10/pictmaster.html|組合せテストケースを自動生成してみよう!(PictMasterの紹介)]] * [[http://www.jasst.jp/symposium/jasst19tohoku/pdf/S5-3.pdf|組合せテスト打撃と魔法を組合せて魔王を倒すぞ!- pdf]] * [[http://www.jasst.jp/archives/jasst09e/pdf/D4-2.pdf|オープンソースの組み合わせテストツールの開発-組み合わせにおける制約の表形式でのモデル化- pdf]] * [[http://mokky14.hatenablog.com/entry/2014/12/10/125829|ソフトウェアテスト勉強会 ~PistMasterを使い倒す!~に行ってきました]] 組み合わせテスト技法にはAll-Pair法と直交表を利用する方法の2種類があります。\\ 日本では直行法(HAYST法)が関心度が高いですが、世界的にはAll-Pair法です。\\ * [[http://ameblo.jp/pictmaster/theme-10007479756.html|日本人はなぜ直交表により興味を抱くのか?]] * [[http://www.jasst.jp/archives/jasst05w/pdf/S4-3.pdf|直交表 vs All-pair]] *[[http://web.archive.org/web/20131124041335/http://blog.goo.ne.jp/ka_hayst/e/69b3614c43eab193865419fc455e7ede|HAYST法の学習に使った資料やサイト]] * [[http://www.atmarkit.co.jp/ait/articles/1503/16/news149.html|組み合わせテストを科学的に効率化する――手法とツール、品質保証のための道具]] ==== 組み合わせテスト用のデシジョンテーブルを生成 ==== * [[http://softest.jp/?p=72|デシジョンテーブルの解説]] * [[https://ameblo.jp/pictmaster/entry-10227747126.html|PictMasterの結果表を使ってデシジョンテーブルを生成する!?]] * [[https://ameblo.jp/pictmaster/entry-11937518832.html|デシジョンテーブルの圧縮で任意値を使うとテスト漏れが起きる 正しい具体値を指定し圧縮する必要あり]] ===== その他ツール ===== * [[http://qiita.com/y_hokkey/items/0a433ba25a5c5587d4ad|テスト工数を削減できるかもしれないペアワイズ法とPairwiser]] * [[http://softest.jp/?cat=5|直交表割り付けツール FLMatrix]]