GTAC 2015: উপস্থাপনা, GTAC 2015: উপস্থাপনা

উদ্বোধনী মন্তব্য

ইভেট নেমথ (গুগল)

উদ্বোধনী মূল বক্তব্য

Jürgen Allgayer (Google)

ক্রস-অ্যাপ্লিকেশন/ক্রস-ডিভাইস টেস্টিংয়ের উবার চ্যালেঞ্জ

অ্যাপল চৌ (উবার) এবং বিয়ান জিয়াং (উবার)

লিঙ্ক: ভিডিও , স্লাইড

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

রোবট অ্যাসিস্টেড টেস্ট অটোমেশন

হ্যান্স কুওসমানেন (অপ্টোফিডেলিটি) এবং নাটালিয়া লেইনোনেন (অপ্টোফিডেলিটি)

লিঙ্ক: ভিডিও , স্লাইড

OptoFidelity হল একটি ফিনিশ হাই-টেক কোম্পানি যার 10 বছরের R&D টেস্ট অটোমেশন সলিউশন তৈরি এবং ডেলিভারি করার অভিজ্ঞতা রয়েছে। এই আলোচনায় আমাদের অভিজ্ঞতা এবং মোবাইল ডিভাইস UI পারফরম্যান্স পরীক্ষায় ব্যবহৃত অ-অনুপ্রবেশকারী পরীক্ষা পদ্ধতির ভবিষ্যত দৃষ্টিভঙ্গি অন্তর্ভুক্ত থাকবে। আপনি কি জানেন যে Chrome OS টিম Android এবং ChromeOS ডিভাইসের এন্ড-টু-এন্ড লেটেন্সি পরিমাপ করতে OptoFidelity থেকে একটি রোবট সমাধান ব্যবহার করে?

মজা এবং লাভের জন্য জাগলিং চেইনস: মোবাইল ক্রস-প্ল্যাটফর্ম ইন্টিগ্রেশন টেস্টিং থেকে শেখা পাঠ

ড্যান জিওভানেলি (গুগল)

লিঙ্ক: ভিডিও , স্লাইড

মোবাইল ডেভেলপমেন্ট কঠিন। পরীক্ষার পরিকাঠামো তৈরি করা কঠিন। ক্রস-প্ল্যাটফর্মে কাজ করা কঠিন। তিনটি একত্রিত করুন এবং আপনার কাছে দুর্যোগের জন্য একটি রেসিপি রয়েছে। এই আলোচনায়, ড্যান জিওভানেলি একটি ক্রস-প্ল্যাটফর্ম মোবাইল টেস্ট পরিকাঠামো প্রকল্পে কাজ করার অভিজ্ঞতা শেয়ার করবেন। তিনি আলোচনা করবেন যে জিনিসগুলি সঠিক হয়েছে, যেগুলি (খুব) ভুল হয়েছে, এবং তিনি এখন যা চান তা তিনি জানতেন শুরু করে৷ নন-মোবাইল ইঞ্জিনিয়ারদের জন্য মোবাইল টুল ডিজাইন করার অন্তর্দৃষ্টির জন্য আসুন, ম্যাট্রিক্স কী এবং কীভাবে এটিকে নিজের গেমে হারানো যায় তা খুঁজে বের করতে থাকুন।

বাস্তব ডিভাইস ব্যবহার করে মোবাইল গেম টেস্ট অটোমেশন

জুকো কাসিলা (বিটবার/টেস্টড্রয়েড)

লিঙ্ক: ভিডিও , স্লাইড

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

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

কিভাবে উপাদান পরীক্ষা স্যুপ ডাম্পলিং

টনি চ্যাং (গুগল)

লিঙ্ক: ভিডিও , স্লাইড

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

আমি আপনাকে E2E পরীক্ষাকে কম্পোনেন্ট টেস্টে অনুবাদ করার একটি মজার যাত্রার মধ্য দিয়ে নিয়ে যাব যা আপনাকে চূড়ান্ত পণ্যে আত্মবিশ্বাস দেবে। আশা করি এটি আপনাকে একটি নতুন দৃষ্টিভঙ্গি দেবে যখন আপনি আপনার নিজের পণ্যটি দেখবেন।

Chromecast টেস্ট অটোমেশন

ব্রায়ান গোগান (গুগল)

লিঙ্ক: ভিডিও , স্লাইড

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

অ্যান্ড্রয়েড অ্যাপ পরীক্ষার জন্য রোবট ব্যবহার করা

ডাঃ শৌভিক রায় চৌধুরী (জর্জিয়া টেক/চেকড্রয়েড)

লিঙ্ক: ভিডিও , স্লাইড

