練習帳』を解きながら、自分の考え方も整理していく。ソフトウェアの品質を学びまくるソフトウェアの品質を学びまくる読者になるソフトウェアの品質を学びまくるソフトウェアの品質、ソフトウェアテストなどについて学んだことを記録するブログです。練習帳』を解きながら、自分の考え方も整理していく。練習帳』を、じわじわ解いています。Tohokuにて好評を博した練習帳をベースに、問題を増やし内容にさらに磨きをかけて刊行します。デシジョンテーブル、状態遷移テスト、組み合わせテストという代表的なテスト技法に、「総合問題」が付くという構成です。わたしの進捗は悪く、未だに「同値分割法と境界値分析」を終えられていませんが、ごくシンプルな問題からじわじわと複雑さを上げて体を慣らしていくスタイルは、独学にも、勉強会にも向く作りだと思います。配達便の料金体系」を解いていて疑問に思った点について、著者のネモさんと秋山さんに補足していただきましたので、整理しておきたいと思います。問題1.12の正確な内容は同書をあたっていただきたいと思いますが、ざっくり以下の通りです。荷物の「三辺の合計」(以下「大きさ」)と「重量」(以下「重さ」)から、以下のように「荷物サイズ」が決まる。対応する荷物サイズの大きい方に決まる。大きさも重さも、0の入力を許容する。大きさは4桁以上の整数、重さは3桁以上の整数の入力を許容しない。選択するべき値ここで、2つのパラメタ「大きさ」「重さ」それぞれの数直線を描くのが定石かもしれませんが、軽く一時間は溶けてしまいそうので描かず・・・。それぞれのパラメタで選ぶべき値を列挙してみます。わたしは、境界値のみを選んでいます。99「解答例」では、以下の値が選ばれています。N/A主な違いは、以下です。「解答例」では、2つのパラメタについて、境界値だけでなく代表値も選んでいる。60サイズの大きさとして、「30cm」など。*1「解答例」では、無効クラスの値として、「101」「110」「N/A」を選んでいる。2つ目については理由を以下のように述べています。「3辺合計」の無効同値は最大の入力値が999になりますが、今回は有効同値に近い101と代表値である110をテストデータとして扱います。この点は理由が述べられておれず、天下りな印象を受けます。「N/A」については「上限の境界値はなし」としており、ちょっと矛盾を感じる点です。導出されるテストケースさて「解答例」では、大きさ・重さの値の各11個をフルで組み合わせた121パターンをテストケースとして挙げています。パラメタは2つ、出力のパターンも4つ(60、80、100、エラー)しかないのに、121パターンというのは多すぎるように感じるのではないでしょうか。先ほどのパラメタの組み合わせを、マトリクスで表現してみましょう。セルに埋まっているのは、「荷物サイズ」です。4つのエリアに色分けできることがわかりますね。色を少し濃くしているのが、2次元「面」になった各エリアの境界です。「大きさ」「重さ」と、「荷物サイズ」の関係たとえば緑色のエリア(荷物サイズ=80)の境界で、「特に重要なセル」はどこでしょう。大きさや重さがこれよりプラスになると、隣のエリア(荷物サイズ=100)に入ってしまう、まさに境界ギリギリです。このセルより上のセル5つは、大きさがプラスになると隣のエリアに入りますが、重さがプラスになっても同じエリア内に留まります。セルに比べて優先度は低いでしょう。2つのセルも大事です。この3つでワンセットですね。何となく特別感がありますが、「境界値のさらに隣」というところです。0)自分なら、この合計11パターンをまず高優先度にするかなと思います。著者の方の意図は以下の通り。全組み合わせは「力技だけど誰にでも分かる解答例」として用意しました。パターンの掛け算になるので、120サイズが増えただけでも増えまくります。2020年3月7日ええとですね。これは、第1章なので「勇者」(読者〕は「ひのきのぼう」(同値分割法と、境界値分析の知識)しか持っていないのです。各テストアイテム(長さ合計と、重さ)の境界値分析をして総組み合わせをしたのが解答例ですね。2020年3月7日これだとかなり多いことはもちろんご承知のうえで、「今手持ちの技法で何ができるか」ということなのですね。この後の章でデシジョンテーブルが出てきますので、「互いに関係する複数のパラメタの扱い」について知ることができるはずです。楽しみですね!わたしも今年度の間には行けるかな~。(2019/3/28)わたしのふんわりとした値選択とは異なる、ドメイン分析の正統なロジックに基づいたテストケース導出について、秋山さんがツイートされていましたので、補記しておきます。(続)まずは、こちらの表をご覧ください。こちらは今回のテストをドメイン分析で設計するときのカバレッジアイテムです。4つのドメイン(昨日は3つと書きましたが「エラー」も取り敢えずドメインとしました)で、何を網羅するのかの表です。2020年3月25日わたしは以下の部分は「有効同値クラス」と考えたこともあり、差分があるようです。「3辺合計」が100cmを超える、または「重量」が10kgを超える場合は「荷物サイズ」にエラーと表示し、*1:『練習帳』のこの章ではすべて、境界値に加えて代表値をテストケース候補に入れています。わたしは全部はやらないかな・・・。AdSenseを使用しています。AdSenseは、ユーザーの興味に応じた広告を配信するためにCookieを利用しデータを収集しています。Cookieを無効にする設定、およびGoogleアドセンスに関する詳細は、Googleのポリシーと規約をご覧ください。はてなブログをはじめよう!kz_suzukiさんは、はてなブログを使っています。ブログを報告する引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。