GTAC 2016: งานนําเสนอ

การเปิดหมายเหตุ

Matt Lowrie (Google)

วิวัฒนาการของประสิทธิภาพทางธุรกิจและวิศวกรรม

Manasi Joshi (Google)

ลิงก์: วิดีโอ, สไลด์

ในประเด็นสําคัญนี้ เราพยายามให้ทุกคนได้สัมผัสกับเส้นทางการพัฒนาประสิทธิภาพด้านวิศวกรรมที่ Google และผลที่เกิดขึ้น ซึ่งส่งผลต่อการเติบโตทางธุรกิจของ Google สําหรับการพัฒนาอย่างรวดเร็ว การคงความเสถียร และสร้างความมั่นใจผ่านกระบวนการพัฒนา/เผยแพร่/ตรวจสอบ นอกจากนี้ เรายังจะพูดถึงความท้าทายบางประการที่เรากําลังเผชิญในวันนี้และช่องทางใหม่ๆ ในการทดสอบข้ามแพลตฟอร์มในประสบการณ์การใช้งานผลิตภัณฑ์ที่เชื่อมต่อ/ประเภทธุรกิจอย่างมีประสิทธิภาพที่ Google กําลังเผชิญอยู่

การทําให้โรบ็อต Telepresence ทํางานโดยอัตโนมัติ

Tanya Jenkins (การให้คําปรึกษาเกี่ยวกับ Cantilever)

ลิงก์: วิดีโอ, สไลด์

การทดสอบอินเทอร์เฟซการขับรถของอุปกรณ์โทรคมนาคม โดยจะทํางานในชีวิตจริง โต้ตอบกับผู้คนและวัตถุ แต่จะต้องทดสอบในสภาพแวดล้อมที่มีการควบคุม คุณจะจัดการสภาพแวดล้อมในการขับขี่ระยะไกลที่สมจริงได้อย่างไร ขณะตรวจสอบตําแหน่งและตําแหน่งของอุปกรณ์ไปพร้อมกันด้วย ฉันจะนําเสนอโซลูชันที่ล้ําหน้า

มีอะไรอยู่ใน Wallet ของคุณ

Hima Mandali (เมืองหลวง One)

ลิงก์: วิดีโอ, สไลด์

Capital One เป็นบริษัทบัตรเครดิตที่ใหญ่ที่สุดแห่งหนึ่งในสหรัฐอเมริกาซึ่งมีบัญชีมากกว่า 70 ล้านบัญชี ที่ Capital One เรากําลังสร้างผลิตภัณฑ์เจ๋งๆ มากมายเพื่อมอบประสบการณ์ใช้งานดิจิทัลอันน่าทึ่งให้แก่ลูกค้า จากการที่อุปกรณ์เคลื่อนที่ได้กลายมาเป็นช่องทางที่ลูกค้าต้องการ การพูดคุยนี้จะเน้นไปที่วิธีที่เราแก้ไขปัญหาของการทดสอบระบบอัตโนมัติสําหรับแอปบนอุปกรณ์เคลื่อนที่ และสิ่งที่เราทําเพื่อให้เข้าสู่กระบวนการส่งซอฟต์แวร์ที่เร็วขึ้น และจะแชร์เครื่องมือโอเพนซอร์สที่เราใช้และแดชบอร์ดโอเพนซอร์สที่เราสร้างขึ้นเพื่อแก้ไขปัญหาด้วย

การใช้สถิติการทดสอบอัตโนมัติเพื่อคาดคะเนการทดสอบที่จะเรียกใช้

Boris Prikhodky (เทคโนโลยี Unity)

ลิงก์: วิดีโอ, สไลด์

