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

কোড অডিট ও রিভিউ

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

টিমগুলো কখন অডিট চায়

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

  • এজেন্সি, ফ্রিল্যান্সার বা চলে যাচ্ছেন এমন কোনো ডেভেলপারের কাছ থেকে কোডের দায়িত্ব নিচ্ছে এমন টিম
  • কোনো চুক্তির আগে নিরপেক্ষ টেকনিক্যাল মূল্যায়ন প্রয়োজন এমন বিনিয়োগকারী বা ক্রেতা
  • মূলত AI টুলের লেখা একটি কোডবেসে প্রথম ইঞ্জিনিয়ারদের নিয়োগ দিচ্ছেন এমন ফাউন্ডার

রিভিউতে যা দেখা হয়

একটি ওয়েব কোডবেসের সাধারণ রিভিউ ক্ষেত্র; প্রতিটি কতটা গভীরে যাবে, তা নির্ভর করে আমাদের সম্মত স্কোপের ওপর।

  • আর্কিটেকচার ও কোডের স্বাস্থ্য

    • ব্যবসায়িক নিয়মগুলো কোথায় থাকে এবং মডিউলগুলো একে অপরের ওপর কীভাবে নির্ভরশীল
    • বিভিন্ন ফাইল ও সার্ভিসজুড়ে পুনরাবৃত্ত বা পরস্পরবিরোধী নিয়ম
    • গুরুত্বপূর্ণ কোনো নিয়ম ভাঙলে তার টেস্ট আদৌ ফেল করবে কি না
    • এরর পাথ: টাইমআউট, রিট্রাই এবং কোনো কল ব্যর্থ হলে কী ঘটে
  • সোর্স কোডে সিকিউরিটি

    • প্রতিটি রুট, হ্যান্ডলার ও ব্যাকগ্রাউন্ড জব অথরাইজেশন যাচাই করে কি না
    • অবিশ্বস্ত ইনপুট কোয়েরি, টেমপ্লেট, ফাইল পাথ ও শেল কল পর্যন্ত ট্রেস করা
    • কোড, কনফিগ ফাইল ও রিপোজিটরির হিস্ট্রিতে থাকা সিক্রেট
    • লগ, এরর মেসেজ ও অ্যানালিটিক্স ইভেন্টে ফাঁস হওয়া ব্যক্তিগত ডেটা
  • ডেলিভারি ও ডিপেনডেন্সি

    • যেসব প্যাকেজ কেউ ভেবেচিন্তে বেছে নেয়নি, AI টুলের যোগ করা প্যাকেজসহ
    • জানা দুর্বলতা, পরিত্যক্ত লাইব্রেরি ও লাইসেন্সের বাধ্যবাধকতা
    • বিল্ড, CI ও ডিপ্লয়মেন্ট স্ক্রিপ্ট, এবং একটি রিলিজ কীভাবে রোলব্যাক করা হয়
    • ডেটাবেস মাইগ্রেশন ও প্রতিটি এনভায়রনমেন্টের আলাদা কনফিগারেশন

জেনে নিন, আপনি কিসের ওপর তৈরি করছেন

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

AI-সহায়তায় বিশ্লেষণ, ইঞ্জিনিয়ারদের যাচাই করা ফাইন্ডিং

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

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

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

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

আপনি কী পাবেন

