সফটওয়্যার টেস্টিং হলো এমন একটি সুনির্দিষ্ট প্রক্রিয়া যার মাধ্যমে তৈরি করা সফটওয়্যারটি ঠিকমতো কাজ করছে কিনা, এতে কোনো বাগ (bug) বা ত্রুটি আছে কিনা এবং এটি ব্যবহারকারীর চাহিদা পূরণ করতে পারছে কিনা তা যাচাই করা হয়।
সফটওয়্যার টেস্টিং প্রক্রিয়ার প্রধান ধাপগুলোকে সাধারণত STLC (Software Testing Life Cycle) বলা হয়। নিচে এর প্রধান ৬টি ধাপ বিস্তারিত আলোচনা করা হলো:
১. রিকোয়ারমেন্ট অ্যানালাইসিস (Requirement Analysis)
এটি টেস্টিংয়ের প্রথম ধাপ। এখানে কিউএ (QA - Quality Assurance) টিম সফটওয়্যারের প্রয়োজনীয়তা এবং বৈশিষ্ট্যগুলো (Requirements) ভালোভাবে অ্যানালাইসিস বা বিশ্লেষণ করে। সফটওয়্যারের কোন কোন অংশ টেস্ট করা সম্ভব (Testable) এবং কোনগুলো সম্ভব নয়, তা এই ধাপে চিহ্নিত করা হয়।
২. টেস্ট প্ল্যানিং (Test Planning)
রিকোয়ারমেন্ট বোঝার পর টেস্ট লিড বা ম্যানেজার একটি টেস্ট প্ল্যান তৈরি করেন। এই ধাপে মূলত নিচের সিদ্ধান্তগুলো নেওয়া হয়:
• টেস্টিংয়ের বাজেট এবং সময়সীমা কত?
• কোন কোন টুলস (যেমন: Selenium, Jira, Postman) ব্যবহার করা হবে?
• টেস্ট করার জন্য কতজন লোক লাগবে (Resource Allocation)?
• কোন কোন ধরনের টেস্টিং (যেমন: Functional, Security, Performance) করা হবে?
৩. টেস্ট কেস ডেভেলপমেন্ট (Test Case Development)
এই ধাপে টেস্টাররা বিস্তারিত টেস্ট কেস (Test Cases) এবং টেস্ট স্ক্রিপ্ট লেখেন। একটি টেস্ট কেসে লেখা থাকে—নির্দিষ্ট কোনো ফিচারের জন্য টেস্টার কী ইনপুট দেবেন, কী পদক্ষেপ নেবেন এবং সফটওয়্যার থেকে কী ধরনের আউটপুট আশা করা হচ্ছে (Expected Result)। এর পাশাপাশি টেস্টিংয়ের জন্য প্রয়োজনীয় ডামি ডেটা (Test Data) তৈরি করা হয়।
৪. টেস্ট এনভায়রনমেন্ট সেটআপ (Test Environment Setup)
সফটওয়্যারটি টেস্ট করার জন্য একটি উপযুক্ত পরিবেশ বা সার্ভার প্রস্তুত করা হয়। এটি এমন একটি পরিবেশ যা হুবহু আসল ব্যবহারকারীর (Production) পরিবেশের মতো কাজ করে। এখানে প্রয়োজনীয় হার্ডওয়্যার, সফটওয়্যার এবং নেটওয়ার্ক কনফিগারেশন ঠিক করা হয়, যাতে সফটওয়্যারটি সেখানে রান করিয়ে টেস্ট করা যায়।
৫. টেস্ট এক্সিকিউশন (Test Execution)
এটি হলো আসল কাজ বা টেস্টিং করার ধাপ। এই ধাপে টেস্টাররা ৩ নম্বর ধাপে তৈরি করা টেস্ট কেসগুলো ধরে ধরে সফটওয়্যারটি পরীক্ষা করেন।
• যদি সফটওয়্যারটি প্রত্যাশা অনুযায়ী কাজ করে, তবে টেস্ট কেসটি Pass বলে গণ্য হয়।
• যদি কোনো ভুল বা বাগ পাওয়া যায়, তবে টেস্ট কেসটি Fail হয় এবং সেই বাগকে ট্র্যাক করার জন্য Jira বা অন্য কোনো টুলে ডেভেলপারদের উদ্দেশ্যে বাগ রিপোর্ট করা হয়। ডেভেলপাররা বাগ ফিক্স করার পর টেস্টাররা আবার সেটা পরীক্ষা (Re-testing) করেন।
৬. টেস্ট সাইকেল ক্লোজার (Test Cycle Closure)
টেস্টিংয়ের একদম শেষ ধাপ। সব বাগ ফিক্স হওয়ার পর এবং টেস্ট কেসগুলো সফলভাবে সম্পন্ন হলে পুরো টেস্টিং প্রক্রিয়ার একটি রিপোর্ট (Test Summary Report) তৈরি করা হয়। কতগুলো বাগ পাওয়া গেছে, কতগুলো ফিক্স হয়েছে এবং সফটওয়্যারটি এখন বাজারে ছাড়ার মতো নিরাপদ কিনা, তা এই রিপোর্টে উল্লেখ করে প্রজেক্ট টিমকে জানানো হয়।
সংক্ষেপে টেস্টিংয়ের প্রকারভেদ:
টেস্টিং মূলত দুইভাবে করা যায়:
• Manual Testing: মানুষ নিজে ক্লিক করে এবং কোড বা সফটওয়্যার ব্যবহার করে বাগ খোঁজে।
• Automation Testing: কোড বা টুলের মাধ্যমে স্বয়ংক্রিয়ভাবে সফটওয়্যার টেস্ট করা হয়।