যে কোনও সফ্টওয়্যার প্রকল্পের মূল লক্ষ্যটি এই প্রকল্পটি শেষ করার জন্য প্রয়োজনীয় ব্যয় এবং সময় কমানোর সময় একটি উচ্চ মানের আউটপুট পাওয়া। যে সংস্থাগুলি সফ্টওয়্যার পণ্যটি পরীক্ষার জন্য মূলত চার স্তরের সাপেক্ষে অর্জন করতে। ইউনিট টেস্টিং সফটওয়্যার টেস্টিংয়ের প্রথম স্তরের পরীক্ষার। এই নিবন্ধটি জুড়ে, আমরা কী ইউনিট পরীক্ষাটি বিস্তারিত তা অন্বেষণ করব। আপনি যদি সফ্টওয়্যার পরীক্ষায় নতুন হন তবে এটিও নিশ্চিতভাবে পড়ুন ।
আসুন এই নিবন্ধে আচ্ছাদিত বিষয়গুলি একবার দেখুন:
- সফ্টওয়্যার পরীক্ষার স্তরগুলি
- ইউনিট টেস্টিং কি?
- আপনি ইউনিট পরীক্ষা কীভাবে সম্পাদন করবেন?
- ইউনিট পরীক্ষার সুবিধা কী কী?
- ডেমো: একটি নমুনা ইউনিট পরীক্ষা লিখছি
- সেরা ইউনিট টেস্টিং ফ্রেমওয়ার্ক
সফ্টওয়্যার পরীক্ষার স্তরগুলি
সফ্টওয়্যার বিকাশ চক্রের মধ্যে এমন একটি পর্যায় যা ব্যবসায়-সমালোচনামূলক সফ্টওয়্যার যথার্থতা, গুণমান এবং কার্য সম্পাদনের জন্য যাচাই করা হয়।
সফ্টওয়্যার পরীক্ষার মধ্যে চারটি মৌলিক স্তর রয়েছে, প্রতিটি বিকাশ প্রক্রিয়ার মধ্যে একটি অনন্য ভ্যানটেজ পয়েন্ট থেকে সফ্টওয়্যার কার্যকারিতা পরীক্ষা করে। সফটওয়্যার পরীক্ষার চারটি স্তর নীচের চিত্রে দেখানো হয়েছে।
জাভাস্ক্রিপ্ট এবং jquery মধ্যে পার্থক্য
এই নিবন্ধটি ইউনিট টেস্টিংয়ের, সফ্টওয়্যার পরীক্ষার প্রথম স্তরের বিশদটি ব্যাখ্যা করে।
ইউনিট টেস্টিং কি?
ইউনিট টেস্টিং হল কোড হিসাবে ক্ষুদ্রতম টুকরোটিকে পরীক্ষা করার একটি উপায় ইউনিট এটি কোনও সিস্টেমে যৌক্তিকভাবে বিচ্ছিন্ন করা যেতে পারে। এটি মূলত স্ট্যান্ডেলোনাল মডিউলগুলির কার্যকরী নির্ভুলতার উপর দৃষ্টি নিবদ্ধ করে।
একটি ইউনিট আপনার যা হতে পারে তার প্রায়শই হতে পারে - কার্যকারিতার একটি নির্দিষ্ট অংশ, একটি প্রোগ্রাম বা অ্যাপ্লিকেশনটির মধ্যে একটি নির্দিষ্ট পদ্ধতি। ছোট ইউনিট, এটি ভাল। ছোট পরীক্ষাগুলি সাধারণত আপনাকে আপনার উত্পাদন সম্পর্কে আরও অনেক দানাদার ভিউ দেয়, কোডটি সম্পাদন করে। এছাড়াও, আপনার পরীক্ষাগুলি যদি ছোট হয় তবে দ্রুত চালাতে পারে। সুতরাং, এটি সফ্টওয়্যার পরীক্ষার মাইক্রো স্তরেরও।
আপনি ইউনিট পরীক্ষা কীভাবে সম্পাদন করবেন?
প্রোগ্রামের প্রতিটি অংশকে পৃথক করার জন্য ইউনিট পরীক্ষার লক্ষ্য এবং পৃথক অংশগুলি সঠিকভাবে এবং উদ্দেশ্য হিসাবে কাজ করছে তা পরীক্ষা করে। ইউনিট পরীক্ষাগুলি সম্পাদন করার সময়, অ্যাপ্লিকেশন কোড ফাংশনগুলি নমুনা ইনপুট সহ একটি পরীক্ষামূলক পরিবেশে কার্যকর করা হয়। প্রাপ্ত আউটপুটটি তখন সেই ইনপুটটির জন্য প্রত্যাশিত আউটপুটটির সাথে তুলনা করা হয়। তারা মিললে পরীক্ষায় পাস হয়। তা না হলে এটি ব্যর্থতা। কোডের নির্ভুলতা নিশ্চিত করার জন্য ইউনিট পরীক্ষাগুলি দুর্দান্ত। আসুন একটি নমুনা অ্যালগরিদম যা একবার ধারণাটি চিত্রিত করে তা একবার দেখে নিই।
আপনি দেখতে পাচ্ছেন, ইউনিট পরীক্ষা করা বেশ সহজ। আপনি কোডটির কিছু অংশ লিখুন এবং এটি পরীক্ষার সাপেক্ষে। যদি পরীক্ষাটি পাস হয় তবে আপনি এটি আপনার টেস্ট স্যুটে যুক্ত করুন এবং কোডটির পরবর্তী অংশটি পরীক্ষা করুন। অন্যথায়, আপনি প্রয়োজনীয় পরিবর্তনগুলি করেন এবং এটি আবার পরীক্ষা করেন। সমস্ত সফ্টওয়্যার ইউনিট পরীক্ষা না করা পর্যন্ত প্রক্রিয়াটি পুনরাবৃত্তি করুন।এই ধরণের বেসিক টেস্টিংয়ের মতো অনেক সুবিধা রয়েছেসফ্টওয়্যার বাগগুলি তাড়াতাড়ি সন্ধান করা, ইন্টিগ্রেশনকে সহজ করে, এর উত্স সরবরাহ করে , এবং আরও অনেক কিছু.
ইউনিট পরীক্ষার সুবিধা কী কী?
রিগ্রেশন পরীক্ষা পরিচালনা করা, বিভিন্ন উপায়ে যেমন সংস্থাগুলিকে সুবিধা দেয়:
কোডিংকে তত্পর করে তোলে
ইউনিট টেস্টিং কোডিং প্রক্রিয়াটিকে গতি দেয়। আপনি যখন আপনার অ্যাপ্লিকেশনটিতে নতুন বৈশিষ্ট্য যুক্ত করেন, কখনও কখনও আপনাকে আপনার সফ্টওয়্যার পণ্যের নকশা এবং কোডটি সংশোধন করতে হতে পারে। তবে ইতিমধ্যে পরীক্ষিত কোড পরিবর্তন করতে খুব বেশি অর্থ এবং প্রচেষ্টা ব্যয় হয় costs তবে ইউনিট পরীক্ষার মাধ্যমে আপনি পুরো প্রোগ্রামটি পরীক্ষা করার পরিবর্তে সদ্য যুক্ত হওয়া কোডের টুকরো পরীক্ষা করতে পারেন। এছাড়াও, ইউনিট পরীক্ষাগুলি আপনার কোডের মান উন্নত করে।
সফটওয়্যার বাগগুলি তাড়াতাড়ি সন্ধান করতে সহায়তা করে
যেহেতু ইউনিট পরীক্ষাগুলি একীকরণের আগে স্বতন্ত্র কোড পরীক্ষা করে এমন বিকাশকারীরা তাদের দ্বারা চালিত হয়, সফ্টওয়্যার পরীক্ষার প্রক্রিয়াটি খুব তাড়াতাড়ি পাওয়া যায়। কোডের অন্যান্য টুকরাগুলিকে প্রভাবিত না করেই সেগুলি তখন এবং সেখানে সমাধান করা যেতে পারে। ত্রুটিগুলি শনাক্ত করার সুবিধাটি হ'ল আপনি বিকাশের ঝুঁকি হ্রাস করতে পারেন এবং খুব বেশি অর্থ এবং সময় ব্যয় করা এড়াতে পারেন।
প্রোগ্রাম শেষ করতে জাভা কমান্ড
ডকুমেন্টেশন সরবরাহ করে
পরীক্ষায়, কোড ডকুমেন্টেশন প্রায়শই উপেক্ষিত হয় কারণ এর জন্য অনেক সময় প্রয়োজন। তবে ইউনিট টেস্টিং আরও ভাল কোডিং অনুশীলনগুলিকে উত্সাহিত করে এবং কোডের কিছু অংশ রেখে যা আপনার পণ্যটি কী করছে তা বর্ণনা করে ডকুমেন্টেশনকে কিছুটা সহজ করে তোলে।
ডিবাগিং করা সহজতর
ইউনিট টেস্টিং ডিবাগিং প্রক্রিয়াটিকে সহজতর করে। যখন কোনও পরীক্ষা ব্যর্থ হয়, কেবলমাত্র কোডে করা সর্বশেষ পরিবর্তনগুলি ডিবাগ করা দরকার। বেশ কয়েকটি দিন বা সপ্তাহ বা মাসের ব্যবধানে উচ্চতর স্তরের পরীক্ষার পরিবর্তনগুলি স্ক্যান করা দরকার।
পরীক্ষার ব্যয় হ্রাস করে
যেহেতু বাগগুলি প্রথম দিকে পাওয়া যায়, তাই বাগ সংশোধন করার ব্যয়কিছুটা কমেছে উন্নয়নের পরবর্তী পর্যায়ে কোনও বাগ পাওয়া গেলে এটি আরও অনেক বেশি ব্যয় করতে পারে। আপনাকে আপনার প্রকল্পের পুরো কোডটি পরিবর্তন করতে হবে। এটি সত্যিই ক্লান্তিকর এবং অর্থের অপচয় বলে মনে হচ্ছে। সুতরাং ইউনিট টেস্টিং সম্পাদন করায় মূল্যবান সময় এবং অর্থ সাশ্রয় হয়।
এই নাও! আমি আশা করি ইউনিট পরীক্ষা কেন গুরুত্বপূর্ণ তা সম্পর্কে আপনি নিশ্চিত হন। আরও সরানো, আসুন ইউনিট পরীক্ষাগুলি কীভাবে লিখতে হয় তার একটি সহজ ডেমো পরীক্ষা করে দেখি।
ডেমো: একটি নমুনা ইউনিট পরীক্ষা লিখছি
ইউনিট টেস্টিং দাবি করে যে একটি ভাল পরীক্ষা হওয়া উচিত:
- লিখতে সহজ
- পঠনযোগ্য
- নির্ভরযোগ্য
- দ্রুত এবং দক্ষ
ডেমো জন্য প্রয়োজনীয়তা:
- জাভা ডেভলপমেন্ট কিট (জেডিকে)
- একটি আইডিই (এই ডেমোতে Elpipse ব্যবহৃত হয়)
- ইউনিট পরীক্ষার কাঠামো (এই ডেমোতে টেস্টএনজি ব্যবহৃত হয়)
আসুন ডেমো দিয়ে শুরু করি। সুতরাং, এই ডেমোতে আমার কাছে দুটি ফাইল রয়েছে:
- পরীক্ষা করার জন্য একটি ফাংশন সহ একটি গণিত শ্রেণি
- পরীক্ষা করার পদ্ধতিগুলির সাথে একটি টেস্ট ক্লাস
পরীক্ষার কেসটি বুঝতে নীচের কোডটি দেখুন। এটি দুটি পদ্ধতি সহ একটি গণিত শ্রেণি: যোগ করুন, গুণ করুন।
পাবলিক ফাইনাল ক্লাস ম্যাথ {পাবলিক স্ট্যাটিক ইনট অ্যাড (ইন্ট ফার্স্ট, ইন্ট সেকেন্ড) {রিটার্ন ফার্স্ট + সেকেন্ড} পাবলিক স্ট্যাটিক ইন্ট গুণ
এরপরে আমাদের কার্যকারিতা পরীক্ষা করার জন্য পদ্ধতি সহ একটি টেস্ট ক্লাস রয়েছে যোগ করুন () ফাংশন এবং গুন () ফাংশন
আমদানি org.testng.annotations.Test আমদানি স্ট্যাটিক org.testng.Assert.assertEquals সর্বজনীন বর্গ গণিত পরীক্ষা {@ সর্বজনীন শূন্যতা যোগ _টপ্লাসটুই_ রিটার্নসফোর () {চূড়ান্ত পূর্বে প্রত্যাশিত = -4 চূড়ান্ত অভ্যন্তর প্রকৃত = ম্যাথ.এডডি (-2, -3) assertEquals (প্রকৃত, প্রত্যাশিত)} @ সর্বজনীন সর্বজনীন শূন্যপদ একাধিক_আপনার সংখ্যা_সত্তা () {চূড়ান্ত পূর্বের প্রত্যাশিত = -4 চূড়ান্ত পূর্ব প্রকৃত = ম্যাথ.মাল্টিপ্লাই (2,2) assertEquals (প্রকৃত, প্রত্যাশিত)}}
ইউনিট টেস্ট: অ্যাড ফাংশনটির কার্যকারিতা পরীক্ষা করা হচ্ছে
মন্তব্য করুন গুন () ম্যাথ ক্লাসে ফাংশন এবং একাধিক_উত্তর সংখ্যা_আপনার মূল্য () টেস্ট ক্লাসে ফাংশন। তারপরে এর জন্য মান নির্ধারণ করুন প্রত্যাশিত পরিবর্তনশীল এবং কল গুন () নমুনা ইনপুট দিয়ে ফাংশন (ইতিবাচক এবং নেতিবাচক উভয় ক্ষেত্রে বিবেচনা)। আপনি পরীক্ষা চালানোর সময়, প্রত্যাশিত মানটির সাথে তুলনা করা হয় কারেন্ট মান। পরীক্ষা যদি ফলাফলগুলি প্রত্যাবর্তন করে তবে এর অর্থ এটি যোগ করুন () ফাংশন নিখুঁতভাবে কাজ করছে। আমি যখন পরীক্ষার ফলাফলগুলির একটি স্ক্রিনশট সংযুক্ত করেছি the প্রত্যাশিত মান -5 এবং পরামিতিগুলি পাস হয়েছে যোগ করুন () ফাংশন -2 এবং -3 হয়।
সহজ? আমরা পুরো প্রোগ্রামের একটি ইউনিট বা অংশ পরীক্ষা করেছি। আপনি একই সঙ্গে করতে পারেন গুন () ফাংশন এই ডেমোটির উদ্দেশ্য হ'ল ইউনিট পরীক্ষায় ইউনিট কী বোঝায় তা বোঝানো। সুতরাং, এখানকার মূল উদ্দেশ্যটি হ'ল ছোট অংশগুলিতে সফ্টওয়্যার প্রকল্পের অভ্যন্তরীণ নকশাগুলি এবং অভ্যন্তরীণ যুক্তিগুলি যাচাই করা। আমি এই ডেমোটিতে যে ইউনিট পরীক্ষার কাঠামোটি ব্যবহার করেছি তা হ'ল টেস্টএনজি। বিভিন্ন প্রোগ্রামিং ভাষার জন্য অন্যান্য বিভিন্ন ইউনিট টেস্টিং ফ্রেমওয়ার্ক রয়েছে।
সেরা ইউনিট টেস্টিং ফ্রেমওয়ার্ক
জনপ্রিয় ইউনিট টেস্টিং ফ্রেমওয়ার্কগুলির কয়েকটি হ'ল:
স্নাতকোত্তর এবং স্নাতকোত্তর মধ্যে পার্থক্য
- জুনিত: এটি একটি পরীক্ষা-চালিত বিকাশের পরিবেশের জন্য একটি উন্মুক্ত উত্স কাঠামো, বিশেষত জন্য ডিজাইন করা ।
- নুনিট: এটি সি # এর জন্য সর্বাধিক জনপ্রিয় ইউনিট-টেস্টিং ফ্রেমওয়ার্ক।
- টেস্টএনজি: এর জন্য ডিজাইন করা প্রোগ্রামিং ভাষা, এটি JUnit এবং NUnit এর সাথে সাদৃশ্যযুক্ত তবে কিছু নতুন কার্যকারিতা সরবরাহ করে যা এটি আরও শক্তিশালী এবং ব্যবহার করতে সহজ করে তোলে।
- এইচটিএমএলইনিত: এটি অন্যতম জনপ্রিয় ফ্রেমওয়ার্ক । এটি JUnit এবং TestNG এর মতো ফ্রেমওয়ার্কের মধ্যে ব্যবহৃত ওয়েব অ্যাপ্লিকেশনগুলির পরীক্ষার জন্য ব্যবহৃত হয়।
- ইউনিটেস্ট: JUnit কাঠামো দ্বারা অনুপ্রাণিত, এই কাঠামোটি পরীক্ষার অটোমেশনকে সমর্থন করে এবং রিপোর্টিং পরিবেশ থেকে টেস্টগুলির স্বাধীনভাবে কাজ করে। এটি এর জন্য অন্যতম জনপ্রিয় একক-পরীক্ষামূলক ফ্রেমওয়ার্ক ।
এগুলি ছাড়াও আরও অনেকগুলি ফ্রেমওয়ার্ক রয়েছে। এটির সাথে আমরা ব্লগের শেষে পৌঁছেছি। আশা করি আপনি আজ এখানে যা শিখেছেন সেগুলি আপনার সফ্টওয়্যার পরীক্ষার যাত্রা শুরু করার সময় আপনাকে সহায়তা করবে।
যদি আপনি এটি পাওয়া যায় প্রবন্ধ প্রাসঙ্গিক, পরীক্ষা করে দেখুন লাইভ-অনলাইন এডুরেকা, বিশ্বস্ত জুড়ে 250,000 এরও বেশি সন্তুষ্ট শিক্ষার্থীর নেটওয়ার্ক সহ একটি বিশ্বস্ত অনলাইন লার্নিং সংস্থা by
আমাদের জন্য একটি প্রশ্ন আছে? দয়া করে এই নিবন্ধটির মন্তব্য বিভাগে এটি উল্লেখ করুন এবং আমরা আপনার কাছে ফিরে আসব।