সফ্টওয়্যার রোবট, যেমন মাঙ্কি অনেক ম্যানুয়াল প্রচেষ্টা ছাড়াই একটি অ্যান্ড্রয়েড অ্যাপ্লিকেশন পরীক্ষা করতে ব্যবহার করা যেতে পারে। অ্যাকাডেমিয়ায় প্রস্তাবিত এরকম বেশ কিছু টুল রয়েছে যার লক্ষ্য হল স্বয়ংক্রিয়ভাবে অ্যান্ড্রয়েড অ্যাপ্লিকেশন চালানোর জন্য টেস্ট ইনপুট তৈরি করা। এই আলোচনায়, আমি প্রতিনিধিত্বমূলক পরীক্ষার ইনপুট জেনারেশন টুলগুলির একটি সেট প্রবর্তন করব এবং তাদের শক্তি এবং সীমাবদ্ধতাগুলি তুলে ধরতে একটি তুলনামূলক অধ্যয়ন উপস্থাপন করব। আপনি এই সরঞ্জামগুলির অভ্যন্তরীণ সম্পর্কে এবং কীভাবে আপনি আপনার অ্যাপ্লিকেশন পরীক্ষা করতে তাদের ব্যবহার করতে পারেন সে সম্পর্কে শিখবেন৷ টুল সহ একটি VM সেটআপ সহ অধ্যয়নের বিশদ বিবরণ এখানে উপলব্ধ: http://bear.cc.gatech.edu/~shauvik/androtest/

আপনার পরীক্ষা ফ্ল্যাকি নয়

অ্যালিস্টার স্কট (স্বয়ংক্রিয়)

লিঙ্ক: ভিডিও , স্লাইড

ফ্ল্যাকি পরীক্ষাগুলি যে কোনও স্বয়ংক্রিয় পরীক্ষা প্রকৌশলীর বাগবিয়ার; যেমন কেউ (সম্ভবত অ্যালিস্টার) একবার বলেছিলেন "উন্মাদতা বারবার একই পরীক্ষা চালাচ্ছে এবং বিভিন্ন ফলাফল পাচ্ছে"। ফ্লেকি পরীক্ষা হতাশার শেষের কারণ হয় না, তবে সম্ভবত ফ্ল্যাকি বা নন-ফ্ল্যাকি পরীক্ষার মতো কোনও জিনিস নেই, সম্ভবত আমাদের এই সমস্যাটিকে একটি ভিন্ন লেন্সের মাধ্যমে দেখতে হবে। স্থিতিস্থাপক এবং ক্রমাগত পরীক্ষা তৈরিতে সময় ব্যয় করার চেয়ে আমাদের আরও নির্ধারক, আরও পরীক্ষাযোগ্য সিস্টেম তৈরিতে আরও বেশি সময় ব্যয় করা উচিত। অ্যালিস্টার কিছু উদাহরণ শেয়ার করবেন যখন টেস্ট ফ্ল্যাকিনেস সিস্টেমের নীচে আসল সমস্যাগুলি লুকিয়ে রেখেছিল এবং কীভাবে আরও ভাল সিস্টেম তৈরি করে পরীক্ষার ফ্ল্যাকিনেস সমাধান করা সম্ভব।

বড়-স্কেল স্বয়ংক্রিয় ভিজ্যুয়াল টেস্টিং

অ্যাডাম কারমি (অ্যাপ্লিটুলস)

লিঙ্ক: ভিডিও , স্লাইড

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

হ্যান্ডস অফ রিগ্রেশন টেস্টিং

কারিন লুন্ডবার্গ (টুইটার) এবং পুনীত খান্দুরি (টুইটার)

লিঙ্ক: ভিডিও , স্লাইড

আপনার দল এইমাত্র একটি পরিষেবার একটি প্রধান রিফ্যাক্টর শেষ করেছে এবং আপনার সমস্ত ইউনিট এবং ইন্টিগ্রেশন পরীক্ষা পাস করেছে। চমৎকার কাজ! কিন্তু আপনি এখনও সম্পন্ন করেননি. এখন আপনাকে অতিরিক্ত নিশ্চিত করতে হবে যে আপনি কিছু ভাঙেননি এবং এমন কোনো লুকানো বাগ নেই যা আপনি এখনও ধরতে পারেননি। ডিফিকে কাজে লাগানোর সময় এসেছে।

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

এছাড়াও, আমরা এইমাত্র ওপেন সোর্সড টুলটি নিয়েছি এবং এটি দ্রুত টুইটারের ওপেন সোর্স প্রকল্পগুলির মধ্যে অন্যতম জনপ্রিয় হয়ে উঠছে।

অ্যান্ড্রয়েড অ্যাপ্লিকেশনের জন্য স্বয়ংক্রিয় অ্যাক্সেসিবিলিটি টেস্টিং

কেসি বার্কহার্ট (গুগল)

লিঙ্ক: ভিডিও , স্লাইড

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

পরিসংখ্যানগত ডেটা স্যাম্পলিং

সেলাল জিফটসি (গুগল) এবং বেন গ্রিনবার্গ (এমআইটি স্নাতক ছাত্র)

লিঙ্ক: ভিডিও , স্লাইড

