প্রোগ্রাম লেখার সময় কোডিং-এ ভুল হতে পারে। প্রোগ্রাম তৈরি করার পর এটিতে কোন ভুল অছে কিনা, তা পরীক্ষা ও যাচাই করা হয়। একে টেস্টিং (Testing) বলে।
প্রোগ্রাম তৈরির সময় বিভিন্ন কারণে প্রোগ্রামে ভুল হতে পারে। প্রোগ্রামের ভুলকে বাগ (Bug) বলে। প্রোগ্রামের ভুল-ত্রুটি খুঁজে বের করা এবং সংশোধন করাকে ডিবাগিং (Debugging) বলা হয়।
প্রোগ্রামে তিন ধরনের ভুল হতে পারে। যথা-
- ডেটা ভুল: কম্পিউটারে ভুল ডেটা দিলে তাকে ডেটা ভুল বলে। ডেটা ভুল কম্পিউটার বুঝতে পারে না। যেমন: 82 এর স্থলে ভুল করে 28 টাইপ করা হলে কম্পিউটার কোন ভুলের বার্তা প্রদর্শন করে না।
- যুক্তিগত ভুল: প্রোগ্রামে যুক্তিকে যুক্তি ভুল বলা হয়। যুক্তি ভুল হলে ফলাফলে ভুল হয়। যুক্তির ভুল কম্পিউটার বুঝতে পারে না। যেমন: এর M>N স্থলে M<N বা T = A+B এর স্থলে T =A-B লিখলে যুক্তি ভুল হয়। এক্ষেত্রেও কম্পিউটার কোনো ভুলের বার্তা প্রদর্শন করে না।
- সিনট্যাক্স ভুল: সিনট্যাক্স ভুল হলো প্রোগ্রামিং ভাষার ব্যকরণগত ভুল। যেমন- বানান ভুল, কমা, ব্র্যাকেট না দেয়া, চলকের মান বলে না দেয়া ইত্যাদি। কম্পাইলার দিয়ে অনুবাদকের সময় ভুল সহজেই ধরা পড়ে এবং কম্পিউটারে এরর মেসেজ দিয়ে জানিয়ে দেয়।
[ রানটাইম এরর: রানটাইম এরর হলো কম্পাইল শেষে রানিং অবস্থায় এমন কোনো পরিস্থিতির মুখোমুখি হওয়া, যা কম্পিউটারের পক্ষে করা সম্ভব নয় অথবা অপারেটিং সিস্টেম একে করতে বাধা দেয়। এর প্রধান কারণ হতে পারে বরাদ্দকৃত মেমোরি ফুরিয়ে যাওয়া, কিংবা এমন কিছু করার চেষ্টা করা যেটা বাস্তবিকভাবে সম্ভব নয় (কোনো সংখ্যাকে ০ দিয়ে ভাগ করা)। ]