আপনার কোডের স্পষ্ট চিত্র এবং প্রথমে কী ঠিক করতে হবে

  • আর্কিটেকচার ও রক্ষণাবেক্ষণযোগ্যতা

    স্ট্রাকচার, কাপলিং, ডুপ্লিকেশন, গুরুত্বপূর্ণ লজিকের টেস্ট কভারেজ ও ডকুমেন্টেশনের ঘাটতি, আপনার রোডম্যাপের সাথে মানানসই পরামর্শসহ; গতানুগতিকভাবে সবকিছু নতুন করে লেখার পরামর্শ নয়।

  • সিকিউরিটি কোড রিভিউ

    ইনজেকশন, অথেনটিকেশন, অথরাইজেশন, সিক্রেট হ্যান্ডলিং ও ইনপুট ভ্যালিডেশন, OWASP নির্দেশিকার সাপেক্ষে রিভিউ করা। শুধু নিশ্চিত ফাইন্ডিংই রিপোর্ট করা হয়।

  • AI-জেনারেটেড কোড রিভিউ

    পুনরাবৃত্ত লজিক, অসামঞ্জস্যপূর্ণ ভ্যালিডেশন, অনুপস্থিত অ্যাক্সেস চেক, হ্যান্ডল না করা এরর, যাচাই না করা ডিপেনডেন্সি এবং প্রায় কিছুই যাচাই করে না এমন টেস্টের জন্য চেক।

  • পারফরম্যান্স ও নির্ভরযোগ্যতা

    বারবার ডেটাবেস কল, ব্লকিং অপারেশন, অনুপস্থিত টাইমআউট ও দুর্বল এরর হ্যান্ডলিং, যা লোডের মধ্যে ধীরগতি ও ব্যর্থতার কারণ হয়।

  • ডিপেনডেন্সি ও লাইসেন্স অডিট

    পুরোনো প্যাকেজ, জানা দুর্বলতা ও লাইসেন্সের বাধ্যবাধকতা, সাথে ব্রেকিং চেঞ্জ চিহ্নিত করা একটি আপডেট পরিকল্পনা।

  • অগ্রাধিকারভিত্তিক ফাইন্ডিং রিপোর্ট

    প্রতিটি ফাইন্ডিংয়ের প্রমাণ, তীব্রতা, ব্যবসায়িক প্রভাব এবং কোডের উদাহরণসহ সুপারিশকৃত ফিক্স, পাশাপাশি সিদ্ধান্ত গ্রহণকারীদের জন্য একটি সারসংক্ষেপ।

একটি কোড অডিট যেভাবে চলে

  1. 01

    স্কোপ ও প্রেক্ষাপট

    লক্ষ্য, ফোকাসের ক্ষেত্র ও অ্যাক্সেস ঠিক করা। আপনার টিমের সাথে সংক্ষিপ্ত আলোচনায় উঠে আসে ব্যবসায়িক অগ্রাধিকার, ইতিহাস ও জানা সমস্যাগুলো।

  2. 02

    অটোমেটেড বিশ্লেষণ

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

  3. 03

    বিশেষজ্ঞ রিভিউ

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

  4. 04

    ব্যাখ্যা ও পরিকল্পনা

    আমরা আপনার টিমকে ফাইন্ডিংগুলো ধাপে ধাপে বুঝিয়ে দিই, প্রশ্নের উত্তর দিই এবং একটি সমাধান পরিকল্পনা চূড়ান্ত করি; আপনি চাইলে ফিক্সেও আমরা সাহায্য করি।

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

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

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

সাধারণত যে ধরনের অডিট অনুরোধ আসে

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

  • রিফ্যাক্টর, নতুন করে তৈরি, নাকি আরও বাড়িয়ে চলা

    একজন CTO-কে একটি ভঙ্গুর কোডবেস আরও বাড়িয়ে চলা আর এর কিছু অংশ নতুন করে তৈরি করার মধ্যে একটি বেছে নিতে হবে। আমরা স্ট্রাকচার, মূল ব্যবসায়িক নিয়মগুলোর চারপাশের টেস্ট এবং ডিপেনডেন্সির অবস্থা রিভিউ করি, তারপর প্রতিটি বিকল্প তার ঝুঁকিসহ তুলে ধরি; সিদ্ধান্ত নেবেন তিনিই।

  • AI টুল দিয়ে নতুন করে লেখা বিলিং

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

  • বিনিয়োগের আগে টেকনিক্যাল ডিউ ডিলিজেন্স

    একজন বিনিয়োগকারী বিনিয়োগের সিদ্ধান্ত চূড়ান্ত করার আগে একটি স্টার্টআপের কোডবেস নিয়ে নিরপেক্ষ মূল্যায়ন চান। সম্মত স্কোপের মধ্যে আমরা আর্কিটেকচার, সিকিউরিটি ও ডিপেনডেন্সির ঝুঁকি মূল্যায়ন করি, এবং এমন একটি সারসংক্ষেপ লিখি, যার ভিত্তিতে নন-ইঞ্জিনিয়াররাও পদক্ষেপ নিতে পারেন, সাথে টেকনিক্যাল বিস্তারিত সংযুক্ত থাকে।

