QA ও রিলিজ অ্যাসুরেন্স

অটোমেটেড টেস্টিং

এমন অটোমেটেড টেস্ট, যা রিগ্রেশন আপনার ব্যবহারকারীদের কাছে পৌঁছানোর আগেই ধরে ফেলে। আমরা আপনার CI পাইপলাইনে চলা ইউনিট, API ও এন্ড-টু-এন্ড টেস্ট স্যুট তৈরি করি, এবং প্রোডাক্ট বদলানোর সাথে সাথে সেগুলো নির্ভরযোগ্য রাখি।

যে টিমগুলো আমাদের কাছে টেস্ট অটোমেশন চায়

প্রতিটি রিলিজে একই চেকগুলো প্রয়োজন, কিন্তু সেগুলো হাতে চালাতে সময় লাগে, আর ডেডলাইনের চাপে বাদ পড়ে যায়। অন্যদিকে, যে স্যুট এলোমেলোভাবে ফেল করে, তা টিমকে ব্যর্থ বিল্ডের লাল সংকেত উপেক্ষা করতে শেখায়।

  • যে টিমগুলো ঘন ঘন রিলিজ করে, কিন্তু এখনো রিগ্রেশন চেক হাতে ক্লিক করে করে চালায়
  • ইঞ্জিনিয়ারিং লিড, যাঁদের CI স্যুট ধীর, অস্থির, অথবা সবুজ না হওয়া পর্যন্ত বারবার চালানো হয়
  • AI কোডিং এজেন্ট ব্যবহার করে এমন টিম, যাদের পুল রিকোয়েস্টের গতির সাথে ম্যানুয়াল টেস্টিং তাল মেলাতে পারে না

কোন স্যুট কখন চলে

একটি ওয়েব প্রোডাক্টের সাধারণ সময়সূচি; কোনটি কখন চলবে, তা নির্ভর করে আপনার পাইপলাইনকে কতটা দ্রুত রাখতে হবে, তার ওপর।

প্রতিটি পুল রিকোয়েস্টেপ্রতি রাতেরিলিজের আগেডিপ্লয়ের পরে
ইউনিট টেস্টচলে এবং গেট হিসেবে কাজ করেএই পর্যায়ে চলে নাচলে এবং গেট হিসেবে কাজ করেএই পর্যায়ে চলে না
API ও কন্ট্রাক্ট টেস্টচলে এবং গেট হিসেবে কাজ করেচলে এবং গেট হিসেবে কাজ করেচলে এবং গেট হিসেবে কাজ করেএই পর্যায়ে চলে না
এন্ড-টু-এন্ড স্মোকচলে এবং গেট হিসেবে কাজ করেচলে এবং গেট হিসেবে কাজ করেচলে এবং গেট হিসেবে কাজ করেচলে এবং গেট হিসেবে কাজ করে
পূর্ণ এন্ড-টু-এন্ড রিগ্রেশনআংশিক, বা শুধু রিপোর্ট করেচলে এবং গেট হিসেবে কাজ করেচলে এবং গেট হিসেবে কাজ করেএই পর্যায়ে চলে না
ভিজ্যুয়াল তুলনাআংশিক, বা শুধু রিপোর্ট করেএই পর্যায়ে চলে নাচলে এবং গেট হিসেবে কাজ করেএই পর্যায়ে চলে না
থার্ড-পার্টি স্যান্ডবক্স চেকএই পর্যায়ে চলে নাচলে এবং গেট হিসেবে কাজ করেআংশিক, বা শুধু রিপোর্ট করেএই পর্যায়ে চলে না
  • চলে এবং গেট হিসেবে কাজ করে
  • আংশিক, বা শুধু রিপোর্ট করে
  • এই পর্যায়ে চলে না

যে অটোমেশন রিগ্রেশন ধরে, অহেতুক শোরগোল তোলে না

