একটা সফটওয়্যার তৈরি করা হলে সেটা ঠিকভাবে কাজ করছে কি না, সেটা কিন্তু শুধু ডেভেলপাররা দেখেন না। সফটওয়্যার ঠিকমতো কাজ করছে কিনা, সেটা যাচাই করার দায়িত্ব একজন SQA ইঞ্জিনিয়ারের। অনেকেই ভাবে, এই কাজটা খুব সহজ—“সফটওয়্যার চালাও, কাজ করে কিনা দেখো”—ব্যস, হয়ে গেল! কিন্তু আসলে ব্যাপারটা মোটেই এত সহজ না।
ধরুন, আপনি একটা মোবাইল অ্যাপ ডাউনলোড করলেন। আপনার কাজ হলো, সেই অ্যাপের প্রতিটা ফিচার টেস্ট করা। আপনি লোগ-ইন করেন, দেখেন কি ঠিকভাবে প্রবেশ করা যাচ্ছে। ছবি আপলোড করলে সেটা ঠিকভাবে যাচ্ছে কিনা, ফিড স্ক্রল করলে সেটা ঠিকভাবে কাজ করছে কিনা।
ছোট প্রতিষ্ঠানে SQA ইঞ্জিনিয়ার
ছোট প্রতিষ্ঠানে একজন SQA ইঞ্জিনিয়ারকে অনেক দায়িত্ব পালন করতে হয়। এখানে আপনি শুধু টেস্ট করেন না, মাঝে মাঝে ডেভেলপারদের সাথে মিলেমিশে কাজও করতে হয়। একসাথে কাজ করতে করতে অনেক সময় নিজেই কোড ঘেঁটে দেখে ফেলতে হয়, কোথায় কী সমস্যা। ধরুন, একদিন ডেভেলপার আপনাকে বললো, “এই ফিচারটা তো ঠিক কাজ করছে।” আপনি একটু ঘেঁটে দেখলেন, আর মুচকি হেসে বললেন, “হুম, ঠিকই কাজ করছে, তবে একটা ছোট্ট ত্রুটি আছে!”
ছোট প্রতিষ্ঠানে আপনাকে অনেক কিছুই করতে হয়—ম্যানুয়াল টেস্টিং, অটোমেশন টেস্টিং, বাগ খুঁজে বের করা—সবকিছু। এক কথায়, অনেক কিছু শেখার সুযোগ থাকে। যেকোনো সময় নতুন নতুন চ্যালেঞ্জ আসতে পারে। একটা সাইটে লিংক ক্লিক করলেন, কিছুই হলো না। আপনি তখন ডেভেলপারকে বললেন, “আচ্ছা, এই লিংক তো ঠিক মতো কাজ করছে না। একটু দেখো তো।”
বড় প্রতিষ্ঠানে SQA ইঞ্জিনিয়ার
এবার ধরুন, আপনি বড় একটা প্রতিষ্ঠানে কাজ করছেন। এখানে কাজটা একটু স্পেসিফিক। আপনার কাজ শুধু একটা নির্দিষ্ট দায়িত্ব পালন করা, হয়তো শুধু লগইন ফিচারটা টেস্ট করা। এখানে আলাদা টিম থাকে অটোমেশন টেস্টিং করার জন্য, আবার আলাদা টিম থাকে ম্যানুয়াল টেস্টিংয়ের জন্য। ধরুন, আপনার কাজ হচ্ছে প্রতিবার সিস্টেমে লগইন হলে সেটা ঠিকমতো কাজ করছে কিনা, সেটা দেখা। খুব বিশেষ কিছু হয়তো করতে হয় না, কিন্তু আপনার এক্সপার্টাইজ এখানে অনেক গুরুত্ব রাখে। বড় কোম্পানির বড় প্রজেক্টের জন্যে এক্সপার্ট লেভেলের টেস্টিং খুব দরকার।
SQA ইঞ্জিনিয়ারের কাজগুলো কী কী?
- ম্যানুয়াল টেস্টিং: এটি খুবই সহজভাবে বললে—নিজে হাতে সফটওয়্যার চালিয়ে দেখা। সফটওয়্যারের সব ফিচার ম্যানুয়ালি ব্যবহার করে দেখতে হয় যে, সবকিছু ঠিকভাবে কাজ করছে কিনা। ধরুন, আপনি একটি ই-কমার্স সাইট টেস্ট করছেন। পণ্য কার্টে ঠিকভাবে যোগ হচ্ছে কিনা, পেমেন্ট সিস্টেম ঠিকঠাক কাজ করছে কিনা—সব দেখতে হবে।
- অটোমেশন টেস্টিং: বড় বড় প্রজেক্টে সবকিছু ম্যানুয়ালি টেস্ট করা সম্ভব নয়। তখন আমরা টুলস আর স্ক্রিপ্ট দিয়ে কাজ করিয়ে নেই। ধরুন, আপনাকে একটা অটোমেশন স্ক্রিপ্ট লিখতে হবে, যা প্রতিবার চালালে পুরো সাইটের ফিচারগুলো ঠিকমতো কাজ করছে কিনা, তা অটোমেটিকালি বলে দিবে।
- বাগ রিপোর্টিং: বাগ রিপোর্টিং মানে শুধুই সমস্যা পাওয়া নয়, সেটা রিপোর্ট করতে হবে ডেভেলপারদের কাছে, এবং সমস্যা কোথায়, কীভাবে সেটা সমাধান করা যায়, সেই তথ্যও দিতে হবে।
- প্রোডাকশন টেস্টিং: সফটওয়্যার মার্কেটে যাবার আগে প্রোডাকশন টেস্টিং করা হয়। এটা একদম শেষ ধাপের পরীক্ষা। এই ধাপে এসেও যদি কোন সমস্যা ধরা পড়ে, তাহলে দ্রুত সমাধান করতে হয়।
কেন SQA ইঞ্জিনিয়ার হওয়া মজার?
SQA ইঞ্জিনিয়াররা নানা ধরনের সফটওয়্যার পরীক্ষা করে, আর তাদের দায়িত্ব বাগ খুঁজে বের করা। আপনি প্রথম ব্যক্তি হবেন যিনি বাগগুলো ধরবেন এবং ডেভেলপারদের জানাবেন। একে অনেক সময় “bug detective” বলা হয়! ডেভেলপাররা যখন বলে, “আমাদের কোডে কোনো সমস্যা নেই”, তখন আপনি নিশ্চিন্ত মনে সেই বাগ খুঁজে বের করে ডেভেলপারদের দেখিয়ে দিতে পারেন—“দেখো, এখানে একটা ছোট্ট ভুল হয়েছে।”
একজন SQA ইঞ্জিনিয়ার অনেকটা গোপন গোয়েন্দার মতো। তার কাজ হলো সফটওয়্যারের ভিতরে ঢুকে, সবকিছু যাচাই করা। ছোট বা বড়, সব প্রতিষ্ঠানেই SQA ইঞ্জিনিয়ারদের প্রয়োজনীয়তা অনেক।