The Definitive List of 25 Types of Software Testing/সফ্টওয়্যার পরীক্ষার ২৫ প্রকারের নির্দিষ্ট তালিকা
Latest News and Blog on Website Design and Bangladesh.
The Definitive List of 25 Types of Software Testing/সফ্টওয়্যার পরীক্ষার ২৫ প্রকারের নির্দিষ্ট তালিকা
সারাংশ: সফ্টওয়্যার টেস্টিং সফ্টওয়্যার বিকাশ প্রক্রিয়ার একটি গুরুত্বপূর্ণ অংশ। আপনার প্রকল্পের প্রয়োজনীয়তা এবং শেষ লক্ষ্যের সাথে সারিবদ্ধ সফ্টওয়্যার পরীক্ষার ধরন নির্বাচন করা অপরিহার্য। ৫০টিরও বেশি সফ্টওয়্যার পরীক্ষার ধরন বিদ্যমান। এর মধ্যে, আমরা আপনার প্রকল্পের জন্য তাদের মধ্যে ২৫টি শর্টলিস্ট করেছি। সেগুলি সম্পর্কে জানুন এবং কীভাবে সঠিকগুলি চয়ন করবেন।
গুণ কখনও দুর্ঘটনা নয়; এটা সবসময় বুদ্ধিমান প্রচেষ্টার ফলাফল.
–জন রাস্কিন
সফ্টওয়্যার পরীক্ষা সফ্টওয়্যার উন্নয়ন প্রক্রিয়ার জন্য অত্যাবশ্যক. এটি আস্থা বাড়ায়, সমস্যা সমাধানের জন্য অপ্রয়োজনীয় সময় এবং প্রচেষ্টা সাশ্রয় করে এবং আপনাকে সফ্টওয়্যার বিকাশের মান উন্নত করতে সহায়তা করে। অতএব, সফ্টওয়্যার পরীক্ষার জন্য একটি সাবধানে স্থাপিত পদ্ধতি অনুসরণ করা অপরিহার্য।
যাইহোক, সফ্টওয়্যার টেস্টিংকে শুধুমাত্র সফ্টওয়্যার ডেভেলপমেন্ট প্রক্রিয়ার একটি অবিচ্ছেদ্য অংশ করে তোলাই উচ্চ-মানের সফ্টওয়্যার সরবরাহ করার জন্য যথেষ্ট নয়। আপনাকে অবশ্যই সঠিক ধরণের সফ্টওয়্যার টেস্টিং বেছে নিতে হবে যা কাজটি সম্পন্ন করে।
সফ্টওয়্যার টেস্টিং কি, কেন আপনাকে সঠিক পরীক্ষার ধরন বেছে নিতে হবে এবং শিল্পে কি কি বিভিন্ন ধরনের টেস্টিং পাওয়া যায়? খুঁজে বের করতে পড়ুন।
সফটওয়্যার ডেভেলপমেন্ট টেস্টিং কি?
আইবিএম সফ্টওয়্যার পরীক্ষাকে মূল্যায়ন এবং যাচাই করা হিসাবে সংজ্ঞায়িত করে যে সফ্টওয়্যারটি কীভাবে কাজ করে তা অনুমিত হয়। সফ্টওয়্যারটি নিরাপত্তা, কার্যকারিতা এবং ব্যবহারযোগ্যতার জন্য পরীক্ষা করা হয়। ধারণাটি হ’ল ব্যয়বহুল ডাউনটাইম রোধ করতে, কর্মক্ষমতা উন্নত করতে এবং বাজারে উচ্চ-মানের সফ্টওয়্যার প্রকাশ করতে পণ্যটি প্রকাশ করার আগে বাগগুলি সনাক্ত করা এবং ঠিক করা।
কেন সঠিক সফ্টওয়্যার পরীক্ষার ধরন নির্বাচন করা আপনার ব্যবসার জন্য গুরুত্বপূর্ণ?
অ্যাপগুলি ব্যবহার করার সময় ব্যবহারকারীদের উচ্চ প্রত্যাশা থাকে এবং একটি অ্যাপের কার্যকারিতা, নির্ভরযোগ্যতা, ব্যবহারের সহজতা এবং নিরাপত্তার বিষয়ে কোনো আপস চান না। এই কারণেই সফ্টওয়্যার পরীক্ষা অপরিহার্য এবং সফ্টওয়্যার বিকাশ প্রক্রিয়ার পাশাপাশি যাওয়া উচিত।
একটি সফ্টওয়্যার পরীক্ষার ধরন বেছে নেওয়া যা আপনার প্রকল্পের লক্ষ্য এবং প্রয়োজনীয়তার সাথে আরও ভালভাবে সারিবদ্ধ হয়। সঠিক সফ্টওয়্যার পরীক্ষার ধরন কীভাবে আপনার ব্যবসাকে উপকৃত করতে পারে তা এখানে:
- সফ্টওয়্যার টেস্টিং একটি সময় এবং সম্পদ গ্রহণকারী প্রক্রিয়া। এখন, আপনি যদি একটি সফ্টওয়্যার পরীক্ষার ধরন চয়ন করেন যা আপনার প্রকল্পে প্রয়োজন নেই বা একটি গুরুত্বপূর্ণ এড়িয়ে যান – আপনি সময় এবং সংস্থান নষ্ট করতে পারেন।
- সঠিক সফ্টওয়্যার পরীক্ষার পদ্ধতি আপনাকে আপনার অ্যাপের প্রয়োজনীয় দিকগুলিতে (দুর্বলতা, SEO, বিশ্বাস, নিরাপত্তা) ফোকাস করতে এবং গ্রাহকদের কাছে একটি উচ্চ-মানের পণ্য সরবরাহ করতে সহায়তা করতে পারে।
সফটওয়্যার টেস্টিং এর প্রকারভেদ
সফ্টওয়্যার পরীক্ষার প্রকারগুলি যেমন চটপটে পরীক্ষা, নন-ফাংশনাল টেস্টিং, অটোমেশন টেস্টিং এবং কার্যকরী পরীক্ষা এবং তাদের উপপ্রকারগুলি শিল্পে সাধারণ। প্রতিটি ধরণের পরীক্ষার তার সুবিধা, বৈশিষ্ট্য এবং অসুবিধা রয়েছে। আসুন এমন কিছু সফ্টওয়্যার পরীক্ষার ধরন সম্পর্কে পড়ি।
ক. কার্যকরী পরীক্ষা
কার্যকরী পরীক্ষায়, আমরা একটি সফ্টওয়্যারকে এর প্রযোজ্য প্রয়োজনীয়তা/নির্দিষ্টতার সাথে যাচাই করি। ধারণাটি নির্দিষ্ট প্রয়োজনীয়তা অনুযায়ী কাজ করে তা নিশ্চিত করা। এই পদ্ধতিতে, আমরা প্রতিটি সফ্টওয়্যার ফাংশনকে সাধারণ ইনপুট প্রদান করে, এটি যে আউটপুটগুলি প্রক্রিয়া করে তা ক্যাপচার করে এবং প্রকৃত ফলাফলের সাথে তুলনা করে পরীক্ষা করি।
কার্যকরী পরীক্ষার কয়েকটি উদাহরণ হল:
- একজন ব্যবহারকারী সফলভাবে বৈধ শংসাপত্রের সাথে লগ ইন করতে পারেন?
- পেমেন্ট গেটওয়ে কি পেমেন্ট প্রত্যাখ্যান করে এবং ব্যবহারকারী ভুল শংসাপত্র ইনপুট করলে একটি ত্রুটি বার্তা প্রদর্শন করে?
- একজন ব্যবহারকারী যখন “কার্টে যুক্ত বোতাম” (একটি শপিং অ্যাপে) ক্লিক করেন তখন কি কার্টে একটি নতুন আইটেম যোগ করতে পারেন?
বিভিন্ন ধরনের কার্যকরী পরীক্ষা বিদ্যমান। এখানে কয়েকটি জনপ্রিয় রয়েছে:
১. অংশ পরিক্ষাকরণ
ইউনিট টেস্টিং হল সফ্টওয়্যার পরীক্ষার কৌশল যা সফ্টওয়্যারটির নির্ভুলতা নিশ্চিত করতে একটি পৃথক ইউনিট বা উপাদান পরীক্ষা করে। বিকাশকারীরা সাধারণত সফ্টওয়্যার বিকাশের পর্যায়ে এটি সম্পাদন করে এবং এই পরীক্ষাগুলি চালানোর জন্য তারা NUnit, Xunit এবং JUnit এর মতো পরীক্ষা অটোমেশন সরঞ্জামগুলি ব্যবহার করে।
উদাহরণস্বরূপ, যদি একটি সাধারণ মেসেজিং অ্যাপ্লিকেশন থাকে। বিকাশকারী অতিরিক্ত বৈশিষ্ট্যগুলিতে কাজ করার আগে ব্যবহারকারী বার্তা পাঠাতে বা গ্রহণ করতে পারে কিনা তা পরীক্ষা করার জন্য ইউনিট পরীক্ষা লিখবে। ইউনিট পরীক্ষা অপরিহার্য কারণ বিকাশের পর্যায়ে বাগগুলি খুঁজে বের করা এবং সংশোধন করা পরবর্তীতে ঠিক করার চেয়ে বেশি অ্যাক্সেসযোগ্য।
নিম্নলিখিত ধরনের ইউনিট পরীক্ষার বিদ্যমান:
- হোয়াইট-বক্স টেস্টিং: একটি পরীক্ষার কৌশল যেখানে একটি অ্যাপ্লিকেশনের অভ্যন্তরীণ কাঠামো বা কোডটি পরীক্ষা করা ব্যক্তির কাছে দৃশ্যমান এবং অ্যাক্সেসযোগ্য।
- গরিলা টেস্টিং: গরিলা টেস্টিং-এ, আমরা সমস্ত প্রয়োজনীয় দিকগুলির জন্য অ্যাপ্লিকেশন মডিউলটি পুঙ্খানুপুঙ্খভাবে পরীক্ষা করি। এই কৌশলটি দিয়ে, আমরা অ্যাপ্লিকেশনটির দৃঢ়তা পরীক্ষা করি।
২. ইন্টিগ্রেশন টেস্টিং
ইন্টিগ্রেশন টেস্টিং হল একটি সফ্টওয়্যার টেস্টিং টাইপ যেখানে আমরা যৌক্তিকভাবে দুটি বা ততোধিক অ্যাপ্লিকেশন মডিউলকে গোষ্ঠীবদ্ধ করি এবং তাদের সামগ্রিকভাবে পরীক্ষা করি। ধারণাটি বিভিন্ন মডিউলগুলির মধ্যে যোগাযোগ, ইন্টারফেস এবং ডেটা প্রবাহের ত্রুটি আবিষ্কার করা।
উদাহরণস্বরূপ, পণ্য অনুসন্ধান এবং অর্থপ্রদান প্রক্রিয়াকরণ একটি অনলাইন শপিং অ্যাপে দুটি ভিন্ন মডিউল। সম্ভাবনা তারা পৃথকভাবে ভাল কাজ করতে পারে কিন্তু ডেটা প্রবাহে কিছু সমস্যা আছে। ইন্টিগ্রেশন টেস্টিং আপনাকে এই ধরনের পরিস্থিতি সনাক্ত করতে এবং ঠিক করতে সাহায্য করতে পারে।
এখানে বিভিন্ন ধরনের ইন্টিগ্রেশন টেস্টিং রয়েছে:
- গ্রে-বক্স টেস্টিং: গ্রে-বক্স টেস্টিং হল ব্ল্যাক বক্স এবং হোয়াইট বক্স টেস্টিংয়ের একটি ভাণ্ডার। এটির লক্ষ্য হল স্পেসিফিকেশনের বিরুদ্ধে সফ্টওয়্যারের একটি অংশ পরীক্ষা করা।
- বিগ-ব্যাং ইন্টিগ্রেশন টেস্টিং: এই সফ্টওয়্যার পরীক্ষার পদ্ধতি একই সাথে সমস্ত মডিউলে ঘটে, অর্থাৎ, এই মডিউলগুলি তৈরি, জোড়া এবং পরীক্ষা করা হয়। এটি সময় এবং প্রচেষ্টা সংরক্ষণ করে।
- টপ-ডাউন ইন্টিগ্রেশন টেস্টিং: টপ-ডাউন ইন্টিগ্রেশন টেস্টিং-এ, আমরা প্রথমে সফ্টওয়্যারের প্রয়োজনীয় দিকগুলি পরীক্ষা করি এবং তারপর ছোট অংশগুলির দিকে এগিয়ে যাই।
- বটম-আপ ইন্টিগ্রেশন টেস্টিং: বটম-আপ ইন্টিগ্রেশন টেস্টিং পদ্ধতি প্রথমে সফ্টওয়্যারের ছোট অংশগুলিতে ফোকাস করে এবং পুরো সফ্টওয়্যার সিস্টেমকে কভার না করা পর্যন্ত চলতে থাকে।
- হাইব্রিড ইন্টিগ্রেশন টেস্টিং: হাইব্রিড ইন্টিগ্রেশন টেস্টিং অ্যাপ্রোচ টপ-ডাউন এবং বটম-আপ উভয় পদ্ধতির উর্ধ্বগতি একত্রিত করে।
৩. সিস্টেম টেস্টিং
সিস্টেম টেস্টিং হল সফ্টওয়্যার পরীক্ষার একটি স্তর যা সম্পূর্ণ এবং সমন্বিত সফ্টওয়্যারের পরীক্ষা পরিচালনা করে। এই পরীক্ষার লক্ষ্য নির্দিষ্ট প্রয়োজনীয়তার সাথে সিস্টেমের সম্মতি মূল্যায়ন করা।
নিম্নলিখিত ধরণের সিস্টেম পরীক্ষার পদ্ধতি রয়েছে যা বিদ্যমান:
- এন্ড-টু-এন্ড টেস্টিং: এন্ড-টু-এন্ড সফ্টওয়্যার টেস্টিং-এ, আমরা সফ্টওয়্যারটি সেই সমস্ত দিকগুলির জন্য পরীক্ষা করি যা বাস্তব-বিশ্বের ব্যবহার অনুকরণ করে, যেমন প্রয়োজন হলে অন্যান্য হার্ডওয়্যার, সিস্টেম বা অ্যাপ্লিকেশনগুলির সাথে ইন্টারঅ্যাক্ট করা।
- স্মোক টেস্টিং: স্মোক টেস্টিং হল একটি উচ্চ-স্তরের সফ্টওয়্যার টেস্টিং প্রক্রিয়া যা সিস্টেমের মৌলিক এবং সমালোচনামূলক কাজগুলিকে বৈধ করে। সফ্টওয়্যারটিতে কোনও উল্লেখযোগ্য সমস্যা বিদ্যমান নেই তা নিশ্চিত করার ধারণাটি।
- ব্ল্যাক-বক্স টেস্টিং: ব্ল্যাক-বক্স টেস্টিং-এ, অ্যাপ্লিকেশানের অভ্যন্তরীণ গঠন এবং কোডটি পরীক্ষা করা ব্যক্তির কাছে জানা যায় না।
- স্যানিটি টেস্টিং: স্যানিটি টেস্টিং-এর মূল লক্ষ্য হল পরিকল্পিত কার্যকারিতা প্রত্যাশা অনুযায়ী কাজ করছে কিনা তা পরীক্ষা করা। বিল্ড ব্যর্থ হলে স্যানিটি টেস্ট পরীক্ষার সাথে জড়িত সময় এবং খরচের অপচয় এড়াতে সহায়তা করে।
- হ্যাপি পাথ টেস্টিং: হ্যাপি পাথ টেস্টিং হল পরিচিত ইনপুট ব্যবহার করে একটি সু-সংজ্ঞায়িত টেস্ট কেস, ব্যতিক্রম ছাড়াই এক্সিকিউট করা এবং প্রত্যাশিত আউটপুট তৈরি করা।
বানর পরীক্ষা: একজন পরীক্ষক বানর অ্যাপ্লিকেশনটি ব্যবহার করে এমন ধারণা নিয়ে বানর পরীক্ষা করে। পরীক্ষক সফ্টওয়্যারটিকে এই ভিত্তি দিয়ে পরীক্ষা করে যে ব্যবহারকারী বানরের মতো অ্যাপ্লিকেশনটি না বুঝে এলোমেলো ইনপুট বা মান যুক্ত করবে। এই পরীক্ষার লক্ষ্য হল এলোমেলো ইনপুট মান/ডেটা প্রাপ্তির সময় একটি অ্যাপ্লিকেশন বা সিস্টেম ক্র্যাশ হয়েছে কিনা তা পরীক্ষা করা।
৪. স্বীকৃতি যাচাইকরণ
গ্রহণযোগ্যতা পরীক্ষা বা UAT (ব্যবহারকারীর গ্রহণযোগ্যতা পরীক্ষা) শেষ ক্লায়েন্ট দ্বারা সম্পাদিত একটি আনুষ্ঠানিক পরীক্ষার কৌশল। এই পদ্ধতিতে, ক্লায়েন্ট বাস্তব-বিশ্ব ব্যবসায়িক পরিস্থিতির জন্য অ্যাপ্লিকেশন পরীক্ষা করে। তারা শুধুমাত্র তখনই অ্যাপটি গ্রহণ করে যদি এটি তাদের ব্যবসার প্রয়োজন এবং পূর্বশর্তগুলি তাদের সামনে রেখে দেয়।
পরীক্ষার শেষ পর্যায় হল গ্রহণযোগ্যতা পরীক্ষা। একবার এখানে অনুমোদিত হলে, সফ্টওয়্যারটি উৎপাদনে যায়।
এখানে আমরা বিভিন্ন ধরনের গ্রহণযোগ্যতা পরীক্ষা করি:
- আলফা পরীক্ষা: আমরা গ্রাহকদের কাছে সফ্টওয়্যার প্রকাশ করার আগে যতটা সম্ভব ত্রুটি খুঁজে বের করার চেষ্টা করি।
- বিটা টেস্টিং: প্রকৃত শেষ ব্যবহারকারীদের কাছে পণ্যটি বাজারে ছাড়ার আগে একটি নির্বাচিত গ্রুপের সাথে প্রাকৃতিক পরিবেশে বিটা পরীক্ষা করা হয়।
- অপারেশনাল গ্রহণযোগ্যতা পরীক্ষা: এই সফ্টওয়্যার পরীক্ষাটি উত্পাদন পরিবেশের ক্রিয়াকলাপ বা সিস্টেম প্রশাসন দল দ্বারা সঞ্চালিত হয়।
অপারেশনাল গ্রহণযোগ্যতা পরীক্ষার মূল ফোকাস:
- ব্যাকআপ পরীক্ষা করুন এবং পুনরুদ্ধার করুন।
- সফ্টওয়্যার ইনস্টল, আনইনস্টল, আপগ্রেড করুন।
- প্রাকৃতিক দুর্যোগের ক্ষেত্রে পুনরুদ্ধারের প্রক্রিয়া।
- ইউজার ম্যানেজমেন্ট.
- সফটওয়্যার রক্ষণাবেক্ষণ।
৫. রিগ্রেশন টেস্টিং
রিগ্রেশন টেস্টিং এর লক্ষ্য হল নিশ্চিত করা যে একটি সাম্প্রতিক প্রোগ্রাম বা কোড পরিবর্তন বিদ্যমান বৈশিষ্ট্যগুলিতে কোন বিরূপ প্রভাব নেই। রিগ্রেশন টেস্টিং-এ সমস্ত ফ্রেমওয়ার্ক কভার করা কঠিন, তাই পরীক্ষকরা এই ধরণের পরীক্ষার জন্য যান্ত্রিকীকরণ পরীক্ষার যন্ত্র ব্যবহার করে।
৬. GUI সফটওয়্যার টেস্টিং
GUI টেস্টিং হল এক ধরনের টেস্টিং কৌশল যেখানে অ্যাপ্লিকেশনের গ্রাফিক্যাল ইউজার ইন্টারফেস পরীক্ষা করা হয়। এই পরীক্ষায় মেনু, বোতাম, আইকন এবং সব ধরনের বার- টুলবার, মেনু বার, ডায়ালগ বক্স, উইন্ডোজ ইত্যাদির মতো নিয়ন্ত্রণ সহ স্ক্রিনগুলি পরীক্ষা করা জড়িত।
খ. অ-কার্যকর পরীক্ষা
নামটি ইঙ্গিত করে, নন-ফাংশন টেস্টিং একটি সফ্টওয়্যার অ্যাপ্লিকেশনের অ-কার্যকর দিকগুলির উপর ফোকাস করে, যেমন কর্মক্ষমতা, ব্যবহারযোগ্যতা এবং নির্ভরযোগ্যতা। শেষ লক্ষ্য হল সফ্টওয়্যারটি নন-ফাংশনাল প্যারামিটার (যা কার্যকরী পরীক্ষার দ্বারা সম্বোধন করা হয় না) অনুযায়ী প্রস্তুত কিনা তা পরীক্ষা করা।
নো-ফাংশন টেস্টিং-এর একটি বিশিষ্ট উদাহরণ হল এক সাথে কতজন লোক একটি অ্যাপে লগ ইন করতে পারে বা একটি ইকমার্স ওয়েবসাইট একবারে কত ট্রাফিক পরিচালনা করতে পারে তা পরীক্ষা করা হতে পারে।
এখানে বিভিন্ন ধরনের নন-ফাংশনাল টেস্টিং রয়েছে:
৭. নিরাপত্তা পরীক্ষা
নিরাপত্তা পরীক্ষায়, আপনার অ্যাপ্লিকেশন/ওয়েবসাইট সমস্ত অভ্যন্তরীণ এবং বাহ্যিক সাইবার হুমকি থেকে সুরক্ষিত তা নিশ্চিত করার জন্য বিভিন্ন পরীক্ষা করা হয়। এটি পরীক্ষা করে যে আপনার সফ্টওয়্যার কীভাবে আচরণ করে যখন এই ধরনের কোনো আক্রমণ ঘটে।
একটি জনপ্রিয় ধরনের নিরাপত্তা পরীক্ষার হল পেনিট্রেশন টেস্টিং, যেখানে একদল নৈতিক হ্যাকার সিস্টেমের দুর্বল দিকগুলি সনাক্ত করার জন্য লঙ্ঘন করার চেষ্টা করে।
৮. কর্মক্ষমতা পরীক্ষা
কর্মক্ষমতা পরীক্ষায়, আমরা লোড প্রয়োগ করে ওয়েবসাইট/অ্যাপের স্থায়িত্ব এবং প্রতিক্রিয়া সময় পরীক্ষা করি। এই পরীক্ষাটি JMeter, LoadRunner, Loader.IO ইত্যাদি টুল ব্যবহার করে করা হয়।
এখানে কর্মক্ষমতা পরীক্ষার কয়েক ধরনের আছে:
- লোড টেস্টিং: ব্যবহারকারীর সংজ্ঞায়িত সংখ্যার চেয়ে কম বা সমান লোড প্রয়োগ করে একটি ওয়েবসাইট/অ্যাপ্লিকেশনের কর্মক্ষমতা পরীক্ষা করা।
- স্ট্রেস টেস্টিং: আমরা নির্ধারিত সংখ্যক ব্যবহারকারীর চেয়ে বেশি লোড প্রয়োগ করে একটি অ্যাপ্লিকেশনের স্থায়িত্ব এবং প্রতিক্রিয়া সময় পরীক্ষা করি।
- স্কেলেবিলিটি টেস্টিং: ধীরে ধীরে এর লোড বাড়িয়ে একটি অ্যাপ্লিকেশনের স্থিতিশীলতা এবং প্রতিক্রিয়া সময় পরীক্ষা করা।
- ভলিউম টেস্টিং: ডেটা-হ্যান্ডলিং ক্ষমতা পরীক্ষা করার জন্য আমরা ডাটাবেসে প্রচুর পরিমাণে ডেটা স্থানান্তর করি।
- সহনশীলতা পরীক্ষা: অ্যাপ্লিকেশনটি ভাল কাজ করছে কিনা তা যাচাই করার জন্য আরও বর্ধিত সময়ের জন্য ক্রমাগত লোড প্রয়োগ করা।
৯. ব্যবহারযোগ্যতা পরীক্ষা
ব্যবহারযোগ্যতা পরীক্ষায়, আমরা ব্যবহারকারীদের দৃষ্টিকোণ থেকে একটি অ্যাপ পরীক্ষা করে দেখি যে এটি ব্যবহারকারী-বান্ধব কিনা। এখানে ব্যবহারযোগ্যতা পরীক্ষার বিভিন্ন ধরনের আছে:
- অনুসন্ধানমূলক পরীক্ষা: একটি অনানুষ্ঠানিক সফ্টওয়্যার পরীক্ষার কৌশল যেখানে আমরা অ্যাপ্লিকেশনটি অন্বেষণ করি এবং ত্রুটিগুলি সন্ধান করি।
- ক্রস-ব্রাউজার টেস্টিং: বিভিন্ন অপারেটিং সিস্টেম, ব্রাউজার এবং মোবাইল ডিভাইসে একটি ওয়েবসাইট/অ্যাপ্লিকেশান পরীক্ষা করা হচ্ছে তা দেখতে এবং কেমন লাগছে।
- অ্যাক্সেসিবিলিটি টেস্টিং: সফ্টওয়্যারটি পরীক্ষা করা হচ্ছে যে এটি অক্ষম ব্যক্তিদের কাছে অ্যাক্সেসযোগ্য কিনা।
১০. সামঞ্জস্য পরীক্ষা
সামঞ্জস্যতা পরীক্ষা ওয়েব সার্ভার, হার্ডওয়্যার এবং নেটওয়ার্ক পরিবেশে একটি অ্যাপ্লিকেশন কীভাবে চলে এবং আচরণ করে তা পরীক্ষা করে। ধারণাটি হল নিশ্চিত করা যে আপনার অ্যাপ্লিকেশনটি ডাটাবেস, ব্রাউজার এবং কনফিগারেশন নির্বিশেষে কাজ করে চলেছে।
ব্রাউজার সামঞ্জস্য পরীক্ষা একটি জনপ্রিয় সামঞ্জস্য পরীক্ষার পদ্ধতি যেখানে আমরা পরীক্ষা করি যে সফ্টওয়্যার বিভিন্ন ব্রাউজার এবং অপারেটিং সিস্টেমের সংমিশ্রণে চলে কি না।
১১. ফেইলওভার টেস্টিং
ব্যর্থতা পরীক্ষায়, আমরা যাচাই করি যে একটি অ্যাপ অতিরিক্ত সংস্থান বরাদ্দ করতে পারে বা হঠাৎ ব্যর্থ হলে তথ্য ব্যাকআপ করতে পারে কিনা। লক্ষ্য হল নিশ্চিত করা যে অ্যাপ্লিকেশনটি গুরুতর ব্যর্থতাগুলি পরিচালনা করতে পারে এবং প্রয়োজনীয়তা অনুযায়ী উপরে বা নীচে স্কেল করতে পারে।
১২. রক্ষণাবেক্ষণের পরীক্ষা
রক্ষণাবেক্ষণের পরীক্ষায়, আমরা অ্যাপ্লিকেশন আপডেট এবং সংশোধন করার জন্য একটি সিস্টেমের ক্ষমতা পরীক্ষা করি। এটি অপরিহার্য কারণ অ্যাপ্লিকেশনটি বিভিন্ন সফ্টওয়্যার জীবন চক্র পরিবর্তনের মধ্য দিয়ে যাবে। এছাড়াও, এটি রক্ষণাবেক্ষণের প্রয়োজন হবে যখন এটি জীবন হয়ে উঠবে যেখানে এটি বিভিন্ন পরিবর্তনের মধ্য দিয়ে যেতে হবে। নিম্নলিখিত চারটি বিভাগ রয়েছে যেখানে রক্ষণাবেক্ষণের পরীক্ষাটি মোকাবেলা করবে:
- সংশোধনমূলক রক্ষণাবেক্ষণ: একটি অ্যাপে সমস্যা নির্ণয় এবং সমাধান করতে সময় লাগে।
- নিখুঁত রক্ষণাবেক্ষণ: অ্যাপটিতে প্রয়োজনীয় বর্ধিতকরণের জন্য প্রচেষ্টা এবং আপনার টিমের প্রয়োজন হতে পারে।
- অভিযোজিত রক্ষণাবেক্ষণ: পরিবেশের পরিবর্তনের সাথে খাপ খাইয়ে নিতে যে সময় এবং প্রচেষ্টা নেওয়া হয়।
- প্রতিরোধমূলক রক্ষণাবেক্ষণ: ভবিষ্যতে রক্ষণাবেক্ষণের খরচ কমাতে আমাদের প্রয়োজনীয় পদক্ষেপগুলি।
১৩. কমপ্লায়েন্স টেস্টিং
কমপ্লায়েন্স টেস্টিং হল একটি অ-কার্যকর সফ্টওয়্যার পরীক্ষার কৌশল যেখানে আমরা যাচাই করি যে অ্যাপ্লিকেশনটি শিল্পের মানগুলি মেনে চলে কিনা। এতে প্রবেশাধিকারের বৈধতা, ডকুমেন্টেশন পদ্ধতি এবং প্রোগ্রাম পরিবর্তন নিয়ন্ত্রণ পদ্ধতি অন্তর্ভুক্ত রয়েছে।
১৪. দক্ষতা পরীক্ষা
দক্ষতা পরীক্ষায়, একটি নির্দিষ্ট ফাংশন সম্পাদন করার জন্য একটি অ্যাপ্লিকেশনের কতগুলি সংস্থান প্রয়োজন তা আমরা যাচাই করি। এই শব্দটি দেখায় যে কত প্রচেষ্টা অ্যাপ্লিকেশন বিকাশ করে এবং ব্যবহারকারীর সন্তুষ্টি নিশ্চিত করে।
১৫. নির্ভরযোগ্যতা পরীক্ষা
নির্ভরযোগ্যতা পরীক্ষায়, আমরা পরীক্ষা করি যে সফ্টওয়্যার একটি নির্দিষ্ট পরিবেশে একটি নির্দিষ্ট সময়ের জন্য ব্যর্থতা ছাড়াই কাজ করতে পারে কিনা। শেষ লক্ষ্য হল সফ্টওয়্যারটি বাগ মুক্ত এবং এর উদ্দেশ্য পূরণ করার জন্য যথেষ্ট নির্ভরযোগ্য তা নিশ্চিত করা।
১৬. দুর্যোগ পুনরুদ্ধার পরীক্ষা
দুর্যোগ পুনরুদ্ধার পরীক্ষা হল একটি প্রক্রিয়া যা নিশ্চিত করার জন্য যে কোনও সংস্থা ডেটা এবং অ্যাপ্লিকেশনগুলি পুনরুদ্ধার করতে পারে এবং তার পরিষেবাগুলি যেমন একটি গুরুত্বপূর্ণ আইটি ব্যর্থতা বা সম্পূর্ণ ব্যাঘাতের পরে ক্রিয়াকলাপ পুনরায় শুরু করতে পারে।
১৭. স্থানীয়করণ পরীক্ষা
স্থানীয়করণ পরীক্ষায়, আমরা নির্দিষ্ট অবস্থানের জন্য সফ্টওয়্যার আচরণ এবং নির্ভুলতা যাচাই করি। সফ্টওয়্যারটি সেই অঞ্চলের চাহিদা অনুযায়ী কাজ করে তা নিশ্চিত করার ধারণাটি।
ব্যবহারকারীর ইন্টারফেস, তারিখ এবং সময় বিন্যাস এবং ভাষার শব্দভান্ডারের একটি অ্যাপ্লিকেশন পরীক্ষা করা স্থানীয়করণ পরীক্ষার একটি উদাহরণ।
১৮. আন্তর্জাতিকীকরণ পরীক্ষা
আন্তর্জাতিকীকরণ পরীক্ষা হল এমন একটি প্রক্রিয়া যেখানে আমরা বিশ্বব্যাপী বিভিন্ন সংস্কৃতি এবং ভাষায় একটি অ্যাপ্লিকেশনের অভিযোজনযোগ্যতা নিশ্চিত করি যাতে তারা সোর্স কোডে কোনো পরিবর্তন ছাড়াই আন্তর্জাতিক সমর্থন পরিচালনা করতে পারে। আন্তর্জাতিকীকরণ পরীক্ষার সমালোচনামূলক উদ্দেশ্য হল অ্যাপ্লিকেশনটিকে বিশ্বব্যাপী দর্শকদের কাছে ব্যবহারযোগ্য করে তোলা।
সফ্টওয়্যার পরীক্ষার অন্যান্য প্রকার
১৯. অ্যাড-হক পরীক্ষা
অ্যাড-হক টেস্টিং একটি সফ্টওয়্যার পরীক্ষার পদ্ধতি যা ব্যতিক্রমী নৈমিত্তিক এবং অসংগঠিত। কোনও পরীক্ষা বা পরীক্ষার কনফিগারেশন রেকর্ডের কোনও রেফারেন্স ছাড়াই যে কোনও পরীক্ষক এই পরীক্ষাটি সম্পাদন করতে পারে। অ্যাড-হক টেস্টিং এমন ত্রুটিগুলি আবিষ্কার করতে চায় যা বিদ্যমান পরীক্ষায় পাওয়া যায়নি।
২০. পশ্চাদপদ সামঞ্জস্য পরীক্ষা
এটি একটি প্রোগ্রামিং পরীক্ষা যার লক্ষ্য সফ্টওয়্যারটির নতুন সংস্করণটি আগের সংস্করণের তুলনায় কার্যকরভাবে কাজ করতে পারে কিনা তা পরীক্ষা করা। এবং সফ্টওয়্যারটির আরও আপ-টু-ডেট ফর্মটি টেবিলের কাঠামো, ডেটা স্ট্রাকচার এবং পণ্যের অতীত সংস্করণ দ্বারা তৈরি রেকর্ডগুলির সাথে ভাল কাজ করে কিনা তাও বিবেচনা করা।
২১. সীমানা মান পরীক্ষা
এই পরীক্ষার কৌশলটি “সীমান্তে ত্রুটি সমষ্টি” নামে একটি ধারণা অনুসরণ করে। সীমানা শর্তে ত্রুটিগুলি পরীক্ষা করার জন্য এটি একটি সফ্টওয়্যারে চালানো সবচেয়ে বিস্তৃত পরীক্ষাগুলির মধ্যে একটি। ১ থেকে ১০০ পর্যন্ত গৃহীত মানগুলির জন্য ১০১, ১০০, ৯৯, ২, ১, এবং ০ মানের জন্য পরীক্ষা করা হয়।
২২. API টেস্টিং
API টেস্টিং হল এক ধরনের সফটওয়্যার টেস্টিং যা ইউনিট টেস্টিং এর মত। প্রতিটি সফ্টওয়্যার API API নির্ধারণ অনুযায়ী চেষ্টা করা হয়। এপিআই জটিল না হলে এবং বিস্তৃত কোডিংয়ের প্রয়োজন না হলে টেস্টিং গ্রুপ API টেস্টিং করে।
২৩. নেতিবাচক পরীক্ষা
নেতিবাচক পরীক্ষা এমনভাবে সফ্টওয়্যার পরীক্ষা করার একটি উপায় যাতে অ্যাপ্লিকেশনটি ব্যবহারকারীর প্রয়োজনীয়তা অনুসারে কাজ করে এবং অবাঞ্ছিত ইনপুট এবং ব্যবহারকারীর আচরণ পরিচালনা করতে পারে। ভুল বা অবৈধ তথ্য গ্রহণ এই পরীক্ষা শুরু করে।
২৪. মিউটেশন টেস্টিং
মিউটেশন টেস্টিং হল এক ধরণের সাদা বক্স টেস্টিং যেখানে একজন পরীক্ষক প্রোগ্রামের সোর্স কোডগুলির একটি পরিবর্তন করে। এটি বর্তমান পরীক্ষাগুলি কাঠামোর বিকৃতিগুলি সনাক্ত করতে পারে কিনা তা পরীক্ষা করে। প্রোগ্রামের সোর্স কোড সমন্বয় অত্যন্ত নগণ্য এই লক্ষ্যে যে এটি সম্পূর্ণ অ্যাপ্লিকেশনকে প্রভাবিত করবে না, কেবলমাত্র সেই নির্দিষ্ট অঞ্চল যা প্রভাবের সাক্ষী।
২৫. মাল্টি-টেনেন্সি টেস্টিং
মাল্টি-টেন্যান্সি টেস্টিংয়ের লক্ষ্য হল মাল্টি-টেন্যান্ট সিস্টেমের ত্রুটিগুলি আবিষ্কার করা এবং ঠিক করা। এই পরীক্ষার পদ্ধতির পিছনে প্রাথমিক কারণ হল মাল্টি-টেন্যান্ট সিস্টেমে, আপনি যদি সফ্টওয়্যার প্রোগ্রামের কোডে পরিবর্তনগুলি অন্তর্ভুক্ত করেন তবে সিস্টেমটি ভাঙ্গার ঝুঁকি বেশি থাকে। মাল্টি-টেনেন্সি টেস্টিং নিশ্চিত করে যে এই ধরনের কিছুই ঘটবে না।
মাল্টি-টেনেন্সি টেস্টিং-এ, আমরা তিনটি দিক থেকে একটি অ্যাপ্লিকেশন পরীক্ষা করি: অ্যাপ্লিকেশন, অবকাঠামো এবং নেটওয়ার্ক। মাল্টি-টেন্যান্ট অ্যাপ্লিকেশনগুলিতে ত্রুটিগুলি সনাক্ত করতে এবং ঠিক করতে, আমরা নিম্নলিখিত ধরণের পরীক্ষাগুলি পরিচালনা করি:
- কোনো সম্ভাব্য অচলাবস্থা, ডেটা লঙ্ঘন বা অন্যান্য সম্ভাব্য সমস্যা সনাক্ত করতে ডেটা ফাঁস পরীক্ষা।
- আপনার অ্যাপ্লিকেশনে বাধা পরিস্থিতি নির্ধারণ করতে পরীক্ষা লোড করুন।
- বৈশিষ্ট্য এবং লাইসেন্স যাচাই করতে লাইসেন্স/বৈশিষ্ট্য পরীক্ষা।
- এসকিউএল ইনজেকশন, ট্রোজান হর্স এবং র্যানসমওয়্যারের মতো হুমকি শনাক্ত করতে নিরাপত্তা পরীক্ষা।
সচরাচর জিজ্ঞাস্য
১. পরীক্ষার তথ্য চার ধরনের কি কি?
আমরা নিম্নলিখিত চার ধরনের সফ্টওয়্যার পরীক্ষার ডেটা শ্রেণীবদ্ধ করতে পারি:
- বৈধ ডেটা: সফ্টওয়্যারটিকে বৈধ ডেটা প্রক্রিয়া এবং গ্রহণ করা উচিত।
- চরম ডেটা: সম্ভাব্য ব্যাপ্তির সীমানায় পড়ে থাকা বৈধ ডেটা৷
- অবৈধ ডেটা: সফ্টওয়্যার এই ডেটা প্রক্রিয়া বা গ্রহণ করতে পারে না।
- অনুপস্থিত ডেটা: যে ডেটা সফ্টওয়্যার প্রক্রিয়া করতে পারে কিন্তু গ্রহণ করতে পারে না।
২. পরীক্ষার পাঁচটি স্তর কী কী?
সফ্টওয়্যার পরীক্ষার পাঁচটি স্তর নিম্নরূপ:
- লেভেল ১ – স্ট্যাটিক টেস্টিং: ডেভেলপাররা পরবর্তীতে হতে পারে এমন সম্ভাব্য সমস্যা এড়াতে কাজ করে।
- লেভেল ২ – ইউনিট পরীক্ষা: সফ্টওয়্যার স্বাধীনভাবে কাজ করে তা নিশ্চিত করতে বিকাশকারীরা নির্দিষ্ট ইউনিট, তাদের কার্যাবলী এবং পদ্ধতির মূল্যায়ন করে।
- লেভেল ৩ – ইন্টিগ্রেশন টেস্টিং: আলাদা সফ্টওয়্যার ফাংশন কীভাবে ইন্টারঅ্যাক্ট করে তার সমস্যাগুলি আবিষ্কার করতে সমস্ত প্রোগ্রাম ইউনিটে বিস্তৃত পরীক্ষা করুন।
- লেভেল ৪ – সিস্টেম টেস্টিং: অ্যাপ্লিকেশনটিকে সামগ্রিকভাবে পরীক্ষা করে দেখুন এটি উদ্দেশ্যটি কতটা ভালোভাবে সমাধান করে।
- লেভেল ৫ – গ্রহণযোগ্যতা পরীক্ষা: এটি প্রকাশ এবং ব্যবহারিক ব্যবহারের জন্য প্রস্তুত কিনা তা দেখার জন্য অ্যাপ্লিকেশনটির মূল্যায়ন করা। এখান থেকে সফ্টওয়্যারটি অনুমোদিত হলে এটি উত্পাদনে চলে যায়।
৩. ম্যানুয়াল টেস্টিং কি?
ম্যানুয়াল টেস্টিং হল সফ্টওয়্যার টেস্টিং প্রক্রিয়া যেখানে আমরা টুলস বা অটোমেশন স্ক্রিপ্টিং ছাড়াই ম্যানুয়ালি পরীক্ষার কেসগুলি চালাই৷ একটি পরীক্ষার পরিকল্পনা নথি যা প্রাথমিকভাবে তৈরি করা হয় যা পরীক্ষার প্রক্রিয়ার একটি নির্দেশিকা হিসাবে কাজ করে এবং পরীক্ষাগুলি অ্যাপটি কাজ করছে কিনা তা দেখতে এটি ব্যবহার করে৷