GTAC 2013: উপস্থাপনা

GTAC 2013 এর সমস্ত ভিডিও রেকর্ডিং এবং স্লাইড সর্বজনীনভাবে উপলব্ধ। আপনি GTAC 2013 YouTube প্লেলিস্ট থেকে সেগুলি দেখতে পারেন বা নীচের আলোচনাগুলি ব্রাউজ করতে পারেন:

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

টনি ভয়েলম (গুগল)

লিঙ্ক: ভিডিও

ওপেনিং কিনোট - কোয়ালিটি অ্যাসুরেন্স থেকে টেস্ট ইঞ্জিনিয়ারিং পর্যন্ত বিবর্তন

আরি শামাশ (গুগল)

আপনি একটি অ্যাপ তৈরি করেছেন। আপনি এটি চালু করেছেন। আপনি ভেবেছিলেন যে আপনি এটিকে সেখানে নিয়ে আসবেন, কিছু ভলিউম তৈরি করবেন, কিছু তহবিল পাবেন, এটি সব ফেলে দেবেন এবং তারপর স্ক্র্যাচ থেকে শুরু করবেন যাতে আপনি "এটি সঠিকভাবে করতে পারেন"। কিন্তু, নতুন বৈশিষ্ট্যের চাহিদা আকাশচুম্বী, আপনাকে এখন অশ্রুত বেগে অভূতপূর্ব স্কেলের দিকে ঠেলে দিতে বলা হচ্ছে। হায়! এখন কি?

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

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

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

স্কেল @Twitter-এ টেস্টিং সিস্টেম

জেমস ওয়ালড্রপ (টুইটার)

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

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

আপনি কিভাবে একটি মোবাইল ওএস পরীক্ষা করবেন?

ডেভিড বার্নস (মোজিলা) এবং মালিনী দাস (মোজিলা)

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

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

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

ইগর ডোরোভস্কিখ (এক্সপিডিয়া) এবং কৌস্তুভ গাওয়ান্দে (এক্সপিডিয়া)

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

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

GStreamer এবং OpenCV সহ স্বয়ংক্রিয় সেট-টপ বক্স পরীক্ষা

ডেভিড রথলিসবার্গার (ইউভিউ)

আমরা GStreamer-এর কমান্ড-লাইন টুল এবং OpenCV ব্যবহার করে 3 মিনিটের মধ্যে একটি ভিডিও-ক্যাপচারিং ইমেজ রিকগনিশন সিস্টেম তৈরি করব। (GStreamer হল একটি ওপেন-সোর্স মিডিয়া-হ্যান্ডলিং ফ্রেমওয়ার্ক; OpenCV —"ওপেন কম্পিউটার ভিশন"— হল একটি ওপেন সোর্স ইমেজ-প্রসেসিং লাইব্রেরি।)

এই ধরনের সিস্টেমের একটি প্রধান উদাহরণ হল http://stb-tester.com, আমাদের সেট-টপ বক্সগুলির UI পরীক্ষা স্বয়ংক্রিয় করার জন্য YouView-এ তৈরি একটি ওপেন-সোর্স টুল। আমরা stb-tester, এর GStreamer আন্ডারপিনিংস দ্বারা অফার করা নমনীয়তা, এটির খোলার কিছু সম্ভাবনা এবং সামনের চ্যালেঞ্জগুলি বর্ণনা করব।

লিঙ্ক: ভিডিও

ক্রোমের জন্য ওয়েব ড্রাইভার

কেন কানিয়া (গুগল)

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

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

কর্ম - জাভাস্ক্রিপ্টের জন্য টেস্ট রানার

ভোট জিনা (গুগল)

কর্মের পরিচিতি - টেস্ট রানার যা বাস্তব ব্রাউজারে জাভাস্ক্রিপ্ট অ্যাপ্লিকেশন পরীক্ষাকে ঘর্ষণহীন এবং আনন্দদায়ক করে তোলে।

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

লিঙ্ক: ভিডিও

স্বয়ংক্রিয় ভিডিও গুণমান পরিমাপ

প্যাট্রিক হগ্লান্ড (গুগল)

হ্যাঁ, ভিডিও মানের মতো জটিল, বিষয়গত পরিমাপ স্বয়ংক্রিয়ভাবে পরীক্ষা করা সম্ভব! এই আলোচনা দেখাবে কিভাবে আমরা একটি WebRTC ভিডিও কলের একটি ক্রমাগত, স্বয়ংক্রিয় এন্ড-টু-এন্ড টেস্ট তৈরি করেছি। আমরা একটি উচ্চ স্তরে টুলচেইনটি দেখে নেব এবং এটি তৈরি করার সময় আমরা কী চ্যালেঞ্জগুলির মধ্যে পড়েছিলাম। আপনার মিডিয়া পরীক্ষাকে কীভাবে পরবর্তী স্তরে নিয়ে যেতে হয় তার জন্য আপনি অনুপ্রেরণা চাইলে এটি নিখুঁত।

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

