組み込みエンジニアの現場力養成ドリル(10)
野球「マジック」点灯のバグ(その3:完結編)(1/3 ページ)
引き続き、プロ野球でおなじみの「マジック・ナンバー(通称:マジック)」をテーマにお届けします。【完結編】の今回は、「第三者が開発した『マジック計算アプリケーション』のテストケースを設計せよ」というお題に対する「正常ケース」と「特殊ケース」の設計について解説します。
はじめに
プロ野球の終盤戦で話題になる「マジック・ナンバー(通称:マジック)」。本シリーズでは「第三者が開発した『マジック計算アプリケーション』のテストケース設計」をテーマにお届けしてきましたが、今回はその【完結編】となります。
初回では、マジックの計算方法を解説しました。意外に簡単ですが、漏れなくチェックするのは大変です。そして2回目では、本格的なテストの前に、「入力データの形式が正しいかをチェックするテスト」を設計しました。今回は、正常ケースと特殊ケースの設計を行います。
正常ケース
マジックの変化で、よくあるケースを以下に示します。本来なら、具体的な入力データを示すべきですが、スペースが限られており、また、データの設定も簡単なことから、割愛します。
- 全チームが自力優勝できる(マジックは点灯しない)
- 自力優勝できるチームが2つ以上で、自力優勝できないチームが1つ以上ある(マジックは点灯しない)
- 自力優勝可能が1チームだけである(マジックが点灯する)
- マジックが0(ゼロ)になる(優勝が確定する)
- マジック点灯チームとマジック対象チームの勝敗により、通常は表1のようにマジックが変化する
(*1):引き分けの場合の計算は非常に複雑なので、引き分けのテストは後述する。
特殊ケース
起こり得る異常ケースと特異ケースを全て洗い出す必要があります。以下のような異常ケースや特異ケースはあり得るかを考えてみてください。
(1)マジックの点灯、消滅に関して
・2チーム以上にマジックが点灯する
自力優勝の可能性が2チーム以上にある場合は、マジックの定義に従って、マジックは点灯しません。ただし、プロ野球では、例えば、最終戦の直接対決で勝った方が優勝する場合、両チームにマジック1を点灯させることがあります(*2)。勝ち負けや引き分けが複雑に絡みあって、どのチームが何勝すれば優勝するかを単純化したものがマジックの本来の目的ですので、直接対決しか残っておらず、両チームに優勝の可能性があるならば、マジックは必要ありません(いわゆる「隠れマジック」は出ますが)。
(*2):1994年のいわゆる「10.8決戦」がそれです。関西国際空港が開港し、『ロマンスの神様』が流行した24年前、中日と巨人が直接対決の1試合を残し、勝敗数で69勝60敗と並んだため、ナゴヤ球場での最終戦で優勝が決まることに。この時、新聞は両チームにマジック1を点灯させ、対象チームは相手チームとしました。
・最下位のチームに点灯する
残り試合が多い場合、十分にあり得ます。引き分けが非常に多い下記の表2の例を応用すれば、簡単にテストケースを設計できます。
・負け越しのチームに点灯する
上記同様、残り試合が多い場合、十分あり得ます。ただし、現実問題として、優勝する可能性は低いでしょう。
・残り1試合でもマジックが点灯しない
下記の表2の「2チーム以上にマジックが点灯する」と同様、直接対決となる最終試合で優勝が決まる場合は、あり得ます(上記の「中日 vs. 巨人の10.8決戦」の場合、マジックの本来の使われ方から判断すると、マジックを点灯させる意味がありません)。
・点灯したマジックが消滅する
よくあります。
・消滅したマジックが再点灯する
よくあります。
(2)対象チームに関して
・対象チームが2つ以上ある
マジックの定義から、自力優勝の可能性があるチームが1つだけなら、マジックの対象チームが2つ以上の場合もあります。この場合、マジック点灯チームが勝てば無条件にマジックは1減ります。さらに、対象チームが両方負けないと、マジックは2つ減りません(2018年度、広島にマジックが点灯してから、対象チームがヤクルトと阪神の両方だったことが何回かあります)。
具体的な例を以下に挙げます。
この例では、5勝0敗90引き分けのチームCにマジック5が点灯しています。対象チームは、AとBです。チームCは、勝ち数ではチームAとチームBを下回っていますが、負けが0で、引き分けが90試合もあるので、「M5」となっています。チームCは、残り5試合のうち、1つ負けて、チームAが最終戦に勝つと、勝率で並び、「勝率が同じ場合は勝ち数の多い方が優勝」という規定により、チームAが優勝します。さらに、チームCが2つ負けると勝率は8割以下になるので、優勝できません。マジックは点灯しても、非常に厳しい状況ですね。
・対象チームが途中で別チームに替わる
よくあります。
・試合を全て消化したチームが対象チームになり得る
マジックの定義上、自力優勝の可能性があるチームが1つしかないなら、全試合日程が終わったチームが対象チームになることがあり得ます。
Copyright © ITmedia, Inc. All Rights Reserved.
組み込みエンジニアの現場力養成ドリル
このコラムでは、組み込みエンジニアが日々の開発で実際に遭遇する「小さなトラブルを」取り上げ、演習形式で解説します。
この記事の著者
新着ホワイトペーパー PR
-
製品資料
[株式会社 Green AI] AIで脱炭素計画を最適化、初年度からエネルギーコストとCO2を削減する方法 -
市場調査・トレンド
[スマートジャパン編集部] 「ペロブスカイト太陽電池」の普及戦略が公表 政府が目指すコスト・導入量のロードマップを解説 -
市場調査・トレンド
[スマートジャパン編集部] 導入が加速する再エネ・系統向け蓄電システム コスト・収益性の現状分析 -
技術文書・技術解説
[スマートジャパン編集部] いまさら聞けない「ペロブスカイト太陽電池」の基礎知識と政策動向 -
技術文書・技術解説
[スマートジャパン編集部] 「ペロブスカイト太陽電池」の開発動向、日本の投資戦略やコスト目標の見通しは?
関連記事
こんなメディアも見られています
TechFactoryに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
特集
- マテリアルズ・インフォマティクスの動向調査
- 研究・開発職のデジタル活用調査
- 設計・解析業務におけるAI活用
- 3Dプリンタ利用動向調査
- CAD利用動向調査
- つながる工場の現状と課題
- 製造業におけるAI開発および活用の実態
- 設計・製造現場における品質管理
ホワイトペーパーランキング PR
-
1
EE Times Japan×EDN Japan 統合電子版:フィジカルAIが生み出す新たな「設計思想」――電子版2026年8月号
-
2
半導体装置メーカー 業績まとめ【2027年3月期第1四半期】
-
3
新入社員に読んで欲しい鉄鋼材料の基礎知識まとめ(Part4)
-
4
一時は時価総額トヨタ超え キオクシア2026年度の動向
-
5
微細配線間の絶縁劣化をどう捉える? 先端パッケージ評価の最前線
-
6
新入社員に読んで欲しい鉄鋼材料の基礎知識まとめ(Part1)
-
7
EE Times Japan×EDN Japan 統合電子版:2026年上半期の半導体業界を振り返る――電子版2026年7月号
-
8
新入社員に読んで欲しい鉄鋼材料の基礎知識まとめ(Part3)
-
9
CADツールの見直しは本当に必要? 切り替えの理由と効果を7つの質問で検証
-
10
新入社員に読んで欲しい鉄鋼材料の基礎知識まとめ(Part2)
TechFactory SNS
インフォメーション
注目情報をチェック
TechFactoryをフォロー