ソフトウェアのテストケース設計は、期末テストのような試験の問題作成方法に似ています。英文法の試験であれば、先生は以下のように想定して問題を作るはずです。
例:動詞に「ed」をつけると過去形になる。「I develop a program」の過去形は「I developed a program」になる。
例:have → hadやtake → tookなど、変則的な変化をする動詞がある。
先生はまず、生徒が基本を理解していることを確認する問題を作り、その次に、「takeの過去形をtakedと思っている生徒がいるかもしれない」と間違いや勘違いを予測し、それを検出するための問題を作ります。生徒の間違いや勘違いを想像し、予測できないと、テスト問題は作れません。
- 組み込みソフトの不具合、その問題の原因は「ウイルス」か「バグ」か
組み込みソフトウェアの不具合原因を突き詰めるには、冷静な判断が求められます。不具合の多くはバグによるものですが、ウイルスが原因であることもあります。あるオフィスのセキュリティシステムに起こった不具合の原因を解明してください。
- 「順調すぎるデバッグ」は本当に順調?
組み込みソフトウェアの開発プロジェクトは工程表に沿って進行します。そこにはデバッグフェーズもありますが、あまりに「順調」である場合、そこには落とし穴が潜んでいるかもしれません。プロマネの立場で「落とし穴」を見つけてください。
- 世界最高のIQを持つ女性 vs 数学者軍団
問題を考える上で感覚(直感)の役目も大きなものですが、感覚だけに頼ると論理的な結果が見えにくくなることがあります。有名な問題を例に、組み込みエンジニアとしてどう問題に取り組むべきか、考えてみましょう。
- 図書館「蔵書分類」のバグ
今回は図書館でおなじみ「本の分類」を取り上げます。情報処理系の本は007(情報学、情報科学)に547(通信工学・電気通信)、548(情報工学)とバラバラに分類されていますが、この分類を「仕様書」と考え、その問題解決に取り組んでみましょう。
- 将棋「名人位」挑戦規定のバグ
組み込みエンジニアの現場力を上げるドリル、今回は「仕様書のバグ」に挑戦します。将棋界の最高タイトルの1つである、名人位の挑戦規定という仕様書に潜むバグを発見してください。
Copyright © ITmedia, Inc. All Rights Reserved.