আমাকে অটোমেটেড ইউআই পরীক্ষার সরঞ্জামটি ব্যবহার করতে হবে এবং আমি রোবটিয়াম বনাম গুগল এসপ্রেসো ব্যবহারের মধ্যে বিভ্রান্ত।
দুজনের মধ্যে প্রধান পার্থক্য কী? একটিতে বিদ্যমান এমন বৈশিষ্ট্যগুলি রয়েছে যা অন্যটিতে নেই?
আমাকে অটোমেটেড ইউআই পরীক্ষার সরঞ্জামটি ব্যবহার করতে হবে এবং আমি রোবটিয়াম বনাম গুগল এসপ্রেসো ব্যবহারের মধ্যে বিভ্রান্ত।
দুজনের মধ্যে প্রধান পার্থক্য কী? একটিতে বিদ্যমান এমন বৈশিষ্ট্যগুলি রয়েছে যা অন্যটিতে নেই?
উত্তর:
সম্পূর্ণ প্রকাশ: আমি এসপ্রেসোর অন্যতম লেখক।
এস্প্রেসো এবং রোবোটিয়াম উভয়ই ইনস্ট্রুমেন্টেশন-ভিত্তিক ফ্রেমওয়ার্ক, যার অর্থ তারা পরীক্ষার অধীনে ক্রিয়াকলাপগুলি নিরীক্ষণ এবং তাদের সাথে যোগাযোগের জন্য অ্যান্ড্রয়েড ইনস্ট্রুমেন্টেশন ব্যবহার করে ।
গুগলে, আমরা রোবটিয়াম ব্যবহার করে শুরু করেছি কারণ এটি স্টক উপকরণের চেয়ে সুবিধাজনক ছিল (এটি তৈরির জন্য রোবটিয়াম বিকাশকারীদের কাছে টুপি)। তবে এটি এমন একটি কাঠামোর জন্য আমাদের চাহিদা পূরণ করেনি যা বিকাশকারীদের পক্ষে নির্ভরযোগ্য পরীক্ষাগুলি লেখা সহজ করে তোলে ।
রোবটিয়ামের চেয়ে এস্প্রেসোতে বড় অগ্রগতি:
সিংক্রোনাইজ করতে। ডিফল্টরূপে, উপকরণ পরীক্ষার যুক্তিগুলি ইউআই অপারেশনগুলির (ইউআই থ্রেডে প্রক্রিয়াজাত করা) পৃথক পৃথক (উপকরণ) থ্রেডে চালিত হয়। ইউআই আপডেটের সাথে পরীক্ষার ক্রিয়াকলাপের সিঙ্ক্রোনাইজেশন ব্যতীত, পরীক্ষাগুলি স্বচ্ছতার ঝুঁকিতে পড়বে - অর্থাত্ সময় সম্পর্কিত সমস্যার কারণে এলোমেলোভাবে ব্যর্থ হবে। বেশিরভাগ পরীক্ষার লেখকরা এই সত্যটিকে উপেক্ষা করে, কেউ কেউ ঘুম / পুনরায় চেষ্টা করার পদ্ধতি যোগ করে এবং আরও কম পরিশীলিত থ্রেড সুরক্ষা কোড প্রয়োগ করে। এগুলির কোনওটিই আদর্শ নয়। পরীক্ষার অধীনে অ্যাপ্লিকেশনটির UI এর সাথে নির্বিঘ্নে টেস্ট ক্রিয়াকলাপগুলি এবং দৃser়তার সাথে সিঙ্ক্রোনাইজ করে এসপ্রেসো থ্রেড সুরক্ষার যত্ন নেয়। রোবোটিয়াম ঘুম / পুনরায় চেষ্টা করার পদ্ধতি দ্বারা এটি সমাধানের চেষ্টা করে, যা কেবল অবিশ্বাস্য নয়, পরীক্ষাগুলিও প্রয়োজনের চেয়ে ধীর গতিতে চালিত করে।
API- টি। এসপ্রেসোর একটি ছোট, সু-সংজ্ঞায়িত এবং পূর্বাভাসযোগ্য API রয়েছে, যা কাস্টমাইজেশনের জন্য উন্মুক্ত। আপনি স্ট্যান্ডার্ড হ্যামক্রাস্ট ম্যাচার্স ব্যবহার করে কীভাবে একটি ইউআই উপাদান সনাক্ত করতে হবে এবং তার পরে কোনও ক্রিয়া সম্পাদনের নির্দেশ দিন বা লক্ষ্য উপাদানটির উপর একটি দৃ check়তা পরীক্ষা করে দেখুন framework আপনি এটি রোবটিয়ামের এপিআই এর সাথে বিপরীতে করতে পারেন, যেখানে পরীক্ষার লেখক 30+ ক্লিক পদ্ধতি থেকে বেছে নেবেন বলে আশা করা হচ্ছে। আরও, রোবটিয়াম গেটকন্টরএটিভিটি (বর্তমান যাইহোক কী বোঝায়?) এবং গেটভিউয়ের মতো বিপজ্জনক পদ্ধতিগুলি উন্মোচিত করে যা আপনাকে মূল থ্রেডের বাইরের অবজেক্টগুলিতে পরিচালনা করতে দেয় (উপরের পয়েন্টটি দেখুন)।
সাফ ব্যর্থতার তথ্য। এস্প্রেসো যখন কোনও ব্যর্থতা ঘটে তখন সমৃদ্ধ ডিবাগিং তথ্য সরবরাহ করার চেষ্টা করে। আরও, আপনি নিজের ব্যর্থতা হ্যান্ডলারের সাহায্যে এসপ্রেসো দ্বারা ব্যর্থতাগুলি যেভাবে পরিচালনা করা হয় তা আপনি অনুকূলিত করতে পারেন। আমি কিছুক্ষণের জন্য এটি চেষ্টা করে দেখিনি, তবে রোবটিয়ামের পূর্ববর্তী সংস্করণগুলি বেমানান ব্যর্থতা হ্যান্ডলিংয়ের দ্বারা ভুগেছে (উদাহরণস্বরূপ ক্লিকউনভিউ পদ্ধতিটি সিকিউরিটি এক্সেক্সশনগুলি গ্রাস করবে)।
পূর্ববর্তী উত্তরের বিপরীতে, এস্প্রেসো উল্লেখযোগ্য সংখ্যক ব্যবহারকারী সহ সমস্ত এপিআই সংস্করণে সমর্থিত (দেখুন: http://developer.android.com/about/dashboards/index.html )। এটি কিছু পুরানো সংস্করণে কাজ করে তবে সেগুলির পরীক্ষা করা সম্পদের অপচয় হবে। পরীক্ষার কথা বলছি ... এসপ্রেসো প্রতিটি পরিবর্তনের উপর একটি বিস্তৃত টেস্ট স্যুট (95% এর বেশি কভারেজ সহ) পাশাপাশি গুগল দ্বারা বিকাশ করা বেশিরভাগ অ্যান্ড্রয়েড অ্যাপ্লিকেশন দ্বারা পরীক্ষা করা হয়।
এস্প্রেসো রোবোটিয়ামের চেয়ে অনেক দ্রুত, তবে কেবলমাত্র কিছু এসডিকে সংস্করণে কাজ করে।
সুতরাং আপনি যদি এমন কোনও পরীক্ষা চান যা সমস্ত ডিভাইসে কাজ করে তবে রোবইটামে যান। যদি তা না হয় তবে এস্প্রেসোতে যান এবং ভুলে যাবেন না আপনি কিছু সময়ের জন্য বিটা পরীক্ষক হবেন।