নতুনদের জন্য হোয়াইট বক্স টেস্টিং টিউটোরিয়াল

30 অক্টোবর, 2021

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

সাদা বক্স পরীক্ষা

উদাহরণ স্বরূপ:

|_+_|
  • প্রথমে A এবং B এর মান নির্ধারণ করুন। ধরুন A=60 এবং B=50।
  • দ্বিতীয়ত, এখন C কে A+B, A=60, B=50 এর মান নির্ধারণ করা হয়েছে তাই C=110।
  • তৃতীয়ত, C>100 কিনা তা পরীক্ষা করবে এবং এই ক্ষেত্রে এটি সত্য তাই আমরা ফলাফল পাব যে এটি হয়ে গেছে।

সুচিপত্র



হোয়াইট বক্স টেস্টিং শুরু করার পদক্ষেপ

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

হোয়াইট বক্স টেস্টিং কৌশল

হোয়াইট বক্স পরীক্ষার কৌশলগুলি নিম্নরূপ:

    বিবৃতি কভারেজ সিদ্ধান্ত কভারেজ শাখা কভারেজ কন্ডিশন কভারেজ একাধিক শর্ত কভারেজ সসীম রাষ্ট্র মেশিন কভারেজ পাথ কভারেজ নিয়ন্ত্রণ প্রবাহ পরীক্ষা ডেটা প্রবাহ পরীক্ষা

এবার বিস্তারিত আলোচনা করা যাক।

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

হোয়াইট বক্স পরীক্ষার জন্য প্রযোজ্য স্তর

হোয়াইট বক্স পরীক্ষা নিম্নলিখিত স্তরের জন্য প্রযোজ্য:

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

হোয়াইট বক্স পরীক্ষার প্রকার

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

হোয়াইট বক্স পরীক্ষার জন্য সরঞ্জাম

  • NUnit : NUnit হল একটি টেস্টিং ফ্রেমওয়ার্ক যা সমস্ত .Net ভাষার জন্য উপলব্ধ। তৃতীয় সংস্করণটি অনেক নতুন বৈশিষ্ট্য সহ সম্পূর্ণরূপে পুনর্লিখন করা হয়েছে, বিস্তৃত পরিসরকে সমর্থন করে। NET প্ল্যাটফর্ম
    Gtest :GTest বা Google Test হল C++ প্রোগ্রামিং ভাষার জন্য একটি ইউনিট টেস্টিং লাইব্রেরি। এটি বিভিন্ন ধরণের POSIX এবং কম্পাইল করে উইন্ডোজ প্ল্যাটফর্ম , C++ এর পাশাপাশি C উৎসের ইউনিট পরীক্ষার অনুমতি দেয়।

হোয়াইট বক্স পরীক্ষার সুবিধা এবং অসুবিধা

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