পরীক্ষায় উৎপাদন ডেটার নমুনা ব্যবহার করা সাধারণ অভ্যাস। উদাহরণ হল:

  • স্বাস্থ্য পরীক্ষা: কিছু ব্যর্থ হয়েছে কিনা তা দেখতে আপনার সিস্টেমে উত্পাদন ডেটার একটি নমুনা ফিড করুন।
  • A/B পরীক্ষা: উত্পাদন ডেটার একটি বড় অংশ নিন, এটি আপনার সিস্টেমের বর্তমান এবং নতুন সংস্করণগুলির মাধ্যমে চালান এবং পরিদর্শনের জন্য আউটপুটগুলি আলাদা করুন৷

উত্পাদন ডেটার একটি নমুনা পেতে, দলগুলি সাধারণত অ্যাড-হক সমাধানগুলি ব্যবহার করে, যেমন:

  • ম্যানুয়ালি নির্দিষ্ট ক্ষেত্রগুলির বিতরণের দিকে তাকিয়ে (যেমন সংখ্যাসূচক ক্ষেত্র),
  • একটি সম্পূর্ণ র্যান্ডম নমুনা নির্বাচন

যাইহোক, এই পন্থাগুলির একটি গুরুতর নেতিবাচক দিক রয়েছে: তারা বিরল ঘটনাগুলি (যেমন প্রান্তের ক্ষেত্রে) মিস করতে পারে, যা উত্পাদনে ধরা না পড়া বাগগুলির ঝুঁকি বাড়ায়। এই ঝুঁকি কমাতে, দলগুলি খুব বড় নমুনা বেছে নেয়। যাইহোক, এই ধরনের বড় নমুনার সাথে, আরও খারাপ দিক রয়েছে:

  • বিরল ঘটনা এখনও মিস করা যেতে পারে,
  • পরীক্ষার রানটাইম অনেক বেড়ে যায়,
  • মানুষের বোঝার পক্ষে পার্থক্যগুলি খুব বড়, এবং প্রচুর পুনরাবৃত্তি রয়েছে।

এই আলোচনায়, আমরা একটি অভিনব পরিসংখ্যানগত ডেটা স্যাম্পলিং কৌশল প্রস্তাব করি যাতে "চতুরভাবে" উৎপাদন ডেটা থেকে একটি "ভাল" নমুনা বেছে নেওয়া যায়:

  • গ্যারান্টি বিরল ঘটনা মিস করা হবে না,
  • সদৃশ বাদ দিয়ে নির্বাচিত নমুনার আকার ছোট করে।

আমাদের কৌশলটি বিরল/সীমানা কেস ক্যাচ করে, নমুনার আকারকে ন্যূনতম রাখে এবং বিকাশকারীদের উপর পরীক্ষার আউটপুট/বিচ্ছিন্নতা দেখার ম্যানুয়াল বোঝাকে স্পষ্টভাবে হ্রাস করে। এটি সমান্তরাল সম্পাদনকেও সমর্থন করে (যেমন MapReduce) যাতে নমুনা বেছে নেওয়ার জন্য অল্প সময়ের মধ্যে বিপুল পরিমাণ ডেটা প্রক্রিয়া করা যায়।

নেস্ট অটোমেশন পরিকাঠামো

উসমান আবদুল্লাহ (নেস্ট), গিউলিয়া গুইডি (নেস্ট) এবং স্যাম গর্ডন (নেস্ট)

লিঙ্ক: ভিডিও , স্লাইড

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

ইভেন্ট জেনারেটর

রুসি ​​রুসেভ (স্প্লাঙ্ক)

লিঙ্ক: ভিডিও , স্লাইড

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

মাল্টিথ্রেডেড টেস্ট সংশ্লেষণ

মুরলি কৃষ্ণ রামনাথন (ইন্ডিয়ান ইনস্টিটিউট অফ সায়েন্স, ব্যাঙ্গালোর)

লিঙ্ক: ভিডিও , স্লাইড

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

এই আলোচনায়, আমি থ্রেড-নিরাপত্তা লঙ্ঘন সনাক্তকরণের জন্য পরীক্ষার সংশ্লেষণের জন্য একটি হালকা ওজনের এবং মাপযোগ্য কৌশল উপস্থাপন করব। একটি মাল্টি-থ্রেডেড লাইব্রেরি এবং একটি ক্রমিক পরীক্ষার স্যুট দেওয়া হয়েছে, আমি একটি সম্পূর্ণ স্বয়ংক্রিয় বিশ্লেষণ বর্ণনা করব যা অনুক্রমিক এক্সিকিউশন ট্রেস পরীক্ষা করে এবং এর আউটপুট হিসাবে একটি সমসাময়িক ক্লায়েন্ট প্রোগ্রাম তৈরি করে যা লাইব্রেরি পদ্ধতির মাধ্যমে ভাগ করা বস্তুগুলিকে ড্রাইভ করে একটি সমবর্তন bug ট্রিগার করার জন্য সহায়ক রাজ্যগুলিতে . বিভিন্ন ভাল-পরীক্ষিত জাভা লাইব্রেরির পরীক্ষামূলক ফলাফল অনেক জটিল বাগ প্রকাশে আমাদের পদ্ধতির কার্যকারিতা প্রদর্শন করে।

