2020年11月6日 ナレッジ

テストケースについて具体例を用いて紹介します。

こんにちは。
2020年1月に中途でアイスリーデザインへ入社しましたテストエンジニアの本と申します。この記事では、簡単なソフトウェアでもテスト設計技法を用いずに網羅的なテストを作るのが難しいことを実感して頂きたく「マイヤーズの三角形問題」について紹介します。

マイヤーズの三角形問題[1]はテストの奥深さを知ることのできる有名な問題です。Fizz Buzz問題のテスト版と捉えても良いと思います。ぜひ、挑戦してみてください。

 

マイヤーズの三角形問題

 

問題文

このWebサイトは1行テキストボックスが3つあり、それぞれ3つの半角整数を入力できます。この3つの値をそれぞれ辺A、辺B、辺Cとして三角形の3辺の長さをあらわすものとします。Webサイトは、三角形が「不等辺三角形」、「二等辺三角形」、「正三角形」のうちのどれであるかを示すメッセージを表示します。それ以外のときは「エラー」とメッセージを表示します。ソフトウェアをテストするのに十分と思われる一連のテストケースを書いてください。

制約

  • WebサイトのUIはすべて正しく実装されているものとします。例えば、「3辺がそれぞれ辺A、辺B、辺Cと表示されている。」というUIの不具合をチェックするテストケースは不要です。
  • 辺A、辺B、辺Cの値はどれだけ大きくても正しく表示できるものとします。

 

WebサイトのUI(問題文を再現)


図 問題文を再現した、WebサイトのUI[2]

入力例

図 入力例[3]

出力例


図 出力例[4]

 

以下、解答例になります。

解答例

表 著者の考える、マイヤーズの三角形問題のテストケース

ポイント

・三角形の性質からのテスト観点(No 29からNo 34)
 A + B > C かつ B + C > A かつ C + A > B であることが三角形の成立条件です。

・半角整数以外を入力するというテスト観点(No 35からNo 55)
 テキストボックスは半角整数以外を入力しようと思えばできるので、それを考慮したケースが必要です。

問題の意図

簡単なソフトウェアでも、テスト設計技法を用いずに網羅的なテストを作るのが難しいことを実感してもらうために紹介しました。
テストは「何を」「何のために」「どんなテストを行うのか」を考えることが重要で、そのためには用意周到に計画し設計して導き出す必要があります。
仕様の単純さからすると、思ったよりも色々なケースが考えられることをご理解いただけましたか?

出典

[1] マイヤーズ, J., ソフトウェア・テストの技法, 近代科学社, 2006.
[2][3][4] http://milk0824.sakura.ne.jp/services/myers/

 

 ____________

in-Pocket is presented by i3DESIGN

i3DESIGN(アイスリーデザイン)は渋谷とウクライナに拠点を構えるIT企業です。

「デザイン思考」の手法を取り入れたクライアントワークと、Google対応の自社クラウドサービス「GOMOBILE」の提供を行っています。

ビジネスの創出に必要な”右脳”であるUX/UI分野と”左脳”の開発分野が融合した組織で、サービスデザイン・UI制作・プロジェクト管理・設計・開発・品質管理・システム運用を一貫してご提供できることが、i3DESIGNの強みです。

お問い合わせはこちらから

本敬之

t.moto

この記事をシェアする

Tags