একটি টেস্ট স্যুট তখনই কাজে আসে, যখন আপনার টিম তার ওপর আস্থা রাখে। ধীর, অস্থির বা অগভীর টেস্ট উপেক্ষিত হয়, আর রিগ্রেশন ফাঁক গলে বেরিয়ে যায়। যেসব টিম ঘন ঘন রিলিজ করে বা এখনো ম্যানুয়াল চেকের ওপর নির্ভর করে, তাদের জন্য আমরা আপনার রিকোয়ারমেন্ট ও সবচেয়ে ঝুঁকিপূর্ণ ফ্লোগুলোকে কেন্দ্র করে অটোমেশন ডিজাইন করি, তারপর আপনার CI পাইপলাইনে চলা ইউনিট, API ও এন্ড-টু-এন্ড টেস্ট তৈরি করি। কোড যখন AI টুল দিয়ে লেখা হয়, তখন এটি আরও গুরুত্বপূর্ণ: পরিবর্তন আসে আরও দ্রুত, আর জেনারেট করা টেস্ট কোডের যা করা উচিত তা নয়, কোড যা করে, কেবল সেটিই নিশ্চিত করতে পারে।

AI-সহায়তায় টেস্ট লেখা, ইঞ্জিনিয়ারদের রিভিউসহ

AI যেভাবে সহায়তা করে

  • রিকোয়ারমেন্ট, API স্পেসিফিকেশন ও বিদ্যমান কোড থেকে ইউনিট, API ও এন্ড-টু-এন্ড টেস্টের খসড়া তৈরি করে, ইঞ্জিনিয়ারদের রিভিউয়ের জন্য।
  • কভারেজ রিপোর্টকে আপনার গুরুত্বপূর্ণ ফ্লো ও সাম্প্রতিক পরিবর্তনের সাথে মিলিয়ে দেখায় কোথায় টেস্ট নেই।
  • রানের ইতিহাস, লগ ও ট্রেস ব্যবহার করে অস্থির ও ব্যর্থ টেস্ট অনুসন্ধান করে এবং সম্ভাব্য কারণের পরামর্শ দেয়।
  • ইন্টারফেস বা API বদলালে সিলেক্টর, ফিক্সচার ও টেস্ট ডেটা আপডেট করে, রিভিউ করা পুল রিকোয়েস্ট হিসেবে।

আমাদের বিশেষজ্ঞদের দায়িত্ব

  • কোনটি দ্রুত ইউনিট টেস্টে থাকবে আর কোনটির জন্য ইন্টিগ্রেশন বা এন্ড-টু-এন্ড কভারেজ দরকার, তা ঠিক করেন ইঞ্জিনিয়াররা।
  • জেনারেট করা প্রতিটি টেস্টে অর্থবহ অ্যাসারশন আছে কি না, তা যাচাই করা হয়; যেসব টেস্ট কেবল কোডেরই প্রতিফলন, সেগুলো নতুন করে লেখা হয়।
  • কোন চেক মার্জ বা রিলিজ আটকাবে আর কোনটি কেবল রিপোর্ট করবে, তা ঠিক করেন QA ইঞ্জিনিয়াররা।
  • অস্থির টেস্ট সচেতনভাবে ঠিক করা হয় বা আলাদা করে রাখা হয়; ঘটনাক্রমে পাস না করা পর্যন্ত বারবার চালানো হয় না।

আপনি কী পাবেন