Netflix এ স্ট্রিমিং পরীক্ষা সক্রিয় করা হচ্ছে

মিনাল মিশ্র (নেটফ্লিক্স)

লিঙ্ক: ভিডিও , স্লাইড

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

ইন্টারনেট উপহাস

ইয়াবিন কাং (লিংকডইন)

লিঙ্ক: ভিডিও , স্লাইড

ইন্টারনেটকে উপহাস করুন, লিঙ্কডইনে একটি নতুন মকিং সিস্টেমের কথা বলা যা পরিষেবা স্তরের একীকরণ পরীক্ষার জন্য সমস্ত বহির্গামী ট্র্যাফিককে উপহাস করতে সহায়তা করে, লিঙ্কডইন মকিং কৌশলটির ওভারভিউ সম্পর্কেও কিছুটা কথা বলবে। জ্ঞান এবং আমরা যা শিখেছি তা সবার সাথে শেয়ার করুন।

একটি জিপিএস মনিটরিং স্টেশন রিসিভারের কার্যকরী পরীক্ষা

অ্যান্ড্রু নডট (লকহিড মার্টিন)

লিঙ্ক: ভিডিও , স্লাইড

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

পরিধানযোগ্য ডিভাইসে অটোমেশন

অনুরাগ রাউট্রয় (ইন্টেল)

লিঙ্ক: ভিডিও , স্লাইড

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

ইউনিফাইড ইনফ্রা এবং সিআই ইন্টিগ্রেশন টেস্টিং (ডকার/ভ্যাগ্রান্ট)

ম্যাক্সিম গুয়েনিস (সুপারসনিক)

লিঙ্ক: ভিডিও , স্লাইড

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

  • সিআই ইন্টিগ্রেশন পরীক্ষায় ডকার ব্যবহার
  • একক ডকার বা অ্যাপের পরিবর্তে স্ট্যাকের নিয়ন্ত্রণ।
  • বিকাশ এবং পরীক্ষার পরিবেশের সংস্করণ নিয়ন্ত্রণ, সহজেই গিট এবং ডকার সরঞ্জামগুলির সাথে বিতরণ করা হয়।
  • ম্যাক এবং উইন্ডোতে ডকার চালানোর জন্য বিরামহীন সমর্থন।

অকেজো টেস্ট বিট দূর করা

প্যাট্রিক লাম (ওয়াটারলু বিশ্ববিদ্যালয়)

লিঙ্ক: ভিডিও , স্লাইড

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

কভারেজ টেস্ট স্যুট কার্যকারিতার সাথে দৃঢ়ভাবে সম্পর্কিত নয়

লরা ইনোজেমতসেভা (ওয়াটারলু বিশ্ববিদ্যালয়)

লিঙ্ক: ভিডিও , স্লাইড

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

RpcReplay সহ জাল ব্যাকএন্ড

ম্যাট গ্যারেট (গুগল)

লিঙ্ক: ভিডিও , স্লাইড

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

ChromeOS টেস্ট অটোমেশন ল্যাব

সিমরান বাসি (গুগল) এবং ক্রিস সোসা (গুগল)

লিঙ্ক: ভিডিও , স্লাইড

ChromeOS বর্তমানে 60+ ভিন্ন Chromebook/বক্স পাঠাচ্ছে প্রতিটি তাদের নিজস্ব সফ্টওয়্যার চালাচ্ছে। মাঠে, গ্রাহকরা প্রতি 6 সপ্তাহে একটি নতুন সিস্টেম পাচ্ছেন। আমাদের 200+ ডেভেলপারদের কাছ থেকে একটি শক্তিশালী ক্রমাগত ইন্টিগ্রেশন সিস্টেম যাচাই করা চেক-ইন ছাড়া এটি সম্ভব হবে না। এই আলোচনায়, আমরা আমাদের পরীক্ষা অটোমেশন ল্যাবের উপর বিশেষ জোর দিয়ে সামগ্রিক আর্কিটেকচার বর্ণনা করি। উপরন্তু, আমরা Moblab (মোবাইলের জন্য সংক্ষিপ্ত (পরীক্ষা) ল্যাব) নিয়ে আলোচনা করি, আমাদের সম্পূর্ণ পরীক্ষা অটোমেশন অবকাঠামো একটি ক্রোমবক্স থেকে চলছে। এই সিস্টেমটি আমাদের অনেক অংশীদার দ্বারা ব্যবহার করা হয় যাতে তারাও আমাদের মতো পরীক্ষা চালাতে পারে।

,

উদ্বোধনী মন্তব্য

ইভেট নেমথ (গুগল)

উদ্বোধনী মূল বক্তব্য

