কম্পিউটার

পাইথন ইউনিট টেস্টিং কি?


ইউনিট টেস্টিং কি?

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

ইউনিট টেস্টিং সমস্যাগুলি সমাধান করা সহজ করে তোলে কারণ বিকাশকারীরা জানতে পারে যে সিস্টেম বা সফ্টওয়্যারের কোন বিশেষ উপাদানটিতে সমস্যা রয়েছে এবং বিকাশকারীরা সেই নির্দিষ্ট ইউনিটটি ঠিক করতে পারে৷

পাইথন ইউনিট টেস্টিং

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

ইউনিটটেস্ট মডিউলটি নিম্নরূপ পাইথন প্রোগ্রামে এই মডিউলটি আমদানি করে ব্যবহার করা যেতে পারে।

ইমপোর্ট ইউনিট টেস্ট

উদাহরণ

ধরুন, আমাদের একটি সাধারণ ফাংশন আছে, যা একটি বর্গক্ষেত্রের ক্ষেত্রফল গণনা করে। এই ফাইলটিকে ‘area.py’ নামে সেভ করা হোক।

def এলাকা(a):রিটার্ন (a+a)

এখন, উপরের ফাংশনের জন্য ইউনিট টেস্ট কোড লিখি, যা আমাদের জানাবে যে আমাদের ফাংশন প্রত্যাশিত আউটপুট দেয় কিনা। ইউনিট টেস্ট কোড ফাইলটিকে “unit_test.py” নামে সংরক্ষিত করতে দিন।

unit_test.py &mnus;

 এলাকা আমদানি থেকে * import unittestclass Testarea(unittest.TestCase):def test_area(self):self.assertAlmostEqual(area(5,25) self.assertAlmostEqual(area(3),9) self.asssertAlmostEqual(area(a) 4),16)

এখানে, যে ফাইলটি পরীক্ষা করার জন্য কোড রয়েছে সেটি আমদানি করা হয়। একক পরীক্ষা পদ্ধতি assertAlmostEqual() ব্যবহৃত হয়. এটি কিছু ইনপুট সহ এলাকা ফাংশনকে কল করে এবং দ্বিতীয় প্যারামিটারে ফাংশন দ্বারা প্রত্যাশিত আউটপুট রয়েছে। যদি এলাকা() দ্বারা প্রত্যাশিত আউটপুট প্রত্যাশিত আউটপুটের সমান হয়, তাহলে পরীক্ষাটি পাস করা হবে, অন্যথায় এটি ব্যর্থ হবে।

এখন আমাদের এলাকা() কোড পরীক্ষায় উত্তীর্ণ হয়েছে কিনা তা পরীক্ষা করতে কমান্ড প্রম্পট থেকে unit_test.py চালাই।

ইউনিট_টেস্ট ফাইলটি চালানোর জন্য কমান্ড প্রম্পট থেকে নিম্নলিখিত কমান্ডটি চালান।

python -m unittest unit_test.py

আউটপুট

C:\Users\Inderjit Singh\Desktop>
python -m unittest unit_test.pyF========================================================================ব্যর্থ:test_area (unit_test.Testarea)-- -------------------------------------------------- ------------------ট্রেসব্যাক (সর্বশেষ সর্বশেষ কল):ফাইল "C:\Users\Inderjit Singh\Desktop\unit_test.py", লাইন 7, test_area সেলফ। assertAlmostEqual(area(5),25)Assertion Error:10 !=25 7টি জায়গায় (15 পার্থক্য)--------------- ------------------------------------------- 0.001s ব্যর্থ (ব্যর্থতা =1)

আমাদের কোড ইউনিট পরীক্ষা ব্যর্থ হয়েছে. কারণটি ট্রেসব্যাকে দেওয়া আছে। প্রথম ফাংশন self.assertAlmostEqual(area(5),25) আমাদের কোডকে ব্যর্থ করে দেয়। যেহেতু ফাংশনটি 10 ​​প্রদান করে কিন্তু প্রত্যাশিত আউটপুট 25।

যেহেতু, এটি একটি সহজ ফাংশন, আমরা এর সমাধান জানি। আমাদের এলাকা() কোড ভুল। এটি (a+a) এর পরিবর্তে (a*a) ফিরে আসা উচিত।

আসুন এলাকা() কোডটি ঠিক করি এবং ইউনিট পরীক্ষা পুনরায় চালাই।

def এলাকা(a):ফেরত (a*a)

unit_test.py পুনরায় চালান

C:\Users\Inderjit Singh\Desktop>
python -m unittest unit_test.py.---------------------------- ----------------------------------------- 0.000sOK 

এখন, যেহেতু আমরা area(এ কোডটি সংশোধন করেছি), এটি ওকে স্ট্যাটাস সহ সফলভাবে চলে। এটি নিশ্চিত করে যে ইউনিট_test.py ফাইলে নির্দিষ্ট করা সমস্ত ক্ষেত্রে আমাদের কোড পুরোপুরি চলে।

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


  1. পাইথনের বৃহত্তম ত্রিভুজ এলাকা

  2. পাইথনে CGI কি?

  3. Unitest ব্যবহার করে পাইথন প্রোগ্রামে ইউনিট টেস্টিং

  4. Unitest ব্যবহার করে পাইথনে ইউনিট টেস্টিং