การทดสอบได้กลายเป็นส่วนสําคัญในกระบวนการพัฒนาแอปพลิเคชัน แต่ควรทําเมื่อมีผู้กลายพันธุ์มาเป็นจุดคอขวดในชีวิตประจําวัน ในตัวอย่างนี้ เราจะแชร์ประสบการณ์เกี่ยวกับสิ่งที่เราทําเมื่อต้องรอ 3-6 ชั่วโมงเพื่อให้การกําหนดค่าการทดสอบทํางาน วิธีที่เรียบง่ายแต่มีประสิทธิภาพจะแสดงออกมาในการพูดคุยครั้งนี้ จึงช่วยประหยัดเวลาอันมีค่าในการทําการทดสอบสีเขียวในฟาร์มทดสอบและฟาร์ม วิธีการที่เป็นไปได้ในการปรับปรุงกระบวนการก็ครอบคลุมเช่นกัน

การทดสอบอัตโนมัติของ Selenium สําหรับ Windows และ Windows Phone

นิโกไล อบาลอฟ (2gis)

ลิงก์: วิดีโอ, สไลด์

มี Selenium สําหรับการทดสอบอัตโนมัติของเว็บแอปพลิเคชัน มี Appium สําหรับแอปพลิเคชันบนอุปกรณ์เคลื่อนที่ บน iOS และ Android แต่สําหรับ Windows Desktop และ Windows Phone/Mobile เราต้องคิดค้นโซลูชันจาก Selenium ของเราเอง ดังนั้นจึงมีการสร้าง Winium ขึ้น Winium เป็นโซลูชันโอเพนซอร์สสําหรับ การทดสอบอัตโนมัติของแอป Windows Desktop และ Windows Phone/Mobile Winium ผลิตจาก Selenium ดังนั้นจึง ควรเริ่มใช้งานได้ง่ายเพื่อทํางานแบบอัตโนมัติหากรู้จัก Selenium หรือ Appium อยู่แล้ว และสามารถผสานรวมเข้ากับโครงสร้างพื้นฐานของซีลีเนียมที่มีอยู่ได้ ในการพูดคุย ฉันจะนําเสนอโปรเจ็กต์ที่เขียนว่า Winium และสาธิตการทํางานของทั้ง Winium.Desktop และ Winium.Mobile

ด้านแปลกๆ ของการทดสอบ

Brian Vanpee (Google)

ลิงก์: วิดีโอ, สไลด์

ข้อบกพร่องไม่ได้มีค่าเท่ากันเสมอไป บางครั้งการใช้ภาษาโปรแกรมแบบแปลกๆ ที่เราใช้ก็โทษเราและการตามหาบ่อยครั้งก็ถูกทําลายโดยโปรแกรมเมอร์และผู้ทดสอบ เข้าร่วมกับเรา เพื่อดูความสนุกอย่างหนึ่งของการทดสอบโดยแสดงตัวอย่างบางส่วนจากหลายๆ ภาษาที่เราใช้กันทุกวัน ท้ายที่สุด เราจะพิสูจน์ให้คุณลองคาดเดาว่าแปลกตรงไหนที่เราจะนําเสนอชุดตัวอย่างแปลกๆ ที่พบในภาษาต่างๆ เช่น C, Java, Objective-C, PHP และรายการโปรดของทุกคนอย่าง JavaScript

อัลกอริทึม ML สําหรับการตั้งค่าสภาพแวดล้อมการทดสอบบนอุปกรณ์เคลื่อนที่

Rajkumar Bhojan (เทคโนโลยี Wipro)

ลิงก์: วิดีโอ, สไลด์