Jürgen Allgayer (Google)

ক্রস-অ্যাপ্লিকেশন/ক্রস-ডিভাইস টেস্টিংয়ের উবার চ্যালেঞ্জ

অ্যাপল চৌ (উবার) এবং বিয়ান জিয়াং (উবার)

লিঙ্ক: ভিডিও , স্লাইড

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

রোবট অ্যাসিস্টেড টেস্ট অটোমেশন

হ্যান্স কুওসমানেন (অপ্টোফিডেলিটি) এবং নাটালিয়া লেইনোনেন (অপ্টোফিডেলিটি)

লিঙ্ক: ভিডিও , স্লাইড

OptoFidelity হল একটি ফিনিশ হাই-টেক কোম্পানি যার 10 বছরের R&D টেস্ট অটোমেশন সলিউশন তৈরি এবং ডেলিভারি করার অভিজ্ঞতা রয়েছে। এই আলোচনায় আমাদের অভিজ্ঞতা এবং মোবাইল ডিভাইস UI পারফরম্যান্স পরীক্ষায় ব্যবহৃত অ-অনুপ্রবেশকারী পরীক্ষা পদ্ধতির ভবিষ্যত দৃষ্টিভঙ্গি অন্তর্ভুক্ত থাকবে। আপনি কি জানেন যে Chrome OS টিম Android এবং ChromeOS ডিভাইসের এন্ড-টু-এন্ড লেটেন্সি পরিমাপ করতে OptoFidelity থেকে একটি রোবট সমাধান ব্যবহার করে?

মজা এবং লাভের জন্য জাগলিং চেইনস: মোবাইল ক্রস-প্ল্যাটফর্ম ইন্টিগ্রেশন টেস্টিং থেকে শেখা পাঠ

ড্যান জিওভানেলি (গুগল)

লিঙ্ক: ভিডিও , স্লাইড

মোবাইল ডেভেলপমেন্ট কঠিন। পরীক্ষার পরিকাঠামো তৈরি করা কঠিন। ক্রস-প্ল্যাটফর্মে কাজ করা কঠিন। তিনটি একত্রিত করুন এবং আপনার কাছে দুর্যোগের জন্য একটি রেসিপি রয়েছে। এই আলোচনায়, ড্যান জিওভানেলি একটি ক্রস-প্ল্যাটফর্ম মোবাইল টেস্ট পরিকাঠামো প্রকল্পে কাজ করার অভিজ্ঞতা শেয়ার করবেন। তিনি আলোচনা করবেন যে জিনিসগুলি সঠিক হয়েছে, যেগুলি (খুব) ভুল হয়েছে, এবং তিনি এখন যা চান তা তিনি জানতেন শুরু করে৷ নন-মোবাইল ইঞ্জিনিয়ারদের জন্য মোবাইল টুল ডিজাইন করার অন্তর্দৃষ্টির জন্য আসুন, ম্যাট্রিক্স কী এবং কীভাবে এটিকে নিজের গেমে হারানো যায় তা খুঁজে বের করতে থাকুন।

বাস্তব ডিভাইস ব্যবহার করে মোবাইল গেম টেস্ট অটোমেশন

জুকো কাসিলা (বিটবার/টেস্টড্রয়েড)

লিঙ্ক: ভিডিও , স্লাইড

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

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

কিভাবে উপাদান পরীক্ষা স্যুপ ডাম্পলিং

টনি চ্যাং (গুগল)

লিঙ্ক: ভিডিও , স্লাইড

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

আমি আপনাকে E2E পরীক্ষাকে কম্পোনেন্ট টেস্টে অনুবাদ করার একটি মজার যাত্রার মধ্য দিয়ে নিয়ে যাব যা আপনাকে চূড়ান্ত পণ্যে আত্মবিশ্বাস দেবে। আশা করি এটি আপনাকে একটি নতুন দৃষ্টিভঙ্গি দেবে যখন আপনি আপনার নিজের পণ্যটি দেখবেন।

Chromecast টেস্ট অটোমেশন

ব্রায়ান গোগান (গুগল)

লিঙ্ক: ভিডিও , স্লাইড

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

অ্যান্ড্রয়েড অ্যাপ পরীক্ষার জন্য রোবট ব্যবহার করা

ডাঃ শৌভিক রায় চৌধুরী (জর্জিয়া টেক/চেকড্রয়েড)

লিঙ্ক: ভিডিও , স্লাইড

