Day 24では、デバッグとテストについて学習します。
プログラムを書く際には、バグを見つけて修正するデバッグや、プログラムが正しく動作することを確認するテストが重要です。
以下にデバッグとテストに関する主な内容と、例題、演習問題を提示します。
デバッグとテストの主な内容:
1. デバッグ:
– デバッグはプログラムに含まれるバグ(不具合)を見つけて修正する作業です。
– バグの原因を特定し、修正するためにデバッガやログ出力、print文の利用などの方法があります。
– デバッグのスキルはプログラミングにおいて非常に重要です。
2. テスト:
– テストはプログラムが期待通りに動作することを確認する作業です。
– テストケースを用意し、各関数や機能が正しく動作するかを検証します。
– テストは自動化されることが多く、自動テストツールを使用することで継続的にテストを実行できます。
例題:
以下は、バグを含むシンプルなC++プログラムの例です。このプログラムは2つの整数を入力し、その和を出力するものですが、バグがあるため正しい結果が出力されません。
#include <iostream> int add(int a, int b) { return a - b; // バグ: 正しくは a + b } int main() { int num1, num2; std::cout << "Enter two numbers: "; std::cin >> num1 >> num2; int result = add(num1, num2); std::cout << "Sum: " << result << std::endl; return 0; }
このプログラムをデバッグして、正しい結果が出力されるように修正してください。
演習問題:
1. ファクトリアルを計算する関数を書いてください。ただし、入力が負の数の場合はエラーとして-1を返すようにしてください。その際、テストケースを使って関数の動作を確認してください。
2. 文字列を逆順にする関数を書いてください。たとえば、”hello”と入力された場合、”olleh”と出力されるようにしてください。この関数も適切なテストケースを使って検証してください。
これらの例題と演習問題を解くことで、デバッグとテストの重要性を理解し、バグを見つけて修正する能力やプログラムの正しさを検証するテストのスキルを向上させることができます。問題を解いたら、各関数が正しく動作しているかどうかを確認してみてください。