ความก้าวหน้าของเทคโนโลยีการประมวลผลบนอุปกรณ์เคลื่อนที่ที่เกิดขึ้นอย่างรวดเร็วทําให้มีความต้องการทดสอบแอปพลิเคชันบนอุปกรณ์เคลื่อนที่ บนอุปกรณ์เคลื่อนที่เป็นอย่างมาก การจัดการอุปกรณ์เคลื่อนที่มีบทบาทสําคัญในการทดสอบแอปบนอุปกรณ์เคลื่อนที่ และการทําความเข้าใจความท้าทายในการจัดการอุปกรณ์เคลื่อนที่นั้นสําคัญต่อการแก้ปัญหา นักพัฒนาซอฟต์แวร์ทดสอบอัตโนมัติต้องทดสอบแอปในอุปกรณ์หลายเครื่องซึ่งมีค่าใช้จ่ายสูงและไม่มีประสิทธิภาพ เพื่อหลีกเลี่ยงปัญหาเฉพาะอุปกรณ์ ในการพูดคุยครั้งนี้ เราจะแสดงวิธีที่อัลกอริทึมแมชชีนเลิร์นนิงจะระบุชุดอุปกรณ์ที่เหมาะสมสําหรับการตั้งค่าสภาพแวดล้อมการทดสอบในอุปกรณ์เคลื่อนที่

"คุณได้ยินฉันไหม" - กําลังทดสอบคุณภาพเสียง

Alexander Brauckman และ Dan Hislop (Citrix)

ลิงก์: วิดีโอ, สไลด์

IATF: เฟรมเวิร์กการทดสอบแบบข้ามแพลตฟอร์มอัตโนมัติและแบบหลายอุปกรณ์

Yanbin Zhang (Intel)

ลิงก์: วิดีโอ, สไลด์

Intel ได้ทํางานร่วมกันกับ Intel® Collaboration Suite สําหรับ WebRTC เพื่อลดความซับซ้อนของการนําเทคโนโลยี WebRTC ไปใช้ เพื่อขยายหรือขยายแอปพลิเคชันใหม่อย่างกว้างขวาง ปัจจุบัน Intel สร้างระบบนิเวศของชุดโปรแกรม Intel® Collaboration สําหรับ WebRTC ทั่วโลกที่กําลังเพิ่มขึ้นอยู่แล้ว ความร่วมมือครอบคลุมด้านต่างๆ อาทิ การศึกษา การแพทย์ อุตสาหกรรมอุตสาหกรรม การเผยแพร่ข้อมูลทางโซเชียลมีเดีย การประชุมผ่านวิดีโอ และอุปกรณ์ที่สวมใส่ได้ ฯลฯ แพลตฟอร์ม SDK ที่รองรับการเติบโตอย่างรวดเร็วของ SDK ข้ามแพลตฟอร์มทําให้การทดสอบข้ามแพลตฟอร์มและการทดสอบการผสานรวมเพิ่มขึ้นอย่างรวดเร็ว วิธีทดสอบความสามารถในการทํางานร่วมกันระหว่าง SDK ต่างๆ บนแพลตฟอร์มต่างๆ โดยอัตโนมัติกลายเป็นปัญหาใหญ่ ในการพูดคุยนี้ เราจะนําเสนอเฟรมเวิร์กการทดสอบแบบข้ามแพลตฟอร์มโดยอัตโนมัติและแบบหลายอุปกรณ์ ของเฟรมเวิร์ก IATF ซึ่งสามารถนําไปใช้สําหรับการทดสอบ SDK ข้ามแพลตฟอร์มและแบบหลายอุปกรณ์ซึ่งจําเป็นต้องมีการสื่อสารในแพลตฟอร์มต่างๆ

การใช้การวิเคราะห์แนวคิดแบบทางการในการทดสอบซอฟต์แวร์

Fedor Strok (Yandex/NRU HSE)

ลิงก์: วิดีโอ, สไลด์

Formal Concept Analysis มอบกล่องเครื่องมือสําหรับสร้างวิทยาเขตอย่างเป็นทางการในชุดวัตถุพร้อมคําอธิบาย (แสดงเป็นชุดแอตทริบิวต์) ทฤษฎีพีชคณิตสาขานี้เปิดตัวในปี 1984 และปัจจุบันถูกนําไปใช้ในงานทําเหมืองข้อมูลที่หลากหลาย การพูดคุยนี้จะเน้นที่เทคนิคซึ่งอาจมีประโยชน์เป็นพิเศษสําหรับการทดสอบซอฟต์แวร์ ซึ่งได้แก่ การใช้ออนโทโลยีที่เป็นทางการสําหรับรายงานการทดสอบที่สะดวก และการรับกรณีทดสอบแบบกึ่งอัตโนมัติ