সফ্টওয়্যার রোবট, যেমন মাঙ্কি অনেক ম্যানুয়াল প্রচেষ্টা ছাড়াই একটি অ্যান্ড্রয়েড অ্যাপ্লিকেশন পরীক্ষা করতে ব্যবহার করা যেতে পারে। অ্যাকাডেমিয়ায় প্রস্তাবিত এরকম বেশ কিছু টুল রয়েছে যার লক্ষ্য হল স্বয়ংক্রিয়ভাবে অ্যান্ড্রয়েড অ্যাপ্লিকেশন চালানোর জন্য টেস্ট ইনপুট তৈরি করা। এই আলোচনায়, আমি প্রতিনিধিত্বমূলক পরীক্ষার ইনপুট জেনারেশন টুলগুলির একটি সেট প্রবর্তন করব এবং তাদের শক্তি এবং সীমাবদ্ধতাগুলি তুলে ধরতে একটি তুলনামূলক অধ্যয়ন উপস্থাপন করব। আপনি এই সরঞ্জামগুলির অভ্যন্তরীণ সম্পর্কে এবং কীভাবে আপনি আপনার অ্যাপ্লিকেশন পরীক্ষা করতে তাদের ব্যবহার করতে পারেন সে সম্পর্কে শিখবেন৷ টুল সহ একটি VM সেটআপ সহ অধ্যয়নের বিশদ বিবরণ এখানে উপলব্ধ: http://bear.cc.gatech.edu/~shauvik/androtest/

আপনার পরীক্ষা ফ্ল্যাকি নয়

অ্যালিস্টার স্কট (স্বয়ংক্রিয়)

লিঙ্ক: ভিডিও , স্লাইড

ফ্ল্যাকি পরীক্ষাগুলি যে কোনও স্বয়ংক্রিয় পরীক্ষা প্রকৌশলীর বাগবিয়ার; যেমন কেউ (সম্ভবত অ্যালিস্টার) একবার বলেছিলেন "উন্মাদতা বারবার একই পরীক্ষা চালাচ্ছে এবং বিভিন্ন ফলাফল পাচ্ছে"। ফ্লেকি পরীক্ষা হতাশার শেষের কারণ হয় না, তবে সম্ভবত ফ্ল্যাকি বা নন-ফ্ল্যাকি পরীক্ষার মতো কোনও জিনিস নেই, সম্ভবত আমাদের এই সমস্যাটিকে একটি ভিন্ন লেন্সের মাধ্যমে দেখতে হবে। স্থিতিস্থাপক এবং ক্রমাগত পরীক্ষা তৈরিতে সময় ব্যয় করার চেয়ে আমাদের আরও নির্ধারক, আরও পরীক্ষাযোগ্য সিস্টেম তৈরিতে আরও বেশি সময় ব্যয় করা উচিত। অ্যালিস্টার কিছু উদাহরণ শেয়ার করবেন যখন টেস্ট ফ্ল্যাকিনেস সিস্টেমের নীচে আসল সমস্যাগুলি লুকিয়ে রেখেছিল এবং কীভাবে আরও ভাল সিস্টেম তৈরি করে পরীক্ষার ফ্ল্যাকিনেস সমাধান করা সম্ভব।

বড়-স্কেল স্বয়ংক্রিয় ভিজ্যুয়াল টেস্টিং

অ্যাডাম কারমি (অ্যাপ্লিটুলস)

লিঙ্ক: ভিডিও , স্লাইড

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

হ্যান্ডস অফ রিগ্রেশন টেস্টিং

কারিন লুন্ডবার্গ (টুইটার) এবং পুনীত খান্দুরি (টুইটার)

লিঙ্ক: ভিডিও , স্লাইড

আপনার দল এইমাত্র একটি পরিষেবার একটি প্রধান রিফ্যাক্টর শেষ করেছে এবং আপনার সমস্ত ইউনিট এবং ইন্টিগ্রেশন পরীক্ষা পাস করেছে। চমৎকার কাজ! কিন্তু আপনি এখনও সম্পন্ন করেননি. এখন আপনাকে অতিরিক্ত নিশ্চিত করতে হবে যে আপনি কিছু ভাঙেননি এবং এমন কোনো লুকানো বাগ নেই যা আপনি এখনও ধরতে পারেননি। ডিফিকে কাজে লাগানোর সময় এসেছে।

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

এছাড়াও, আমরা এইমাত্র ওপেন সোর্সড টুলটি নিয়েছি এবং এটি দ্রুত টুইটারের ওপেন সোর্স প্রকল্পগুলির মধ্যে অন্যতম জনপ্রিয় হয়ে উঠছে।

অ্যান্ড্রয়েড অ্যাপ্লিকেশনের জন্য স্বয়ংক্রিয় অ্যাক্সেসিবিলিটি টেস্টিং

কেসি বার্কহার্ট (গুগল)

লিঙ্ক: ভিডিও , স্লাইড

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

পরিসংখ্যানগত ডেটা স্যাম্পলিং

সেলাল জিফটসি (গুগল) এবং বেন গ্রিনবার্গ (এমআইটি স্নাতক ছাত্র)

লিঙ্ক: ভিডিও , স্লাইড