আপনার পাইপলাইনে চলা একটি টেস্ট স্যুট

  • অটোমেশন স্ট্র্যাটেজি

    কী অটোমেট করা হবে, কোন লেভেলে এবং কোন টুল দিয়ে, যেমন Jest, Vitest, pytest, Playwright বা Cypress, আপনার স্ট্যাক ও টিমের সাথে মানানসই করে বেছে নেওয়া।

  • ইউনিট ও ইন্টিগ্রেশন টেস্ট

    ব্যবসায়িক নিয়ম, ডেটা অ্যাক্সেস ও সার্ভিসের সীমানার জন্য দ্রুত চেক, এমন টেস্ট ডেটা ও মকসহ, যা আপনার ডেভেলপাররা রক্ষণাবেক্ষণ করতে পারেন।

  • API ও কন্ট্রাক্ট টেস্ট

    আপনার API স্পেসিফিকেশনের সাপেক্ষে রিকোয়েস্ট, রেসপন্স, এরর ও অনুমতি যাচাই, তৃতীয় পক্ষের সার্ভিসের সাথে আপনার কন্ট্রাক্টসহ।

  • এন্ড-টু-এন্ড জার্নি টেস্ট

    সাইন-আপ, চেকআউট, রোল ও অন্যান্য গুরুত্বপূর্ণ ফ্লোর জন্য ব্রাউজার টেস্ট, স্ক্রিনশট, ট্রেস এবং যেখানে লেআউট গুরুত্বপূর্ণ, সেখানে ভিজ্যুয়াল তুলনাসহ।

  • CI পাইপলাইন ইন্টিগ্রেশন

    GitHub Actions, GitLab CI বা আপনার বর্তমান পাইপলাইনে পুল রিকোয়েস্টে ও রিলিজের আগে টেস্ট স্যুট চলে, পাস ও ফেলের স্পষ্ট শর্তসহ।

  • টেস্টের অবস্থা নিয়ে রিপোর্টিং

    গুরুত্বপূর্ণ ফ্লোর কভারেজ, অস্থির টেস্টের ট্র্যাকিং ও ব্যর্থতার প্রবণতা, যাতে আপনি দেখতে পান স্যুটটি আপনার টিমের আস্থার যোগ্য কি না।

আমরা যেভাবে আপনার টেস্ট স্যুট তৈরি করি

  1. 01

    বর্তমান টেস্টিংয়ের অডিট

    বিদ্যমান টেস্ট, CI সেটআপ, কভারেজ ও ব্যর্থতার ইতিহাস রিভিউ করা, এবং কোন ফ্লোতে রিগ্রেশন সবচেয়ে বেশি ক্ষতি করবে, তা চিহ্নিত করা।

  2. 02

    পদ্ধতি চূড়ান্ত করা

    টেস্টের লেভেল, টুল ও গেট বেছে নেওয়া, কনভেনশন ঠিক করা, এবং এমন টেস্ট ডেটা ও এনভায়রনমেন্ট সেটআপ করা, যা আপনার টিম আবার ব্যবহার করতে পারে।

  3. 03

    গুরুত্বপূর্ণ কভারেজ তৈরি

    AI টেস্টের খসড়া তৈরি করে, আর ইঞ্জিনিয়াররা সেগুলো রিভিউ করে আরও নিখুঁত করেন। প্রথমে গুরুত্বপূর্ণ পাথ, তারপর ঝুঁকি অনুযায়ী কভারেজ বাড়ে।

  4. 04

    চালানো, রিপোর্ট, রক্ষণাবেক্ষণ

    রিপোর্টিংসহ CI-তে টেস্ট স্যুট চলে। আমরা ডকুমেন্টেশনসহ সেগুলো হ্যান্ডওভার করি, অথবা চলমান QA-এর মধ্যে হালনাগাদ রাখি।

AI টুল নিয়ে কাজের দুটি উপায়

AI টেস্টের খসড়া তৈরি ও ত্রুটি অনুসন্ধানে সাহায্য করে। এটি আপনার কোড ও টেস্ট ডেটা কোথায় প্রসেস করতে পারবে, তা বেছে নিন।

নিশ্চিত নন? স্কোপিংয়ের সময় আমরা একটি সুপারিশ করব। AI ব্যবহারের বিকল্প তুলনা করুন

সাধারণত যে ধরনের অটোমেশন অনুরোধ আসে

