連載
テストでバグ発見!(1)まずは成人判定プログラムでチュートリアル:山浦恒央の“くみこみ”な話(143)(4/4 ページ)
今回から、提示された仕様とプログラム(バグを含む)から、自身の手でテストケースを設計し、バグを実際に見つけ、バグレポートまでを作成する実践的なシリーズ「テストでバグ発見!」が始まります。第1回は、チュートリアルとして成人判定プログラムからバグを発見してみましょう。
※本記事はアフィリエイトプログラムによる収益を得ています
付録:AgeCheck.pyのソースコード(テキスト版)
AgeCheck.pyをダウンロードする際にファイルを開けない、またはセキュリティの観点からWebサイトからファイルをダウンロードして開きたくないといった場合には、下記のソースコードのテキストをコピーして使用してください。
# # プログラム:年齢区分判定プログラム(AgeCheck.py) # 作成者:T.Yamaura # Y.Ohmori # number = input("年齢を入力してください:"); if number.isdecimal(): number = int(number); if number >= 0 and number <= 999: if number >= 0 and number <= 20: print("未成人"); elif number >= 21 and number < 59: print("成人"); else: print("エラー"); else: print("エラー"); else: print("エラー");
AgeCheck.pyのソースコード
山浦先生の書籍が発売中です!
前シリーズ「ソフトウェア技術者のためのバグ百科事典」を大幅に加筆、修正した山浦恒央先生の書籍「ソフトウェア技術者のためのバグ検出テキスト」が日科技連出版から好評発売中です。連載でも取り上げた、「要求仕様書のバグ」「実装抜けのバグ」「テスト業務のバグ」など、バグを36種類に分類して解説しています。囲碁や将棋であれば、「相掛かり」「矢倉」「四間飛車」「藤井システム」のような戦法を網羅した内容になっています。
前著「ソフトウェア技術者のためのバグ検出ドリル」(2019年11月刊行)も好評発売中です。実際にバグを含む要求仕様書、設計書、コーディング、デバッグ、保守を具体的に取り上げ、練習問題として31問を出題しました。同書は、囲碁や将棋における「次の一手」的な問題であり、ピンポイントの場面を取り上げ、実践力を鍛えることを目的としています。
両書とも興味のある方は、Amazon.comや書店でチェックしてください!
【 筆者紹介 】
山浦 恒央(やまうら つねお)
東海大学 大学院 組込み技術研究科 非常勤講師(工学博士)
1977年、日立ソフトウェアエンジニアリングに入社、2006年より、東海大学情報理工学部ソフトウェア開発工学科助教授、2007年より、同大学大学院組込み技術研究科准教授、2016年より非常勤講師。
主な著書・訳書は、「Advances in Computers」 (Academic Press社、共著)、「ピープルウエア 第2版」「ソフトウェアテスト技法」「実践的プログラムテスト入門」「デスマーチ 第2版」「ソフトウエア開発プロフェッショナル」(以上、日経BP社、共訳)、「ソフトウエア開発 55の真実と10のウソ」「初めて学ぶソフトウエアメトリクス」(以上、日経BP社、翻訳)。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- ≫連載「山浦恒央の“くみこみ”な話」バックナンバー
- ソフトウェア技術者のためのバグ百科事典(21)【総まとめ】バグの特定手順を解説
ソフトウェア技術者に向けて、バグに関する基礎知識をまとめていく新シリーズ「バグ百科事典」。第21回は、シリーズの総まとめとして、バグの検出から修正までの「バグ特定手順」の一連の流れを解説します。 - ソフトウェア技術者のためのバグ百科事典(20)みずほ銀行は人ごとではない!? システム刷新のバグ
ソフトウェア技術者に向けて、バグに関する基礎知識をまとめていく新シリーズ「バグ百科事典」。第20回は、「IT業界のサグラダファミリア」と呼ばれたみずほ銀行の事例に代表されるシステム刷新のバグを紹介します。 - ソフトウェア技術者のためのバグ百科事典(19)複雑怪奇な通信系プログラムのバグ
ソフトウェア技術者に向けて、バグに関する基礎知識をまとめていく新シリーズ「バグ百科事典」。第19回は、複雑怪奇になりがちな通信系プログラムのバグを紹介します。 - ソフトウェア技術者のためのバグ百科事典(18)開発工数の半分を占めるテストのバグのケーススタディー
ソフトウェア技術者に向けて、バグに関する基礎知識をまとめていく新シリーズ「バグ百科事典」。第18回は、開発工数の半分を占めるテストのバグのケーススタディーを紹介します。 - ソフトウェア技術者のためのバグ百科事典(17)無限ループやbreak抜け、コーディングのバグ再び
ソフトウェア技術者に向けて、バグに関する基礎知識をまとめていく新シリーズ「バグ百科事典」。第17回は、第14回でテーマにしたコーディングのバグを再び取り上げます。無限ループやbreak抜けなどまだまだあります!