পরীক্ষায় উৎপাদন ডেটার নমুনা ব্যবহার করা সাধারণ অভ্যাস। উদাহরণ হল:

  • স্বাস্থ্য পরীক্ষা: কিছু ব্যর্থ হয়েছে কিনা তা দেখতে আপনার সিস্টেমে উত্পাদন ডেটার একটি নমুনা ফিড করুন।
  • A/B পরীক্ষা: উত্পাদন ডেটার একটি বড় অংশ নিন, এটি আপনার সিস্টেমের বর্তমান এবং নতুন সংস্করণগুলির মাধ্যমে চালান এবং পরিদর্শনের জন্য আউটপুটগুলি আলাদা করুন৷

উত্পাদন ডেটার একটি নমুনা পেতে, দলগুলি সাধারণত অ্যাড-হক সমাধানগুলি ব্যবহার করে, যেমন:

  • ম্যানুয়ালি নির্দিষ্ট ক্ষেত্রগুলির বিতরণের দিকে তাকিয়ে (যেমন সংখ্যাসূচক ক্ষেত্র),
  • একটি সম্পূর্ণ র্যান্ডম নমুনা নির্বাচন

যাইহোক, এই পন্থাগুলির একটি গুরুতর নেতিবাচক দিক রয়েছে: তারা বিরল ঘটনাগুলি (যেমন প্রান্তের ক্ষেত্রে) মিস করতে পারে, যা উত্পাদনে ধরা না পড়া বাগগুলির ঝুঁকি বাড়ায়। এই ঝুঁকি কমাতে, দলগুলি খুব বড় নমুনা বেছে নেয়। যাইহোক, এই ধরনের বড় নমুনার সাথে, আরও খারাপ দিক রয়েছে:

  • বিরল ঘটনা এখনও মিস করা যেতে পারে,
  • পরীক্ষার রানটাইম অনেক বেড়ে যায়,
  • মানুষের বোঝার পক্ষে পার্থক্যগুলি খুব বড়, এবং প্রচুর পুনরাবৃত্তি রয়েছে।

এই আলোচনায়, আমরা একটি অভিনব পরিসংখ্যানগত ডেটা স্যাম্পলিং কৌশল প্রস্তাব করি যাতে "চতুরভাবে" উৎপাদন ডেটা থেকে একটি "ভাল" নমুনা বেছে নেওয়া যায়:

  • গ্যারান্টি বিরল ঘটনা মিস করা হবে না,
  • সদৃশ বাদ দিয়ে নির্বাচিত নমুনার আকার ছোট করে।

আমাদের কৌশলটি বিরল/সীমানা কেস ক্যাচ করে, নমুনার আকারকে ন্যূনতম রাখে এবং বিকাশকারীদের উপর পরীক্ষার আউটপুট/বিচ্ছিন্নতা দেখার ম্যানুয়াল বোঝাকে স্পষ্টভাবে হ্রাস করে। এটি সমান্তরাল সম্পাদনকেও সমর্থন করে (যেমন MapReduce) যাতে নমুনা বেছে নেওয়ার জন্য অল্প সময়ের মধ্যে বিপুল পরিমাণ ডেটা প্রক্রিয়া করা যায়।

নেস্ট অটোমেশন পরিকাঠামো

উসমান আবদুল্লাহ (নেস্ট), গিউলিয়া গুইডি (নেস্ট) এবং স্যাম গর্ডন (নেস্ট)

লিঙ্ক: ভিডিও , স্লাইড

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

ইভেন্ট জেনারেটর

রুসি ​​রুসেভ (স্প্লাঙ্ক)

লিঙ্ক: ভিডিও , স্লাইড

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

মাল্টিথ্রেডেড টেস্ট সংশ্লেষণ

মুরলি কৃষ্ণ রামনাথন (ইন্ডিয়ান ইনস্টিটিউট অফ সায়েন্স, ব্যাঙ্গালোর)

লিঙ্ক: ভিডিও , স্লাইড

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

এই আলোচনায়, আমি থ্রেড-নিরাপত্তা লঙ্ঘন সনাক্তকরণের জন্য পরীক্ষার সংশ্লেষণের জন্য একটি হালকা ওজনের এবং মাপযোগ্য কৌশল উপস্থাপন করব। একটি মাল্টি-থ্রেডেড লাইব্রেরি এবং একটি ক্রমিক পরীক্ষার স্যুট দেওয়া হয়েছে, আমি একটি সম্পূর্ণ স্বয়ংক্রিয় বিশ্লেষণ বর্ণনা করব যা অনুক্রমিক এক্সিকিউশন ট্রেস পরীক্ষা করে এবং এর আউটপুট হিসাবে একটি সমসাময়িক ক্লায়েন্ট প্রোগ্রাম তৈরি করে যা লাইব্রেরি পদ্ধতির মাধ্যমে ভাগ করা বস্তুগুলিকে ড্রাইভ করে একটি সমবর্তন bug ট্রিগার করার জন্য সহায়ক রাজ্যগুলিতে . বিভিন্ন ভাল-পরীক্ষিত জাভা লাইব্রেরির পরীক্ষামূলক ফলাফল অনেক জটিল বাগ প্রকাশে আমাদের পদ্ধতির কার্যকারিতা প্রদর্শন করে।