যে ধরনের পরিস্থিতি আমরা সাধারণত স্কোপ করি; এগুলো ক্লায়েন্টের কেস স্টাডি নয়।

  • যে অস্থির স্যুটে কারও আস্থা নেই

    একটি টিমের ব্রাউজার টেস্ট এক রানে পাস করে, পরের রানেই ফেল করে। আমরা শেয়ার করা টেস্ট ডেটা ও টাইমিংয়ের সমস্যাগুলোকে প্রকৃত ত্রুটি থেকে আলাদা করি, টেস্টগুলো মূল উৎসেই ঠিক করি, এবং কোন কোন চেক একটি মার্জ আটকে দিতে পারবে, তা টিমের সাথে মিলে ঠিক করি।

  • প্রতিটি রিলিজের আগে ম্যানুয়াল রিগ্রেশনে কেটে যাওয়া দিন

    একটি প্রোডাক্ট টিমের রিলিজের দিনগুলো কাটে একই ফ্লো-গুলোতে ক্লিক করে করে। আমরা গুরুত্বপূর্ণ পথগুলো অটোমেট করি সবচেয়ে নিচের নির্ভরযোগ্য স্তরে — প্রথমে ইউনিট বা API, আর ব্রাউজার কেবল যেখানে জার্নির জন্য তা প্রয়োজন — এবং সেগুলো রিলিজ গেট হিসেবে চালাই।

  • এজেন্টের লেখা পুল রিকোয়েস্টের জন্য গেট

    একটি টিম একটি AI কোডিং এজেন্টকে পুল রিকোয়েস্ট খুলতে দেয়। আমরা বাধ্যতামূলক চেক যোগ করি, যাতে এজেন্টের পরিবর্তনগুলোকেও মানুষের পরিবর্তনের মতোই একই ইউনিট, কন্ট্রাক্ট ও স্মোক টেস্ট পার হতে হয়, আর প্রতিটি মার্জ তখনও একজন মানুষই অনুমোদন করেন।

অটোমেশনের কাজে যা অন্তর্ভুক্ত নয়

  • এক্সপ্লোরেটরি টেস্টিং ও রিলিজ-ঝুঁকি নিয়ে সুপারিশ আসে সফটওয়্যার QA ও টেস্টিংয়ের সাথে; এই সার্ভিস অটোমেটেড চেক তৈরি ও রক্ষণাবেক্ষণ করে।
  • CI প্ল্যাটফর্মটি নিজে সেটআপ বা মাইগ্রেট করা DevOps ও CI/CD-এর কাজ; আমরা আপনার বর্তমানে চালু পাইপলাইনেই স্যুটগুলো যুক্ত করি।
  • লোড ও এনডিউরেন্স রানের জন্য আলাদা টুলিং ও এনভায়রনমেন্ট প্রয়োজন — এর জন্য দেখুন পারফরম্যান্স টেস্টিং।
  • মূল্যায়ন ডেটাসেটের সাপেক্ষে LLM-এর উত্তর স্কোর করা একটি ভিন্ন বিশেষায়িত ক্ষেত্র — এর জন্য দেখুন AI মূল্যায়ন ও টেস্টিং।

ডিজাইন, QA ও পরিচালনার সাথে অটোমেশন যেভাবে মেলে

  • ডিজাইন: টেস্ট করার মতো স্টেট

    ডিজাইনের এম্পটি, লোডিং, এরর ও অনুমতি-প্রত্যাখ্যাত স্টেটগুলো স্পষ্ট টেস্ট কেসে পরিণত হয়, যাতে স্ক্রিন বদলালেও সেগুলো ঠিকমতো কাজ করে যায়।

  • QA: অটোমেশনের সাথে এক্সপ্লোরেশন

    পুনরাবৃত্তিযোগ্য চেকগুলো সামলায় অটোমেশন, ফলে QA বিশেষজ্ঞরা নতুন ফিচার এক্সপ্লোর করায় সময় দিতে পারেন। নিশ্চিত হওয়া প্রতিটি ত্রুটির জন্য থাকে নিজস্ব একটি রিগ্রেশন টেস্ট।

  • পরিচালনা: রিলিজের স্পষ্ট সংকেত

    রিলিজের আগে ডিপ্লয়মেন্ট পাইপলাইনে টেস্ট স্যুট চলে আর রিলিজের পরে চলে স্মোক টেস্ট, যা এগিয়ে যাওয়া বা রোলব্যাক করার জন্য DevOps-কে একটি স্পষ্ট সংকেত দেয়।

  • চলমান: হালনাগাদ টেস্ট স্যুট

    ফিচার বদলালে আমরা টেস্ট আপডেট করি, অপ্রচলিত টেস্ট বাদ দিই এবং অস্থিরতা ট্র্যাক করি, আপনার সাথে সম্মত একটি চলমান QA প্ল্যানের অংশ হিসেবে।