การทดสอบที่ไม่สม่ําเสมอในการผสานรวมแบบต่อเนื่อง: วิธีปฏิบัติในปัจจุบันที่ Google และเส้นทางในอนาคต

John Micco (Google)

และ

Atif Memon (University of Maryland, College Park)

ลิงก์: วิดีโอ, สไลด์

Google มีคลังข้อมูลการทดสอบจํานวนมากที่เราทํางานอย่างต่อเนื่องในระบบการผสานรวมขนาดใหญ่อย่างต่อเนื่อง เมื่อดูที่ข้อมูลนี้ เราพบว่าการทดสอบที่ไม่สม่ําเสมอจะทําให้เราเสียประโยชน์ในหลายๆ มิติข้อมูลไปในหลายๆ ด้าน เรากําลังทํางานเพื่อปรับปรุงความสามารถของเราในการทําความเข้าใจผลกระทบ ตรวจจับ และลดความไม่สม่ําเสมอที่เราพบในระบบของเรา

ประสบการณ์ของนักพัฒนาซอฟต์แวร์ FTW!

Niranjan Tulpule (Google)

ลิงก์: วิดีโอ, สไลด์

โครงการทดสอบ Geo Dispersed Test Farm แบบ Docker - ทดสอบ Infrastructure Practice ในโปรแกรม Intel Android

Jerry Yu (Intel) และ Guobing Chen (Intel)

ลิงก์: วิดีโอ, สไลด์

OpenHTF - เฟรมเวิร์กการทดสอบฮาร์ดแวร์โอเพนซอร์ส

Joe Ethier (Google) และ John Hawley (Google)

ลิงก์: วิดีโอ, สไลด์

สั่งให้สร้างการทดสอบเพื่อตรวจหาประสิทธิภาพของการวนลูป

Monika Dhok (สถาบันวิทยาศาสตร์อินเดีย)

ลิงก์: วิดีโอ, สไลด์

การวนรอบที่ซ้ําซ้อนถูกระบุว่าเป็นที่มาของข้อบกพร่องด้านประสิทธิภาพในไลบรารี Java หลายๆ แห่ง ซึ่งส่งผลให้การออกแบบเทคนิคการวิเคราะห์แบบคงที่และแบบไดนามิกตรวจหาข้อบกพร่องของประสิทธิภาพเหล่านี้โดยอัตโนมัติ อย่างไรก็ตาม แม้ว่าการวิเคราะห์แบบไดนามิกจะอาศัยการทดสอบอินพุตที่มีการวิเคราะห์ แต่การวิเคราะห์แบบคงที่จะมีประสิทธิภาพน้อยกว่าในการตรวจสอบการเกิดปัญหาเหล่านี้โดยอัตโนมัติ ตรวจสอบความถูกต้องของการแก้ไข และหลีกเลี่ยงความถดถอยในเวอร์ชันถัดๆ ไป เราใช้วิธีการใหม่เพื่อสร้างการทดสอบโดยอัตโนมัติเพื่อตรวจหาความไร้ประสิทธิภาพของการวนซ้ําในไลบรารี Java การบรรยายนี้จะให้ภาพรวมคร่าวๆ เกี่ยวกับงานนี้

ต้องการเวลา - ทดสอบการทํางานอัตโนมัติจาก 3 ชั่วโมงเป็น 3 นาที

Emanuil Slavov (Komfo Inc)

ลิงก์: วิดีโอ, สไลด์