অডিটে যা অন্তর্ভুক্ত নয়

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

ডিজাইন, QA ও পরিচালনার সাথে অডিট যেভাবে যুক্ত

  • ডিজাইন: ফ্রন্টএন্ডের সামঞ্জস্য

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

  • QA: ফিক্সের জন্য রিগ্রেশন টেস্ট

    নিশ্চিত হওয়া প্রতিটি সমস্যার জন্য একটি রিগ্রেশন টেস্ট যোগ করা হয়, যাতে পরের কোনো পরিবর্তন, মানুষের হোক বা AI টুলের, নিঃশব্দে সমস্যাটি ফিরিয়ে না আনে।

  • পরিচালনা: কনফিগারেশন ও ডিপ্লয়মেন্ট

    কোডের সাথে সিক্রেট, কনফিগারেশন, লগিং ও ডিপ্লয়মেন্ট স্ক্রিপ্টও রিভিউ করা হয়, আর পরিচালনাগত ঝুঁকিগুলো জানানো হয় যিনি প্রোডাকশন চালান, তাঁকে।

  • চলমান: শিপ করার সাথে সাথে রিভিউ

    উচ্চ ঝুঁকিপূর্ণ বা AI-জেনারেটেড পুল রিকোয়েস্টের নিয়মিত রিভিউ নতুন কোডকে অডিটে নির্ধারিত মানদণ্ডে ধরে রাখে, আপনার সাথে সম্মত একটি পরিকল্পনার আওতায়।

প্রশ্নোত্তর

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

একটি কোড অডিটে কত সময় লাগে?

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

প্রোডাকশনে পৌঁছানোর আগে AI-জেনারেটেড কোড কি আপনারা রিভিউ করতে পারেন?

হ্যাঁ। আমরা অন্য যেকোনো কোডের মতোই এটি রিভিউ করি, পাশাপাশি জেনারেট করা কোড যেসব সমস্যা তৈরি করতে পারে, সেগুলোর জন্য নির্দিষ্ট চেক করি: পুনরাবৃত্ত লজিক, অসামঞ্জস্যপূর্ণ ভ্যালিডেশন, অনুপস্থিত অ্যাক্সেস চেক, বানানো বা যাচাই না করা ডিপেনডেন্সি, এবং এমন টেস্ট, যা রিকোয়ারমেন্ট নয়, কোডকেই নিশ্চিত করে। এটি হতে পারে এককালীন অডিট অথবা পুল রিকোয়েস্টের নিয়মিত রিভিউ।

ফিক্সগুলো বাস্তবায়নে কি আপনারা সাহায্য করতে পারেন?

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

আপনাদের কী ধরনের অ্যাক্সেস লাগবে, আর আমাদের কোড কোথায় প্রসেস করা হয়?

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

আপনার কোড সম্পর্কে একটি সৎ মূল্যায়ন নিন

কোডটি কী করে, কীভাবে তৈরি হয়েছে এবং আপনাকে কোন সিদ্ধান্ত নিতে হবে, আমাদের জানান। আমরা সেই অনুযায়ী একটি অডিট স্কোপের পরামর্শ দেব।