প্রশ্নোত্তর

সাধারণ প্রশ্নাবলী

আমাদের কোন টেস্টিং ফ্রেমওয়ার্ক ব্যবহার করা উচিত?

সাধারণত যেটি আপনার স্ট্যাক ও টিমের সাথে মানানসই: JavaScript ও TypeScript-এর জন্য Jest বা Vitest, Python-এর জন্য pytest, ব্রাউজার টেস্টের জন্য Playwright বা Cypress। যে টুল আপনার জন্য ইতিমধ্যে কাজ করছে, তা আমরা রেখে দিই, এবং স্পষ্ট কারণ থাকলেই কেবল বদলাই।

আমাদের কতটা টেস্ট কভারেজ দরকার?

শুধু কভারেজের একটি সংখ্যা দুর্বল লক্ষ্য। আমরা শুরু করি গুরুত্বপূর্ণ ফ্লো, ব্যবসায়িক নিয়ম ও আগের ত্রুটিগুলো দিয়ে, এবং শুধু কোডের লাইন নয়, সেগুলো কতটা ভালোভাবে কভার হয়েছে, তা রিপোর্ট করি। দুর্বল অ্যাসারশনসহ উচ্চ স্কোর খুব সামান্যই সুরক্ষা দেয়।

লিগ্যাসি বা AI-জেনারেটেড কোডে কি আপনারা টেস্ট যোগ করতে পারেন?

হ্যাঁ। আমরা শুরু করি ক্যারেক্টারাইজেশন টেস্ট দিয়ে, যা বর্তমান আচরণ রেকর্ড করে; তারপর সেই আচরণ আপনার রিকোয়ারমেন্টের সাথে তুলনা করি এবং পার্থক্যগুলোকে ত্রুটি বা অমীমাংসিত প্রশ্ন হিসেবে চিহ্নিত করি। এরপর টেস্ট থাকা অবস্থায় রিফ্যাক্টরিং হয়। কোড মানুষের লেখা হোক বা AI টুল দিয়ে জেনারেট করা, পদ্ধতি একই।

টেস্ট লেখার সময় AI টুল কি আমাদের সোর্স কোড দেখতে পায়?

কেবল আপনার বেছে নেওয়া সীমানার ভেতরে। প্রাইভেট / লোকাল AI ইঞ্জিনিয়ারিংয়ে মডেল চলে আপনার নিয়ন্ত্রণাধীন ইনফ্রাস্ট্রাকচারে বা আপনার সাথে মিলে ঠিক করা একটি আইসোলেটেড এনভায়রনমেন্টে। Claude Code / OpenAI Codex ইঞ্জিনিয়ারিংয়ে বাণিজ্যিক প্রোভাইডাররা কোড প্রসেস করে কাজ শুরুর আগেই সম্মত অ্যাকাউন্ট, ডেটা হ্যান্ডলিং ও রিটেনশনের শর্তের অধীনে।

এমন একটি টেস্ট স্যুট তৈরি করুন, যার ওপর আপনার টিম আস্থা রাখে

আপনার স্ট্যাক এবং বর্তমানে কীভাবে টেস্ট করেন, আমাদের জানান। কোথায় অটোমেশন প্রথমে সুফল দেবে এবং তা আপনার পাইপলাইনে কীভাবে মানাবে, তার পরামর্শ আমরা দেব।