0
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 1 year has passed since last update.

ソフトウェアテストAdvent Calendar 2021

Day 24

Pictmaster味わい紀行、その2、仕様変更対応編

Last updated at Posted at 2021-12-23

#概要
一旦、テスト実装が終わった後に仕様変更があって、せっかく準備したテストデータを再び弄らなくてはならなくなった場合に、Pictmasterではどのように対処するかの事例。
因子や水準数が増えたり、制約条件が追加になったり。そんなドタ仕様変更にも、ツールで乗り切りましょうの話。
#お題
ラーメン店のメニューは、以前のものを流用

因子 パラメータ1 パラメータ2 パラメータ3 パラメータ4 パラメータ5
スープ 醤油 味噌 豚骨醤油 あごだし
麺固さ 固目 柔らかめ 普通
背脂 多め 少なめ
チャーシュー 肉厚 普通
ネギ 多め 少なめ

追加仕様として、トッピングメニューおよび麺の種類(スープと麺の種類に、制約条件が追加)

  1. 麺の大盛りは、50円増し。レシートにも記載が必要。低カロリー麺では大盛り不可。
  2. 煮卵、50円。レシートに記載要
  3. 太麺(全てのスープで選択可)、極太麺(塩味では選択不可)、細麺(全てのスープで選択可)、極細麺(醤油味のみ)、低カロリー麺(全てのスープで選択可、50円増し)

#影響範囲特定
値段は、2種類のみだったのが増えそうです。前回で結果表を使いましたが、使えなくなります。ここはExcelにお任せとします。
煮卵トッピング付ける/付けない の因子を追加。値段も変わります。
麺大盛りする/しない の追加。値段も変わります。低カロリー麺については制約条件があります。
麺の種類が、水準数5の因子として追加になり、選べるスープに関して制約条件があります。
制約条件を環境設定画面から有効化します。
pict012.png
#テスト実装作業
制約表の記述が旨くできない場合、または、仕様変更都度、制約表の大幅な変更作業が伴う場合、Pictmaster等のツールが嫌いになるきっかけかと思います。いくつかヒントを紹介します。

  1. 制約に関係する因子は、パラメータを全部1個ずつ制約表に入れておきます。
    太麺と細麺については、制約式に関係ないのですが、記述しておいた方がいいです。
    当然、この2つについては選べるスープが全てになるのですが、全て選択できるように制約表を記載します。
    pict016.png
    赤丸で囲った制約に関係のあるパラメータだけ記述すれば済むのですが、制約表の見通しが良くなるのと、麺の種類に対して制約が追加になった場合、更新が楽だからです。
  2. 期待値の生成は、Excelに任せます。
    Pictmasterで生成したテーブルを別のワークシートにコピペして、計算してくれるように埋め込み式を入れておけば、仕様変更(例えば煮卵の追加価格が変更になったり)にも対応が楽です。
    今回は、以下のようなテーブルを用意して、スープ選択のみでの価格と麺の種類によるオプション価格、煮卵追加料金に対応しました。
    pict018.png
    これをテーブル参照して値段を期待値とします。
    pict017.png
=INDEX(値段表!$B$1:$B$6, SUMPRODUCT((値段表!$A$1:$A$6=B2)*ROW(値段表!$A$1:$A$6)))

スープが決め手の価格ならば、上記のような式になるかと思います。
3. テストデータを値段でソートして”異常に気づきやすいチェックシート”にする。
前回のテストデータ生成では、15件でしたが、今回はどうなるでしょうか。
pict019.png
22件でした。
これを合計金額でソートしています。600円の場合/700円の場合/750円の場合 の3通りの合計金額になりましたので、例えば3人でテストしても良いでしょうし、1人でテストするにしても、期待値が固まっていれば異常に気づく安心感があると思います。
ちょっとした気配りかも知れませんが、単調になりがちなテストでも、どうしたら異常に気がついてもらえるかは、できるだけ配慮した方がいいです。
自動テストの場合は不要かもしれませんが。

#総括
組み合わせテスト実施に使えるALL Pair法のツール紹介と、利用上の配慮について2回にわたって紹介しました。今回はテスト中に仕様変更が入ったことを想定して、テストデータの修正をALL Pair法で行ないましたが、実際にありがちなのは、仕様把握が不十分で、テスト中に別の因子が関係していることが判明した です。
なにもかも理解した上でテスト開始できれば問題ないのですが、今回紹介した事例程度に簡単な場合は希で、大抵は多くの項目が因子として関連したり、因子の中身が改廃になります。
工数かけて作り込んだチェックシートが、テスト実施直前に使い物にならなくなってガッカリすることも多いです。組み合わせテストでは、テスト件数が爆発してしまう感覚に陥ることもあるかもしれません。
ぜひ、ツールの恩恵で、そういった心配や悩みから解放されて、テストすべき心髄に、正面から向き合いたいものです。
Pictmasterを紹介しましたが、GIHOZというテストデータ生成環境も、オンラインで利用できますから、ツール武装して、どこからでもかかってきなさい状態でテストに臨みましょう。

0
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
0
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?