আমি কেবল আমাদের কেন এই মাত্রার পরীক্ষার স্তর রয়েছে, উদাহরণগুলির সাথে তারা আসলে কী বোঝায় সে সম্পর্কে আরও কিছু প্রসঙ্গ যুক্ত করতে চেয়েছিলাম
মাইক কোহন তাঁর "সাফল্য উইথ অ্যাগিল" বইতে প্রকল্পগুলির স্বয়ংক্রিয় পরীক্ষাগুলির কাছে যাওয়ার জন্য "টেস্টিং পিরামিড" নিয়ে এসেছিলেন। এই মডেলটির বিভিন্ন ব্যাখ্যা রয়েছে। মডেলটি ব্যাখ্যা করে যে কী ধরণের স্বয়ংক্রিয় পরীক্ষাগুলি তৈরি করা দরকার, তারা কত দ্রুত পরীক্ষার অধীনে আবেদনের বিষয়ে প্রতিক্রিয়া জানাতে পারে এবং কে এই পরীক্ষাগুলি লেখেন। যে কোনও প্রকল্পের জন্য মূলত 3 স্তরের স্বয়ংক্রিয় পরীক্ষার প্রয়োজন হয় এবং সেগুলি নিম্নরূপ।
ইউনিট
পরীক্ষা - এইগুলি আপনার সফ্টওয়্যার অ্যাপ্লিকেশনটির ক্ষুদ্রতম উপাদানটি পরীক্ষা করে। এটি আক্ষরিকভাবে কোনও কোডের মধ্যে একটি ফাংশন হতে পারে যা কিছু ইনপুটগুলির উপর ভিত্তি করে একটি মান গণনা করে। এই ফাংশনটি হার্ডওয়্যার / সফ্টওয়্যার কোডবেসের অন্যান্য বেশ কয়েকটি ফাংশনের অংশ যা অ্যাপ্লিকেশনটি তৈরি করে।
উদাহরণস্বরূপ - আসুন একটি ওয়েব ভিত্তিক ক্যালকুলেটর অ্যাপ্লিকেশন নেওয়া যাক। এই অ্যাপ্লিকেশনটির ক্ষুদ্রতম উপাদানগুলির জন্য যা ইউনিট পরীক্ষা করা দরকার, এটি এমন একটি ফাংশন হতে পারে যা সংযোজন সম্পাদন করে, আরেকটি বিয়োগফল সম্পাদন করে। এই সমস্ত ছোট ফাংশন একসাথে রাখা ক্যালকুলেটর অ্যাপ্লিকেশন তৈরি করে।
Theতিহাসিকভাবে বিকাশকারীরা এই পরীক্ষাগুলি লেখেন কারণ এগুলি সাধারণত সফটওয়্যার অ্যাপ্লিকেশন হিসাবে একই প্রোগ্রামিং ভাষায় লেখা হয়। ইউনিট টেস্টিং ফ্রেমওয়ার্ক যেমন JUnit এবং NUnit (জাভা জন্য), MSTest (সি # এবং .NET জন্য) এবং জেসমিন / Mocha (জাভাস্ক্রিপ্ট জন্য) ব্যবহার করা হয়।
ইউনিট পরীক্ষার সর্বাধিক সুবিধা হ'ল তারা ইউআই এর নীচে সত্যিই দ্রুত চালিত হয় এবং আমরা অ্যাপ্লিকেশন সম্পর্কে দ্রুত প্রতিক্রিয়া পেতে পারি। এটিতে আপনার স্বয়ংক্রিয় পরীক্ষার 50% এরও বেশি হওয়া উচিত।
এপিআই / ইন্টিগ্রেশন টেস্ট-
এইগুলি সফ্টওয়্যার সিস্টেমের বিভিন্ন উপাদান একসাথে পরীক্ষা করে। উপাদানগুলির মধ্যে টেস্টিং ডাটাবেস, এপিআই এর (অ্যাপ্লিকেশন প্রোগ্রামিং ইন্টারফেস), অ্যাপ্লিকেশন সহ তৃতীয় পক্ষের সরঞ্জাম এবং পরিষেবা অন্তর্ভুক্ত থাকতে পারে।
উদাহরণস্বরূপ - উপরে আমাদের ক্যালকুলেটরের উদাহরণে, ওয়েব অ্যাপ্লিকেশন মানগুলি সঞ্চয় করতে একটি ডাটাবেস ব্যবহার করতে পারে, কিছু সার্ভারের পার্থক্য যাচাইয়ের জন্য এপিআই এর ব্যবহার করতে পারে এবং মেঘের কাছে ফলাফল প্রকাশের জন্য এটি একটি তৃতীয় পক্ষের সরঞ্জাম / পরিষেবা ব্যবহার করতে পারে যাতে এটি বিভিন্ন জায়গায় উপলব্ধ করা যায় প্ল্যাটফর্মের।
Icallyতিহাসিকভাবে কোনও বিকাশকারী বা প্রযুক্তিগত কিউএ পোস্টম্যান, সোপুআইআই, জেমেটার এবং টেস্টিমের মতো অন্যান্য সরঞ্জামগুলি ব্যবহার করে এই পরীক্ষাগুলি লিখত।
এগুলি ইউআই পরীক্ষার তুলনায় আরও দ্রুত চালিত হয় কারণ এগুলি এখনও হুডের নীচে চলে তবে ইউনিটের পরীক্ষার চেয়ে কিছুটা বেশি সময় ব্যয় করতে পারে কারণ এতে সিস্টেমের বিভিন্ন স্বতন্ত্র উপাদানগুলির মধ্যে যোগাযোগ পরীক্ষা করা এবং তাদের নির্বিঘ্ন সংহতকরণ নিশ্চিত করা উচিত ensure এটিতে স্বয়ংক্রিয় পরীক্ষার 30% এরও বেশি হওয়া উচিত।
ইউআই টেস্ট-
শেষ পর্যন্ত, আমাদের পরীক্ষা রয়েছে যা অ্যাপ্লিকেশনটির ইউআইকে বৈধতা দেয়। এই পরীক্ষাগুলি সাধারণত প্রয়োগের মাধ্যমে শেষ প্রবাহের পরীক্ষা করতে লেখা হয় written
উদাহরণস্বরূপ - ক্যালকুলেটর অ্যাপ্লিকেশনটিতে, শেষ প্রবাহ শেষ হতে পারে, ব্রাউজারটি খোলার ক্ষেত্রে>> ক্যালকুলেটর অ্যাপ্লিকেশন ইউআরএল প্রবেশ করানো -> ব্যবহারকারীর নাম / পাসওয়ার্ড দিয়ে লগ ইন করা -> ক্যালকুলেটর অ্যাপ্লিকেশন খোলার জন্য -> ক্যালকুলেটরটিতে কিছু ক্রিয়াকলাপ সম্পাদন করা -> ইউআই থেকে ফলাফলগুলি যাচাই করা -> অ্যাপ্লিকেশন থেকে লগ আউট। এটি শেষ প্রবাহের এক প্রান্ত হতে পারে যা ইউআই অটোমেশনের জন্য ভাল প্রার্থী হবে।
Orতিহাসিকভাবে, প্রযুক্তিগত QA এর বা ম্যানুয়াল পরীক্ষকরা ইউআই পরীক্ষা লেখেন। তারা টেস্টিমের লেখক, সম্পাদন এবং পরিচালনা বজায় রাখতে সেলেনিয়াম বা ইউআই টেস্টিং প্ল্যাটফর্মের মতো ওপেন সোর্স ফ্রেমওয়ার্কগুলি ব্যবহার করে। এই পরীক্ষাগুলি আরও ভিজ্যুয়াল প্রতিক্রিয়া দেয় কারণ আপনি দেখতে পাচ্ছেন যে পরীক্ষাগুলি কীভাবে চলছে, স্ক্রিনশট, লগ, পরীক্ষার রিপোর্টের মাধ্যমে প্রত্যাশিত এবং প্রকৃত ফলাফলের মধ্যে পার্থক্য।
ইউআই পরীক্ষার সর্বাধিক সীমাবদ্ধতা হ'ল, তারা ইউনিট এবং এপিআই স্তরের পরীক্ষার তুলনায় তুলনামূলকভাবে ধীর। সুতরাং, এটি সামগ্রিক স্বয়ংক্রিয় পরীক্ষারগুলির মধ্যে কেবলমাত্র 10-20% থাকবে।
পরবর্তী দুটি ধরণের পরীক্ষাগুলি আপনার প্রকল্পের ভিত্তিতে পরিবর্তিত হতে পারে তবে ধারণাটি হ'ল-
ধোঁয়া টেস্ট
এটি উপরের 3 স্তরের পরীক্ষার সংমিশ্রণ হতে পারে। প্রতিটি কোড চেক ইন করার সময় এটি চালানো এবং সিস্টেমের সমালোচনামূলক কার্যকারিতা এখনও প্রত্যাশার মতো কাজ করছে তা নিশ্চিত করার ধারণাটি এই; নতুন কোড পরিবর্তনগুলি মার্জ হওয়ার পরে। ব্যর্থতার বিষয়ে দ্রুত প্রতিক্রিয়া পেতে তাদের সাধারণত 5 - 10 মিনিট দিয়ে চালানো দরকার
রিগ্রেশন টেস্ট
এগুলি সাধারণত দিনে একবার চালানো হয় এবং সিস্টেমের বিভিন্ন কার্যকারিতা coverেকে রাখে। তারা নিশ্চিত করে যে আবেদনটি এখনও প্রত্যাশার মতো কাজ করছে। এগুলি ধোঁয়া পরীক্ষার চেয়ে আরও বিশদ এবং অ-সমালোচকদের সহ অ্যাপ্লিকেশনটির আরও দৃশ্যের আচ্ছাদন।