Netflix এ স্ট্রিমিং পরীক্ষা সক্রিয় করা হচ্ছে

মিনাল মিশ্র (নেটফ্লিক্স)

লিঙ্ক: ভিডিও , স্লাইড

69+ million user's streaming experience is of paramount importance to Netflix. In order to swiftly improve this, we moved the adaptive streaming algorithms into the Javascript layer. This posed a unique challenge of frequently releasing client javascript software which directly impacted consumer's streaming experience. Borrowing the continuous delivery paradigm, which has been widely and successfully adopted for service applications, we used it to retire risk over the lifecycle of a checkin and deliver updates frequently. In this talk we will describe a key component of this paradigm to enable software updates. We will dive into rollout procedure of the javascript client and tools to accurately compare the health against the current version. We will also share the challenges faced with this process.

Mock the Internet

Yabin Kang (LinkedIn)

Links: Video , Slides

Mock the internet, talking about a new mocking system in Linkedin that helps to mock all the outbound traffic for service level integration tests, will also talk a little bit about the overview of Linkedin Mocking strategy. Share the knowledge and what we learnt with everyone.

Effective Testing of a GPS Monitoring Station Receiver

Andrew Knodt (Lockheed Martin)

Links: Video , Slides

The existing GPS monitoring stations used by the Air Force have become difficult to maintain and an effort is underway to replace them with a GPU accelerated Software Defined Radio (SDR) approach. An overview of the unique testing challenges of this specialized GPS receiver along with an examination of several testing approaches will be presented. While focused on a GPS application, these testing approaches could easily be applied to other production level SDR efforts.

Automation on Wearable Devices

Anurag Routroy (Intel)

Links: Video , Slides

As wearable technology is on the rise in personal and business use, all the companies which have a solid space in the Android market have switched their focus on this upcoming technology. Thus creating their apps with wearable support, which also increases the effort to test their app on the wearable devices. Hence automation on the wearables becomes important to reduce testing effort and increase efficiency.

Unified Infra and CI Integration Testing (Docker/Vagrant)

Maxim Guenis (Supersonic)

Links: Video , Slides

Developers struggle every day to have a working local development environment ready when developing, debugging and going through the continues integration cycle.We can to solve that by integrating docker and vagrant to be used with CI tool. This combination allows to control applications at stack level on development machines, while able to use the same stack in integration tests. In this talk we will discuss:

  • Use of Docker in CI integration tests
  • Control of stack instead of single docker or app.
  • Version control of development and test environments, easily ddistributed with git and docker tools.
  • Seamless support for running Dockers on Mac and windows.

Eliminating Useless Test Bits

Patrick Lam (University of Waterloo)

Links: Video , Slides

Specializing static analysis techniques for test suites has yielded interesting results. We've previously learned that most tests are simple straight-line code, namely a sequence of setup statements followed by a payload consisting of asserts. We show how static analysis can identify useless setup statements, enabling developers to simplify and speed up their test cases.

Coverage is Not Strongly Correlated with Test Suite Effectiveness

Laura Inozemtseva (University of Waterloo)

Links: Video , Slides

The coverage of a test suite is often used as a proxy for its ability to detect faults. However, previous studies that investigated the correlation between code coverage and test suite effectiveness have failed to reach a consensus about the nature and strength of the relationship between these test suite characteristics. Moreover, many of the studies were done with small or synthetic programs, making it unclear whether their results generalize to larger programs, and some of the studies did not account for the confounding influence of test suite size. We have extended these studies by evaluating the relationship between test suite size, coverage, and effectiveness for realistic Java programs; our study is the largest to date in the literature. We measured the statement coverage, decision coverage, and modified condition coverage of these suites and used mutation testing to evaluate their fault detection effectiveness. We found that there is a low to moderate correlation between coverage and effectiveness when the number of test cases in the suite is controlled for. In addition, we found that stronger forms of coverage do not provide greater insight into the effectiveness the suite.

Fake Backends with RpcReplay

Matt Garrett (Google)

Links: Video , Slides

Keeping tests fast and stable is critically important. This is hard when servers depend on many backends. Developers must choose between long and flaky tests, or writing and maintaining fake implementations. Instead, tests can be run using recorded traffic from these backends. This provides the best of both worlds, allowing developers to test quickly against real backends.

ChromeOS Test Automation Lab

Simran Basi (Google) and Chris Sosa (Google)

Links: Video , Slides

ChromeOS is currently shipping 60+ different Chromebook/boxes each running their own software. On the field, customers are getting a fresh system every 6 weeks. This would not be possible without a robust Continuous Integration System vetting check-ins from our 200+ developers. In this talk, we describe the overall architecture with specific emphasis on our test automation lab. In addition, we discuss Moblab (short for mobile (test) lab), our entire test automation infrastructure running from one chromebox. This system is used by many of our partners so that they too can run tests the way we do.