การทดสอบอัตโนมัติระดับสูงทั้งหมดทําได้ช้าสําหรับสภาพแวดล้อมที่เน้นอย่างรวดเร็วและเป็นลําดับแรกในวันนี้ นี่คือ ช้างที่อยู่ในห้องซึ่งไม่มีใครสนใจ และด้วยเหตุผลที่เหมาะสม การได้มาซึ่งการทดสอบอัตโนมัติที่รวดเร็ว เชื่อถือได้ และมีประโยชน์นั้นเป็นงานหนัก อย่างไรก็ตาม คุณไม่มีทางเลือก การทดสอบอัตโนมัติที่ช้าจะช่วยให้ลูกค้าได้รับการจัดส่งที่เร็วขึ้น ที่ Komfo เราได้ทําการทดสอบเป็นเวลานานกว่า 3 ชั่วโมงทุกคืน ระยะเวลาดําเนินการยังคงเพิ่มขึ้นเรื่อยๆ การทดสอบทํางานไม่เสถียรและนํามาใช้เป็นลูปความคิดเห็นไม่ได้ เมื่อถึงจุดหนึ่ง การทดสอบก็ไม่สําเร็จเป็นเวลานานกว่า 20 วันติดต่อกัน ข้อบกพร่องของการถดถอยเริ่มปรากฏในเวอร์ชันที่ใช้งานจริง เราตัดสินใจที่จะหยุดความบ้าคลั่งนี้ และหลังจากความพยายามและอุทิศตนอย่างหนัก ปัจจุบันการทดสอบลักษณะเดียวกันนี้ก็ใช้เวลาไม่ถึง 3 นาที นี่คือเรื่องราวการปรับปรุงอย่างต่อเนื่องของการทดสอบที่เร็วขึ้น 60 เท่า

ความครอบคลุมของโค้ดคือตัวคาดการณ์ประสิทธิภาพที่มีประสิทธิภาพของการทดสอบในชีวิตจริงอย่างแท้จริง

Rahul Gopinath (มหาวิทยาลัยออริกอน)

ลิงก์: วิดีโอ, สไลด์

ClusterRunner: ทําให้การทดสอบความคิดเห็นเป็นไปอย่างรวดเร็วผ่านการปรับขนาดในแนวนอน

Taejun Lee (Box Inc) และ Joseph Harrington (Box Inc)

ลิงก์: วิดีโอ, สไลด์

Box ใช้การทดสอบหน่วยและการผสานรวมประมาณ 30 ชั่วโมงในทุกๆ คอมมิต เราโหลดพร้อมกันให้ทํางานภายในเวลาไม่ถึง 17 นาทีโดยใช้แพลตฟอร์มการกระจายการทดสอบแบบโอเพนซอร์สชื่อ ClusterRunner ทําไม Box จึงมีการทดสอบมากมาย ClusterRunner ทํางานอย่างไร คุณสามารถตั้งค่า ClusterRunner สําหรับการทดสอบของคุณเองได้ง่ายหรือไม่ (สปอยล์: ใช่) ClusterRunner ให้ผลตอบกลับการทดสอบที่รวดเร็วอย่างเหลือเชื่อ ด้วยการทดสอบพร้อมกันในโฮสต์เดียวและแจกจ่ายไปยังโฮสต์หลายแห่ง พัฒนาขึ้นโดยทีมวิศวกรรมประสิทธิภาพการทํางานของ Box เราใช้ ClusterRunner เป็นการภายใน เพื่อทําการทดสอบแบบไม่น้อยกว่า 30 ชั่วโมงเชิงเส้นใน 17 นาที และเราทําแบบนั้นหลายร้อยครั้งทุกวัน ClusterRunner เป็นโปรแกรมที่เข้าใจได้โดยไม่จําเป็นต้องเข้าถึงแหล่งที่มาจากภาษาใดก็ได้ ดังนั้นคุณจะใช้ได้อย่างง่ายดายสําหรับ โปรเจ็กต์ของคุณเอง เราสร้าง ClusterRunner ขึ้นสําหรับทีมวิศวกรที่ประสบปัญหาความล่าช้าในการตอบสนองสําหรับการทดสอบเป็นเวลานานหรือโค้ดที่ทดสอบต่ํากว่า เราออกแบบขึ้นมาจากบนลงล่างเพื่อให้ใช้งานง่ายและผสานรวมกับระบบ CI ที่มีอยู่ได้ การทดสอบนี้จะบอกให้ทราบว่าการทดสอบใช้เวลาดําเนินการนานเพียงใด และจัดตารางเวลาการดําเนินการในอนาคตเพื่อให้ความคิดเห็นได้เร็วที่สุด คอมโพเนนต์ของ API จะสื่อสารผ่าน REST API ที่เป็นมิตร ซึ่งทําให้เข้าถึงได้และเข้าถึงได้ง่าย

