আপনার কী পরীক্ষা করা উচিত তা নির্ভর করে অ্যাপের ধরন, ডেভেলপমেন্ট টিম, লিগ্যাসি কোডের পরিমাণ এবং ব্যবহৃত আর্কিটেকচারের মতো বিষয়গুলির উপর। নিম্নলিখিত বিভাগগুলি তাদের অ্যাপে কী পরীক্ষা করতে হবে তার পরিকল্পনা করার সময় একজন শিক্ষানবিস কী বিবেচনা করতে চাইতে পারে তার রূপরেখা দেয়৷
পরীক্ষা ডিরেক্টরির সংগঠন
অ্যান্ড্রয়েড স্টুডিওতে একটি সাধারণ প্রকল্পে দুটি ডিরেক্টরি রয়েছে যা তাদের কার্যকর করার পরিবেশের উপর নির্ভর করে পরীক্ষা করে। বর্ণনা অনুসারে নিম্নলিখিত ডিরেক্টরিগুলিতে আপনার পরীক্ষাগুলি সংগঠিত করুন:
-
androidTest
ডিরেক্টরিতে এমন পরীক্ষা থাকা উচিত যা বাস্তব বা ভার্চুয়াল ডিভাইসে চলে। এই ধরনের পরীক্ষাগুলির মধ্যে ইন্টিগ্রেশন টেস্ট, এন্ড-টু-এন্ড পরীক্ষা এবং অন্যান্য পরীক্ষা রয়েছে যেখানে JVM একা আপনার অ্যাপের কার্যকারিতা যাচাই করতে পারে না। -
test
ডিরেক্টরিতে আপনার স্থানীয় মেশিনে চালানো পরীক্ষাগুলি থাকা উচিত, যেমন ইউনিট পরীক্ষা। উপরের বিপরীতে, এগুলি স্থানীয় JVM-এ চালানো পরীক্ষা হতে পারে।
অপরিহার্য ইউনিট পরীক্ষা
সর্বোত্তম অনুশীলন অনুসরণ করার সময়, আপনাকে নিম্নলিখিত ক্ষেত্রে ইউনিট পরীক্ষা ব্যবহার নিশ্চিত করতে হবে:
- ViewModels বা উপস্থাপকদের জন্য ইউনিট পরীক্ষা ।
- ডেটা স্তরের জন্য ইউনিট পরীক্ষা , বিশেষ করে সংগ্রহস্থল। বেশিরভাগ ডেটা স্তর প্ল্যাটফর্ম-স্বাধীন হওয়া উচিত। এটি করার ফলে পরীক্ষায় ডাটাবেস মডিউল এবং দূরবর্তী ডেটা উত্সগুলি প্রতিস্থাপন করতে পরীক্ষা দ্বিগুণ সক্ষম করে। অ্যান্ড্রয়েডে টেস্ট ডাবল ব্যবহার করার নির্দেশিকা দেখুন
- অন্যান্য প্ল্যাটফর্ম-স্বাধীন স্তরগুলির জন্য ইউনিট পরীক্ষা যেমন ডোমেন স্তর, যেমন ব্যবহারের ক্ষেত্রে এবং ইন্টারঅ্যাক্টরগুলির সাথে।
- ইউটিলিটি ক্লাসের জন্য ইউনিট পরীক্ষা যেমন স্ট্রিং ম্যানিপুলেশন এবং গণিত।
টেস্টিং এজ কেস
ইউনিট পরীক্ষা স্বাভাবিক এবং প্রান্ত উভয় ক্ষেত্রেই ফোকাস করা উচিত। এজ কেসগুলি অস্বাভাবিক পরিস্থিতি যা মানব পরীক্ষক এবং বড় পরীক্ষাগুলি ধরার সম্ভাবনা কম। উদাহরণ নিম্নলিখিত অন্তর্ভুক্ত:
- ঋণাত্মক সংখ্যা, শূন্য, এবং সীমানা শর্ত ব্যবহার করে গণিত অপারেশন।
- সমস্ত সম্ভাব্য নেটওয়ার্ক সংযোগ ত্রুটি.
- দূষিত ডেটা, যেমন বিকৃত JSON।
- একটি ফাইল সংরক্ষণ করার সময় সম্পূর্ণ সঞ্চয়স্থান অনুকরণ.
- একটি প্রক্রিয়ার মাঝখানে বস্তু পুনরায় তৈরি করা হয় (যেমন একটি কার্যকলাপ যখন ডিভাইসটি ঘোরানো হয়)।
এড়ানোর জন্য ইউনিট পরীক্ষা
কিছু ইউনিট পরীক্ষা তাদের কম মানের কারণে এড়ানো উচিত:
- পরীক্ষা যা আপনার কোড নয়, ফ্রেমওয়ার্ক বা লাইব্রেরির সঠিক ক্রিয়াকলাপ যাচাই করে।
- ফ্রেমওয়ার্ক এন্ট্রি পয়েন্ট যেমন ক্রিয়াকলাপ, টুকরো বা পরিষেবাগুলিতে ব্যবসায়িক যুক্তি থাকা উচিত নয় তাই ইউনিট পরীক্ষাকে অগ্রাধিকার দেওয়া উচিত নয়। ক্রিয়াকলাপগুলির জন্য ইউনিট পরীক্ষার সামান্য মূল্য নেই, কারণ তারা বেশিরভাগ ফ্রেমওয়ার্ক কোড কভার করবে এবং তাদের আরও জড়িত সেটআপ প্রয়োজন। ইন্সট্রুমেন্টেড টেস্ট যেমন UI টেস্ট এই ক্লাসগুলিকে কভার করতে পারে।
UI পরীক্ষা
আপনার নিযুক্ত করা উচিত এমন বিভিন্ন ধরণের UI পরীক্ষা রয়েছে:
- স্ক্রীন UI পরীক্ষাগুলি একটি একক স্ক্রিনে ব্যবহারকারীর গুরুত্বপূর্ণ মিথস্ক্রিয়া পরীক্ষা করে। তারা বোতামে ক্লিক করা, ফর্মগুলিতে টাইপ করা এবং দৃশ্যমান অবস্থা পরীক্ষা করার মতো ক্রিয়া সম্পাদন করে। প্রতি স্ক্রীনে একটি পরীক্ষা ক্লাস একটি ভাল সূচনা পয়েন্ট।
- ব্যবহারকারী প্রবাহ পরীক্ষা বা নেভিগেশন পরীক্ষা , সবচেয়ে সাধারণ পথ কভার করে। এই পরীক্ষাগুলি একজন ব্যবহারকারীকে ন্যাভিগেশন প্রবাহের মধ্য দিয়ে চলার অনুকরণ করে। এগুলি সহজ পরীক্ষা, শুরুতে রান-টাইম ক্র্যাশ পরীক্ষা করার জন্য দরকারী।
অন্যান্য পরীক্ষা
স্ক্রিনশট পরীক্ষা, কর্মক্ষমতা পরীক্ষা এবং বানর পরীক্ষাগুলির মতো আরও বিশেষ পরীক্ষা রয়েছে। আপনি উদ্দেশ্য অনুসারে পরীক্ষাগুলিকে শ্রেণীবদ্ধ করতে পারেন, যেমন রিগ্রেশন, অ্যাক্সেসযোগ্যতা এবং সামঞ্জস্যতা।
আরও পড়া
বিচ্ছিন্নভাবে পরীক্ষা করার জন্য, আপনাকে প্রায়শই পরীক্ষার অধীন বিষয়ের নির্ভরতাকে জাল বা মক নির্ভরতা দিয়ে প্রতিস্থাপন করতে হবে, যাকে সাধারণভাবে "টেস্ট ডাবলস" বলা হয়। অ্যান্ড্রয়েডে টেস্ট ডাবল ব্যবহার করে সেগুলি সম্পর্কে পড়া চালিয়ে যান।
আপনি যদি ইউনিট এবং UI পরীক্ষা তৈরি করতে শিখতে চান তবে টেস্টিং কোডল্যাবগুলি দেখুন।