হোয়াইট বক্স টেস্টিং কি? কৌশল, উদাহরণ ও প্রকারভেদ

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

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

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

'হোয়াইটবক্স' শব্দটি ব্যবহার করা হয়েছিল বাক্সের মাধ্যমে দেখার ধারণার কারণে। পরিষ্কার বাক্স বা হোয়াইটবক্স নামটি সফ্টওয়্যারের বাইরের শেল (বা 'বাক্স') এর ভেতরের কাজকর্মের মধ্যে দেখার ক্ষমতাকে প্রতীক করে। একইভাবে, 'ব্ল্যাক বক্স' ব্ল্যাক বক্স টেস্টিং 'সফটওয়্যারের ভেতরের কাজকর্ম দেখতে না পারার প্রতীক যাতে শুধুমাত্র শেষ ব্যবহারকারীর অভিজ্ঞতা পরীক্ষা করা যায়।

এই সাদা বক্স পরীক্ষার টিউটোরিয়ালে, আপনি শিখবেন-

হোয়াইট বক্স টেস্টিং এ আপনি কি যাচাই করেন?

হোয়াইট বক্স পরীক্ষায় নিম্নলিখিতগুলির জন্য সফ্টওয়্যার কোড পরীক্ষা করা জড়িত:

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

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

ভিডিওটি অ্যাক্সেসযোগ্য না হলে এখানে ক্লিক করুন



আপনি কিভাবে হোয়াইট বক্স টেস্টিং করবেন?

আপনাকে সাদা বক্স পরীক্ষার সহজ সরল ব্যাখ্যা দিতে, আমরা এটিকে ভাগ করেছি দুটি মৌলিক পদক্ষেপ । হোয়াইট বক্স টেস্টিং টেকনিক ব্যবহার করে একটি অ্যাপ্লিকেশন পরীক্ষা করার সময় পরীক্ষকরা এই কাজটি করে:

ধাপ 1) সোর্স কোড বোঝা

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

ধাপ 2) টেস্ট কেস এবং এক্সিকিউট তৈরি করুন

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

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

নিম্নলিখিত কোডটি বিবেচনা করুন | _+_ |

সফটওয়্যার ইঞ্জিনিয়ারিংয়ে হোয়াইটবক্স পরীক্ষার লক্ষ্য হল কোডের সমস্ত সিদ্ধান্তের শাখা, লুপ, বিবৃতি যাচাই করা।

উপরের সাদা বাক্স পরীক্ষার উদাহরণে বিবৃতিগুলি অনুশীলন করার জন্য, হোয়াইটবক্স পরীক্ষার ক্ষেত্রে হবে

  • A = 1, B = 1
  • A = -1, B = -3

হোয়াইট বক্স টেস্টিং টেকনিক

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

কোড কভারেজ বিশ্লেষণ করার জন্য স্বয়ংক্রিয় সরঞ্জাম পাওয়া যায়। নীচে কয়েকটি কভারেজ বিশ্লেষণ কৌশল রয়েছে যা একটি বক্স পরীক্ষক ব্যবহার করতে পারে:

বিবৃতি কভারেজ :- এই পদ্ধতির জন্য কোডের প্রতিটি সম্ভাব্য বিবৃতি পরীক্ষা করার সময় অন্তত একবার পরীক্ষা করা প্রয়োজন সফ্টওয়্যার প্রকৌশল

শাখা কভারেজ - এই কৌশলটি একটি সফ্টওয়্যার অ্যাপ্লিকেশনের প্রতিটি সম্ভাব্য পথ (যদি-অন্য এবং অন্যান্য শর্তাধীন লুপ) পরীক্ষা করে।

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

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

আরও বিস্তারিত জানতে এই নিবন্ধটি পড়ুন https://on2vhf.be/code-coverage.html

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

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

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

  • মেমরি লিকের জন্য পরীক্ষা : মেমোরি লিকগুলি ধীরগতির চলমান অ্যাপ্লিকেশনের প্রধান কারণ। একজন QA বিশেষজ্ঞ যিনি মেমোরি লিক শনাক্ত করতে অভিজ্ঞ, সেসব ক্ষেত্রে অপরিহার্য যেখানে আপনার ধীরগতির সফটওয়্যার অ্যাপ্লিকেশন আছে।

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

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

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

নীচে শীর্ষ সাদা বাক্স পরীক্ষার সরঞ্জামগুলির একটি তালিকা।

হোয়াইট বক্স টেস্টিং এর সুবিধা

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

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

  • সাদা বাক্স পরীক্ষা বেশ জটিল এবং ব্যয়বহুল হতে পারে।
  • যেসব ডেভেলপাররা সাধারণত সাদা বক্স টেস্ট কেস চালায় তারা এটিকে ঘৃণা করে। ডেভেলপারদের দ্বারা সাদা বাক্স পরীক্ষা বিস্তারিত না হলে উৎপাদন ত্রুটি হতে পারে।
  • হোয়াইট বক্স পরীক্ষার জন্য পেশাদার সম্পদ প্রয়োজন, প্রোগ্রামিং এবং বাস্তবায়নের বিস্তারিত বোঝার সাথে।
  • হোয়াইট-বক্স টেস্টিং সময়সাপেক্ষ, বড় প্রোগ্রামিং অ্যাপ্লিকেশনগুলি সম্পূর্ণ পরীক্ষা করতে সময় নেয়।

শেষ নোট:

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