見出し画像

ヤツらに気を付けろ!①

去年の秋に内容は決めていたけど、タイトルだけ入力していて放置していました。
最近似たようなことを業務中に感じたので、改めて書いてみようと思いました。

■別にソフトウェアテストに限った話ではないが…

「以上」「未満」「以下」「超える(超過)」
これらのキーワードで検索してみると、さまざまな記事がヒットします。
確かに、わかっていたつもりでもふと定義がわからなくなってしまうこともあります。

大抵、「以上」「未満」「以下」「超える(超過)」の言葉が付く時は数字が絡むことが多いと思われます。
「○歳以上」「×円未満」「△回を超えた時」など、このような文章はソフトウェアテストに限った話ではなく、日常生活でもバンバン出てきます。

特に仕様書に書かれている場合、開発の方に質問して確認しておくのは重要だなぁと、ちょうどテスト項目書を作成しているに改めて思ったのでした。

■例えば…

Aと言うサイトのログイン画面があります。
大体のログイン画面は、セキュリティの観点から一定回数アカウント情報を間違えて入力してログインするとブロックされてしまう仕様になっていることも多いでしょう。

さて、このAサイトのログインに関する仕様ですが、下記のようになっています。

・4回以上入力を間違えてログインするとエラーが出る

この場合、何回まではセーフでしょうか?
何回目からアウトになるでしょうか。

「以上」とは、ある「基準となる値」に対し「同等であるか、それよりも上である」ことを意味します。
つまり「以上」と書かれているとこの場合は4という数字を含むことになります。
3回ログイン失敗はセーフだけど、4回間違うとアウトと言うこと。

もし、この仕様書がこのように書かれていたらどうでしょうか。

・4回を超えて間違えるとエラーが出る

この場合、4回目に失敗した場合はセーフでしょうか、アウトでしょうか。

「超える(超過)」とは、ある一定の数量・基準・限度などを上回る意味があります。
この場合は4回を上回ることになるため、4回目はエラーが出ませんが、5回目に間違えるとエラーが出る形になります。

この手の問題でよく出る年齢を例にするとどうでしょうか。

・7歳以上13歳未満

「以上」に関しては先程も説明したので、「7歳」は含みます。
未満とは「それよりも下である」を表す場合に使用します。
即ち「13歳」は含みません。
7・8・9・10・11・12歳が対象となります。

未満と類似した言葉で「以下」があります。
「以下」とは、ある「基準となる値」に対し「同等であるか、それよりも下である」ことを指します。
つまり、「13歳以下」となっていた場合は、先程の「未満」が13歳を含まないのに対し、この場合は13歳が含まれることになります。

この「以上」「未満」「以下」「超える(超過)」の覚え方ですが、とあるサイトで、

「以」が付いているものはその値を含む・付いていないものはその値を含まない

のような説明がありました。
かなりわかり易い覚え方ではないでしょうか。

■同値分割と境界値分析に当てはめてみよう

「以上」「未満」「以下」「超える(超過)」が絡むテスト技法で思い付くのは同値分割と境界値分析でしょうか。
これらの4つの言葉がわかっていないと境界値分析のテストケースが作れないと言い切るのは大袈裟でしょうか。

・7歳以上13歳未満

先程上げたこの年齢の例だと、
・同値分析の場合は、0歳〜6歳以下が無効値パーティション、7歳〜12歳が有効値パーティション、13歳以上はまた無効値パーティションになります。
・境界値分析の場合は、6歳と7歳で確認、12歳と13歳で確認が考えられると思われます。
※但し、年齢なので0よりも小さな数値(マイナス)も考慮するかは要相談になると思われます

・13歳以下

この場合は、
・同値分割の場合は0歳〜13歳が有効パーティション、14歳以上が無効パーティションに入る
・境界値分析の確認は13歳と14歳で確認する
ことになるかと思います。
※この場合も0よりも小さな数値(マイナス)の場合は以下略

・チェックボックスにチェックを入れた数が30個を超えた場合にエラーになります

この場合はどうでしょうか。
「超えた」なので30個まではOK、31個だとアウトになるため、
・同値分割では0個〜30個の場合は同値パーティション、31個から先は無効値パーティション
・境界値分析では30個と31個の場合で確認が必要となります。
※但し、ちょっと落とし穴で、チェックした個数が0個の場合はどうなるのかと言う確認も別途発生する可能性もあり

ただ、「以上」「未満」「以下」「超える(超過)」は大人でも間違えてしまう可能性のある言葉なので、開発担当者に問い合わせて相互の認識合わせは必要でしょう。
自分の例ですが、特にわかり難いと思われるのが「超える(超過)」ではと思いました。
たまに「この数字は含むの?含まないの?」と混乱します。

■ 余談

記憶によると「以上」「未満」「以下」「超える(超過)」を学んだのは小学校の算数の授業だったと思います。
今はわからないけど、自分が小学生だった当時は学習指導要領の関係なのか、「超える」と習いました(超過と言う表現を知ったのはかなり後になってからです)。

子供ながらに「他の言葉は漢字2文字で書いているのに、なんで「超えて」だけ言い方が違うんだろう?」と算数の授業なのに国語的な視点の疑問を持ったことを覚えています。

まさか大人になって仕事でそれらの言葉に振り回されるとは思っても見ませんでしたw

この記事が気に入ったらサポートをしてみませんか?