Testing করার জন্য কি Programmer হতে হবে ?
Software তৈরিতে দুই ধরনের দল বা টিম কাজ করে, 1. Developer or Programmer & 2. Tester or QA People.
এই দুই দলই মূলত Software তৈরির কাজে প্রধান ভুমিকা পালন করে।
* Developer or Programmer - They will write the code and develop the software as per customer requirement's. এই দলের প্রধান কাজ হল গ্রাহকের চাহিদা অনুযায়ী প্রোগ্রাম কোড লেখা ও software develop করা। তবে এই Developer গনও কোড লেখার পর প্রাথমিক একটি টেস্টিং করবেন, যে প্রোগ্ররাম ঠিক মত কাজ করছে কি না একে বলা হয় Unit Testing বা Integrating Testing.
এটি এক ধরনের White Box Testing, কারন টেস্টার জানেন কি ধরনের কোড লেখা আছে ও সেগুলো কিভাবে একে অপরের সাথে সম্পর্কযুক্ত ও কিভাবে কাজ করছে।
* Tester or QA People - They are mainly assignee for the software testing. এই দলের প্রধান কাজ হল গ্রাহকের চাহিদা বা প্রত্যাশা অনুযায়ী software কাজ করছে কি না তা যাচাই করা, ত্রুটি থাকলে তা Developer or Programmer কে জানানো ও তা পুনরাই যাচাই করা। সহজ কথায় software এর ত্রুটি খুজে বের করাই এই দলের কাজ।
এটি এক ধরনের Black Box Testing কারন টেস্টার জানেন না কি ধরনের কোড লেখা আছে বা সেগুলো কিভাবে কাজ করছে।
প্রত্যেকটি অপশান ঠিক মত কাজ করছে কি না, কোন অপশনে গেলে তার ভিউ কেমন হবে বা কি ধরনের রেজাল্ট আসবে সে বিষয়ে প্রাথমিক একটি টেস্টিং Developer or Programmer করে থাকেন। কারন শুধুমাত্র Developer or Programmer জানেন যে তারা কি কোড লিখেছেন ও তা কিভাবে কাজ করার কথা। এই ধরনের টেস্টিংকে Code Level Testing ও বলা হয়।
Unit Testing বা Integrating Testing হলে একে Build or Executable Format বলা হয়। কারন এই অবস্থায় Software or Application টি ইনস্টল করা যায় ও Testing এর কাজে চালানো বা যাচাই করা যায়। Unit Testing বা Integrating Testing এর আগে যেহেতু সকল কাজ Developer or Programmer গন করেন ও তারা সকল কোড লেখেন তাই Tester or QA People দের কোন ধরনের কোডিং না জানলেও তারা Testing করতে পারেন। Developer or Programmer গন Test করার জন্য Executable File প্রদান করেন।
এখন এই Executable File QA Environment/ Testing Environment এ ইনস্টল করে তা টেস্ট করা হবে এবং এই টেস্টিং সম্পূর্ন পরিচালিত হবে QA People দ্বারা। এই পদ্ধতিকে System Testing বা End to End Testing ও বলা হয়।
এখানে অবশ্যই Executable File পাওয়ার আগে QA People সুনিদিষ্ট তথ্য পাবেন বা জানতে হবে কাষ্টমারে চাহিদা কি বা Software or Application এ কি কাজ করবে ও কিভাবে। এই প্রাপ্ত তথ্য অনুযায়ী QA People একটি Test Plan ও Test Cases তৈরি করবেন।
Test Cases হল কি প্রক্রিয়াতে বা ধাপে ধাপে টেস্ট করা হবে ও কি ধরনের ফলাফল আশা করছি তার বিবরন ।
UAT Testing: টেস্টিং শেষ হবার পর UAT Testing করা হয়। System Testing শেষ হলে Software or Application কাস্টমারকে ব্যবহারের জন্য দেওয়া হয় যে তারা যে সুবিধা বা যে ফিচার চান সেই অনুযায়ী Software or Application কাজ করছে কি না। এ সময় কাস্টমার একটি নিদিষ্ট সময়ের জন্য এই Software or Application ব্যবহার করেন ও কোন ফিচার কিভাবে কাজ করছে তা বুঝতে না পারলে বা ঠিক মত কাজ না করলে তা ত্রুটি হিসাবে সনাক্ত করেন ও রিপোট করেন। একেই বলা হয় UAT Testing - User Acceptance Testing. এটি এক ধরনের Black Box Testing.
UAT Testing সম্পন্ন হলে তা কাস্টমারের জন্য বা প্রোডাকশনের জন্য প্রস্তুত হয়।