ভাল অ্যাপ্লিকেশনের ক্ষেত্রে যখন খারাপ জিনিসগুলি ঘটে...

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

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

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

শিক্ষাগত গেমিং এবং পরীক্ষার জন্য শিক্ষাগত গেমিং জন্য পরীক্ষা

তাও জি (নর্থ ক্যারোলিনা স্টেট ইউনিভার্সিটি)

এই আলোচনাটি পেক্স 4 ফান ( http://www.pexforfun.com/ ) উপস্থাপন করে, যা একটি অনলাইন প্রোগ্রামিং সিস্টেমে স্বয়ংক্রিয় গ্রেডিংকে আন্ডারপিন করার জন্য স্বয়ংক্রিয় পরীক্ষা প্রজন্মের সুবিধা দেয় যা কয়েক হাজার ব্যবহারকারীকে স্কেল করতে পারে। এটি ক্লাসরুমের বাইরে একটি প্রোগ্রামিং-ভিত্তিক গেমিং অভিজ্ঞতা প্রদান করে, ব্যবহারকারীদের বিভিন্ন প্রোগ্রামিং এবং সফ্টওয়্যার ইঞ্জিনিয়ারিং দক্ষতা শেখার প্রশিক্ষণ দেয়, যেমন প্যারামিটারাইজড ইউনিট পরীক্ষা লেখার মতো পরীক্ষার দক্ষতা সহ। Pex4Fun অ্যাসাইনমেন্ট গ্রেডিংয়ের পরিচিত সমস্যায় গুরুত্বপূর্ণ অবদান রাখে, সেইসাথে ইন্টারেক্টিভ গেমিংয়ের উপর ভিত্তি করে মজাদার শেখার অভিজ্ঞতা প্রদান করে। Pex4Fun সম্প্রদায়ের মধ্যে উচ্চ জনপ্রিয়তা অর্জন করছে: জুন 2010 এ এটি জনসাধারণের জন্য প্রকাশিত হওয়ার পর থেকে "আস্ক পেক্স!"-এর ক্লিকের সংখ্যা বোতাম (Pex4Fun-এ গেমস সমাধানের জন্য ব্যবহারকারীদের করা প্রচেষ্টা নির্দেশ করে) 2013 সালের প্রথম দিকে এক মিলিয়নেরও বেশি পৌঁছেছে।

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

ক্লোজিং কিনোট - কিভাবে Facebook Android এ Facebook পরীক্ষা করে

সাইমন স্টুয়ার্ট (ফেসবুক)

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

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

ওপেনিং কিনোট - টেস্টেবল জাভাস্ক্রিপ্ট - টেস্টিবিলিটির জন্য আপনার অ্যাপ্লিকেশন আর্কিটেক্ট করা

মার্ক ট্রসলার (গুগল)

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

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

কি নিদর্শন কোড পরীক্ষাযোগ্য করে তোলে? কোন বিরোধী নিদর্শন পরীক্ষায় বাধা দেয়? আমাদের কোডের পরীক্ষাযোগ্যতা পরিমাপ করতে কোন মেট্রিক এবং সাধারণ জ্ঞান গাইডপোস্ট ব্যবহার করা যেতে পারে? একবার পরীক্ষাযোগ্য কোড তৈরির প্রক্রিয়া শুরু হয়েছে এখন কি?

পরীক্ষাযোগ্য জাভাস্ক্রিপ্ট লেখার প্রক্রিয়া ভাঙতে আমার সাথে যোগ দিন। আমরা ধারণা, নিদর্শন এবং পদ্ধতিগুলি তদন্ত করব যা পরীক্ষাযোগ্যতাকে ব্যাপকভাবে বৃদ্ধি করে এবং সেইজন্য আপনার কোডের রক্ষণাবেক্ষণযোগ্যতা, সঠিকতা এবং দীর্ঘায়ু। আপনি ক্লায়েন্ট- বা সার্ভার-সাইড জাভাস্ক্রিপ্ট লিখুন এই প্রক্রিয়াটি আয়ত্ত করা আপনার কোডের গুণমানকে ব্যাপকভাবে উন্নত করবে।

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

ব্রেকিং দ্য ম্যাট্রিক্স - স্কেলে অ্যান্ড্রয়েড টেস্টিং

টমাস নাইচ (গুগল), স্টেফান রামসাউয়ার (গুগল) এবং ভ্যালেরা জাখারভ (গুগল)

আপনি কি রেড পিল নিতে প্রস্তুত?

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

"আমি তোমার মন মুক্ত করার চেষ্টা করছি, নিও। কিন্তু আমি তোমাকে শুধু দরজাটা দেখাতে পারি। তোমাকেই এর মধ্য দিয়ে যেতে হবে।"

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

অ্যান্ড্রয়েড UI অটোমেশন

গুয়াং ঝু (朱光) (গুগল) এবং অ্যাডাম মমতাজ (গুগল)

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

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

অ্যাপিয়াম: মোবাইল অ্যাপের জন্য অটোমেশন

জোনাথন লিপস (সস ল্যাবস)

Appium হল একটি Node.js সার্ভার যা নেটিভ এবং হাইব্রিড মোবাইল অ্যাপ্লিকেশন (আইওএস এবং অ্যান্ড্রয়েড উভয়ই) স্বয়ংক্রিয় করে। অ্যাপিয়ামের দর্শন নির্দেশ করে যে অ্যাপগুলিকে স্বয়ংক্রিয় হওয়ার জন্য সংশোধন করা উচিত নয় এবং আপনি যে কোনও ভাষা বা কাঠামোতে আপনার পরীক্ষার কোড লিখতে সক্ষম হবেন। ফলাফল হল একটি সেলেনিয়াম ওয়েবড্রাইভার সার্ভার যা একটি নেটিভের মতো মোবাইলে কথা বলে৷ Appium বাস্তব ডিভাইস এবং এমুলেটরগুলিতে চলে এবং এটি সম্পূর্ণরূপে ওপেন সোর্স, এটি মোবাইল টেস্ট অটোমেশনের সাথে শুরু করার জন্য এটি একটি চমৎকার বন্ধুত্বপূর্ণ উপায় করে তোলে। এই আলোচনায় আমি সেই নীতিগুলির রূপরেখা দেব যা অ্যাপিয়ামের নকশাকে অবহিত করবে, অন্যান্য মোবাইল অটোমেশন ফ্রেমওয়ার্কের জায়গায় অ্যাপিয়াম সম্পর্কে কথা বলব এবং যাদুটিকে ঘটতে পারে এমন স্থাপত্যের পরিচয় করিয়ে দেব। অবশেষে, আমি একটি একেবারে নতুন মোবাইল অ্যাপের একটি সাধারণ পরীক্ষার জন্য কোডটি খনন করব, এবং অ্যাপিয়ামটি আইফোন এবং অ্যান্ড্রয়েডে এই পরীক্ষাটি চালাতে দেখাব।

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

Google+ মোবাইলের জন্য পরিমাপযোগ্য মোবাইল টেস্ট পরিকাঠামো তৈরি করা

এডুয়ার্ডো ব্রাভো (গুগল)

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

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

এসপ্রেসো: অ্যান্ড্রয়েড ইউআই পরীক্ষায় নতুন সূচনা

ভ্যালেরা জাখারভ (গুগল)

আপডেট [অক্টোবর 2013]: Espresso এখন ওপেন সোর্স। https://code.google.com/p/android-test-kit/ দেখুন।

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

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

WebDriver এর সাথে ওয়েব পারফরম্যান্স টেস্টিং

মাইকেল ক্লেপিকভ (গুগল)

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

আমি নতুন-প্রজন্মের ChromeDriver (Chromium ব্রাউজারের জন্য WebDriver) দিয়ে এটি প্রদর্শন করব।

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

ক্রমাগত মানচিত্র ডেটা পরীক্ষা

ইভেট নেমেথ (গুগল) এবং ব্রেন্ডন ধেইন (গুগল)

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

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

ব্যর্থ বিল্ডে স্বয়ংক্রিয়ভাবে অপরাধীদের খুঁজে বের করা - অর্থাৎ কে বিল্ড ভেঙেছে?

সেলাল জিফটসি (ইউসিএসডি) এবং বিবেক রামাভাজ্জলা (গুগল)

ক্রমাগত নির্মাণ Google-এর অন্যতম প্রধান পরিকাঠামো। যখন একটি বিল্ড ব্যর্থ হয়, তখন অপরাধী চেঞ্জলিস্ট (সিএল)/পরিবর্তকদের দ্রুত চিহ্নিত করা অত্যাবশ্যক, যাতে বিল্ডটিকে সবুজে ফিরিয়ে আনার জন্য এটি ঠিক করা যায়।

অপরাধী সনাক্তকরণ সমাধানগুলি ছোট এবং মাঝারি আকারের বিল্ডগুলির জন্য বিদ্যমান, তবে বড় ইন্টিগ্রেশন বিল্ডগুলির জন্য নয়।

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

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

সফ্টওয়্যার পণ্য লাইন গুণমান পরীক্ষামূলক তদন্ত

কাতেরিনা গোসেভা-পপস্টোজানোভা (ওয়েস্ট ভার্জিনিয়া বিশ্ববিদ্যালয়)

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

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

অ্যাড্রেস স্যানিটাইজার, থ্রেড স্যানিটাইজার এবং মেমরি স্যানিটাইজার -- C++ এর জন্য ডায়নামিক টেস্টিং টুল

কোস্ট্যা সেরেব্রায়নি (গুগল)

অ্যাড্রেস স্যানিটাইজার (ASan) হল একটি টুল যা C/C++ প্রোগ্রামগুলিতে বাফার ওভারফ্লো (স্ট্যাক, হিপ এবং গ্লোবালগুলিতে) এবং ব্যবহারের পরে-মুক্ত বাগগুলি খুঁজে পায়। থ্রেড স্যানিটাইজার (TSan) C/C++ এবং Go প্রোগ্রামগুলিতে ডেটা রেস খুঁজে পায়। মেমরি স্যানিটাইজার (MSan) একটি কাজ-প্রগতিশীল টুল যা অপ্রচলিত মেমরির (C++) ব্যবহার খুঁজে পায়। এই টুলগুলি কম্পাইলার ইন্সট্রুমেন্টেশন (LLVM এবং GCC) এর উপর ভিত্তি করে তৈরি করা হয়েছে, যা তাদের খুব দ্রুত করে তোলে (যেমন ASan মাত্র 2x স্লোডাউন করে)। আমরা এই সরঞ্জামগুলি ব্যবহার করে বিশাল স্কেল পরীক্ষার আমাদের অভিজ্ঞতা ভাগ করব।

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

ক্লোজিং কিনোট - ড্রিংকিং দ্য ওশান - গুগল স্কেলে XSS খোঁজা৷

ক্লাউডিও ক্রিসিয়েন (গুগল)

ক্রস সাইট স্ক্রিপ্টিং, বা XSS, ওয়েব অ্যাপ্লিকেশন জগতে মধ্যযুগের কালো প্লেগের সমতুল্য: এটি ব্যাপক, এটি খারাপ এবং খুব দেরি না হওয়া পর্যন্ত এটি সনাক্ত করার জন্য খুব কম বা কোনও প্রযুক্তিগত উপায় নেই৷ DOM XSS হল সেগুলির একটি বিশেষভাবে বাজে রূপ, কারণ এটি সনাক্ত করার জন্য একটি বাস্তব ব্রাউজার বা সমতুল্য প্রয়োজন: সামান্য স্বয়ংক্রিয় সমাধান উপলব্ধ একটি কঠিন সমস্যা।

বিকাশের জীবনচক্রের প্রথম দিকে DOM XSS শনাক্ত করার জন্য আমাদের শক্তিশালী, স্ব-ড্রাইভিং সরঞ্জামগুলির প্রয়োজন ছিল, যা নিরাপত্তা দলের বাইরের প্রকৌশলীদের দ্বারা ব্যবহারযোগ্য: আমরা যা চেয়েছিলাম তা হল এমন একটি পণ্য যা আমাদের বিশাল, দ্রুত চলমান, অত্যন্ত জটিল এবং অত্যাধুনিক অ্যাপ্লিকেশনগুলির স্ক্যান করতে পারে। .. এবং অবশ্যই, আমরা কেউ খুঁজে পাইনি. তাই আমরা আমাদের নিজস্ব তৈরি করেছি: একটি ওয়েব অ্যাপ্লিকেশন স্ক্যানার যা DOM XSS কে লক্ষ্য করে আদর্শ Google প্রযুক্তির উপরে ডিজাইন করা হয়েছে। এটি অ্যাপ ইঞ্জিনে চলে এবং একটি নিরাপত্তা স্ক্যানিং প্ল্যাটফর্ম হিসাবে শক্তিশালী ক্রোম ব্রাউজার এবং কয়েকশত CPU-এর সুবিধা দেয়।

এটি Google-এ পরীক্ষার অস্ত্রাগারেরও একজন চমৎকার নাগরিক: এটি নিরাপত্তা দলের যন্ত্র হওয়ার পরিবর্তে আমাদের পরীক্ষার পরিকাঠামোর মধ্যেই থাকে৷

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

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