3.プログラムとは
CPUが参照するプログラム(WINDOWSでは*.exeや*.dllファイルをさします)は、CPUが処理しやすいような言語(数字の羅列)で書かれており、人間が理解するのは容易な事では有りません。そこで、人間に理解しやすい言語(単語の組合わせ)で一旦書いたプログラムをCPUが参照できるプログラムに変換(翻訳)するという手法を使います。BASICやC言語、LGPはこの翻訳をする製品であり、コンパイラと呼びます。(翻訳する事をコンパイルと呼びます)
これだけを聞くと、なんか「プログラムって難しそう」と感じるかもしれません。それは半分正しいですが半分は誤解です。誤解というのはプログラムをするのに覚えなければならない事は少ないと言う点です。ちょっとは安心しました?
では逆に正しい(難しい)というのはどういう事かといえば、前述の「覚えなければならない事は少ない」に関係します。つまり、高度なプログラムを作るにも、少ない(簡単、基本的という意味)機能を沢山組み合わせて作らなければならないと言う所です。
でも、これも心配しないでください。この組合わせ(アルゴリズムと言います)というのは、どんなに優秀な人でも経験で積み重ねて行った、たまものですのですから、時間が解決してくれます。
それに、本当によく使う機能は部品(これもプログラムです)として、OSの開発元やコンパイラの開発元が提供してくれますから、それらを使えば良いでしょう。
あと、難しい点として、プログラムの誤りを探す事もあげる事が出来ます。プログラムを作れば必ずプログラムに誤り(”バグ”とか”不良”とかと呼ぶ)を作り込んでしまいます。
その為、文章を書いた後に文章の推考を行うように、プログラムを作ったらプログラムの不良を摘出する作業が必要になってきます。ところが、人間というものはアホな生き物で、自分で作ったものを見直すのが苦手であったりします。(完璧だと思ったら、人に簡単に指摘される事ってありますよね。)
テストの方法には色々なものがあり、それだけで一冊の厚い書籍が何十冊も出来てしまう程のものですし、このテストの方法は各社で考えられた一つの重要なノウハウであるため、ここで全容を明かす事はむりです。が、しいて言えば、あらゆるパターンのテストを行う事が基本でしょう。「なんだ、当然じゃん」と思われるかもしれませんが結構大変な作業です。
例えば「1〜100範囲の整数をユーザの打ち込ませる」場合なら、
テスト内容 | テスト結果 | 理由 |
−1を打ち込んだ場合 | エラー処理 | マイナスの処理チェック |
0を打ち込んだ場合 | エラー処理 | 1の判定範囲チェック |
1を打ち込んだ場合 | 成功 | 1の前後処理 |
2を打ち込んだ場合 | 成功 | 1の前後処理 |
50を打ち込んだ場合 | 成功 | 中間の数字チェック |
99を打ち込んだ場合 | 成功 | 100の判定範囲チェック |
100を打ち込んだ場合 | 成功 | 100の判定範囲チェック |
101を打ち込んだ場合 | エラー処理 | 100の判定範囲チェック |
めちゃくちゃ大きい数字打ち込んだ場合 | エラー処理 | プログラムの許容範囲 |
文字を含む数字を打ち込んだ場合 | エラー処理 | 文字をエラーとするか? |