การทดสอบการรวมระบบกับอุปกรณ์เคลื่อนที่และบริการที่หลากหลาย

Alexander Dorokhine (Google) และ Ang Li (Google)

ลิงก์: วิดีโอ, สไลด์

Mobly เป็นเฟรมเวิร์กแบบโอเพนซอร์สที่พัฒนาโดย Google สําหรับการทดสอบผลิตภัณฑ์ซึ่งต้องใช้การโต้ตอบระหว่างอุปกรณ์ต่างๆ เช่น แอปโซเชียล หรือการทดสอบที่ต้องมีการควบคุมสภาพแวดล้อมการทดสอบ เช่น การเชื่อมต่อ Wi-Fi เราจะอธิบายความแตกต่างระหว่างการทดสอบแบบหลายอุปกรณ์กับการทดสอบเฉพาะอุปกรณ์ และปัญหาเฉพาะตัว เช่น การซิงค์และโฟลว์ของโค้ดระหว่างอุปกรณ์ประเภทต่างๆ และ Mobly แก้ปัญหาอย่างไร

สเกลเทียบกับค่า: การทดสอบอัตโนมัติที่ BBC

Jitesh Gosai (BBC) และ David Buckhurst (BBC)

ลิงก์: วิดีโอ, สไลด์

เราสร้างระบบคลาวด์ในอุปกรณ์แบบโอเพนซอร์สของบริษัทเพื่อปรับขนาดการทดสอบแอปพลิเคชันบนอุปกรณ์เคลื่อนที่และทีวี แต่จากนั้นเราก็เติบโตอย่างรวดเร็วจนเป็นสัตว์ประหลาดที่บังคับให้เราเปลี่ยนแนวทางการทํางานอัตโนมัติไปเป็นแบบอัตโนมัติ และดูความสมดุลที่ถูกต้องระหว่างการปรับขนาดและมูลค่า ดูวิธีที่เราแก้ไขความท้าทายในการทดสอบอุปกรณ์ด้วยระบบอัตโนมัติที่มุ่งเน้นและการเป็นเจ้าของร่วมกัน พร้อมค้นพบวิธีสร้างระบบคลาวด์ในอุปกรณ์ของตนเองและใช้ประโยชน์จากเครื่องมือโอเพนซอร์สของเรา

การค้นหาข้อบกพร่องในไลบรารี C++ โดยใช้ LibFuzzer

Kostya Serebryany (Google)

ลิงก์: วิดีโอ, สไลด์

ฉันจะเรียนรู้วิธีทดสอบเซิร์ฟเวอร์ขัดข้องได้อย่างไร

Jonathan Abrahams (MongoDB)

ลิงก์: วิดีโอ, สไลด์

เรียนรู้ว่าเราทดสอบความแข็งแกร่งของเซิร์ฟเวอร์ MongoDB เพื่อเอาชีวิตรอดในสถานการณ์ต่างๆ ของระบบได้อย่างไร ดูวิธีที่เราทําให้เซิร์ฟเวอร์ที่ขัดข้องบนระบบปฏิบัติการและการกําหนดค่าโฮสต์ทุกประเภท (ทางกายภาพหรือเสมือน) เป็นแบบอัตโนมัติ