GTAC 2014: Bản trình bày

Tất cả bản ghi và trang trình bày video GTAC 2014 đều được cung cấp công khai. Bạn có thể xem các video đó trong danh sách phát YouTube trên GAC 2014 hoặc duyệt qua các cuộc trò chuyện dưới đây:

Nhận xét mở đầu

Sonal Shah (Google)

Phần mở đầu: Bài phát biểu ngắn gọn và di chuyển nhanh chóng

Ankit Mehta (Google)

Đường liên kết: Video, Trang trình bày

Công nghệ tự động hoá giúp web hoạt động tốt hơn

James Graham (Mozilla)

Web là nền tảng ứng dụng phổ biến nhất thế giới, nhưng khả năng tương tác của trình duyệt kém là nguyên nhân quá phổ biến gây ra sự thất vọng và thất vọng cho các nhà phát triển web. Để thử cải thiện tình trạng này, W3C đã hỗ trợ một cộng đồng nỗ lực để tạo ra một bộ công cụ kiểm thử được cập nhật liên tục, trên nhiều trình duyệt cho web mở; quy trình kiểm tra nền tảng web. Trong buổi nói chuyện này, James sẽ giới thiệu các quy trình kiểm tra về nền tảng web và mô tả các công cụ mà chúng tôi đã tạo ra để thúc đẩy quá trình tự động kiểm tra trong nhiều trình duyệt trên máy tính và trên thiết bị di động chạy Firefox OS. Anh ấy sẽ cho thấy cách phần mềm này được thiết kế để đáp ứng những thách thức trong việc chạy một bộ thử nghiệm có nguồn gốc bên ngoài và thường xuyên được cập nhật, thử nghiệm hàng trăm thay đổi mỗi ngày trong hệ thống tích hợp liên tục của Mozilla.

Đường liên kết: Video, Trang trình bày

Biến Chrome thành trình duyệt tốt nhất trên thiết bị di động

Karin Lundberg (Google)

Một trong những lý do thành công của Chrome là nguyên tắc cốt lõi về tốc độ, độ ổn định, sự đơn giản và tính bảo mật (4 S). Khi phát hành Chrome dành cho Android và iOS, chúng tôi không chỉ áp dụng 4 S cho trình duyệt mà còn áp dụng cho cách chúng tôi kiểm thử tự động và loại kiểm thử mà chúng tôi chạy:

  • Tốc độ là để kiểm tra hiệu suất và kiểm tra nhanh.
  • Độ ổn định là để kiểm thử độ ổn định và kiểm thử ổn định.
  • Sự đơn giản là để kiểm tra xem Chrome có trải nghiệm người dùng đơn giản cũng như để dễ dàng thêm và chạy thử nghiệm.
  • Khả năng bảo mật là để kiểm tra bảo mật.

Đường liên kết: Video, Trang trình bày

Ngôn ngữ tự động hoá kiểm thử cho các mô hình hành vi

Nan Li (Giải pháp dữ liệu trung bình)

Người kiểm thử dựa trên mô hình sẽ thiết kế các bài kiểm thử trừu tượng về mô hình, chẳng hạn như đường dẫn trong biểu đồ. Sau đó, bạn cần chuyển đổi các thử nghiệm trừu tượng thành các thử nghiệm cụ thể (đã xác định về mặt triển khai). Việc chuyển đổi từ thử nghiệm trừu tượng sang thử nghiệm cụ thể phải được tự động hóa. Các kỹ thuật kiểm thử dựa trên mô hình hiện có dành cho mô hình hành vi sẽ sử dụng nhiều sơ đồ bổ sung như sơ đồ lớp và sơ đồ trường hợp sử dụng để chuyển đổi và tạo kiểm thử. Rất phức tạp khi sử dụng trong thực tế vì người kiểm thử phải liên tục thay đổi tất cả các sơ đồ liên quan, ngay cả khi thường xuyên thay đổi các yêu cầu.

Buổi trò chuyện này ra mắt ngôn ngữ tự động hoá kiểm thử, cho phép người kiểm thử tạo các bài kiểm thử bằng cách chỉ sử dụng một mô hình hành vi như sơ đồ máy trạng thái. Ba vấn đề sẽ được giải quyết: (1) tạo mối liên kết từ các mô hình đến mã thử nghiệm thực thi và tạo các giá trị thử nghiệm, (2) biến đổi biểu đồ và sử dụng các tiêu chí phạm vi để tạo các đường dẫn thử nghiệm, và (3) giải quyết các ràng buộc và tạo ra các thử nghiệm cụ thể.

Đường liên kết: Video, Trang trình bày

Kiểm tra phạm vi tại Google

Andrei Chirila (Google)

Bạn có bao giờ tự hỏi thử nghiệm của Google sẽ trông như thế nào không? Những công cụ mà chúng tôi sử dụng để hỗ trợ cho công việc này thông qua việc đo lường và xử lý phạm vi kiểm thử như thế nào? Chúng ta sẽ mô tả ngắn gọn quy trình phát triển tại Google, sau đó tập trung vào việc sử dụng tính năng đo lường mức độ sử dụng mã và cách chúng ta sử dụng mức độ bao phủ của mã để cải thiện chất lượng mã và năng suất về mặt kỹ thuật. Cuối cùng, chúng tôi sẽ trình bày số lượng lớn dữ liệu về phạm vi bao phủ, bao gồm hơn 100.000 thay đổi, chúng tôi đã thu thập và một số kết luận có thể áp dụng rộng rãi hơn mà chúng tôi đã đạt được.

Đường liên kết: Video, Trang trình bày

CATJS: Ứng dụng tự kiểm tra

Ran Snir (HP) và Lior Reuven (HP)

Những năm qua, chúng tôi nhận thấy có nhiều điểm bất thường đã thay đổi cách chúng ta nghĩ về thế giới điện toán. Có những máy in 3d in máy in 3d, các rô bốt tự suy nghĩ và sau đó chúng ta có Catjs.

Catjs là một khung Nguồn mở giúp bổ sung khả năng tự kiểm thử cho các ứng dụng web dành cho thiết bị di động. Các chú thích đơn giản trong mã HTML5 của bạn sẽ được chuyển đổi sang các tập lệnh thử nghiệm được nhúng trong vòng đời của ứng dụng. Các chương trình kiểm thử web dành cho thiết bị di động này có thể chạy trên mọi thiết bị, hệ điều hành và trình duyệt. Catjs là một cách nhanh chóng và dễ dàng để xử lý quy trình kiểm thử của ứng dụng.

Đường liên kết: Video, Trang trình bày

Tích hợp liên tục có thể mở rộng – Sử dụng nguồn mở

Vishal Arora (Dropbox)

Nhiều công cụ nguồn mở hiện có để tích hợp liên tục (CI). Chỉ một số ít có thể hoạt động hiệu quả trên quy mô lớn. Và hầu như không có công cụ nào được xây dựng để mở rộng quy mô trong môi trường phân tán. Hãy cùng tìm hiểu về những thách thức trong việc triển khai CI trên quy mô lớn và một cách để tập hợp các mảnh nguồn mở nhằm nhanh chóng xây dựng hệ thống CI có thể mở rộng và được phân phối của riêng bạn.

Đường liên kết: Video, Trang trình bày

Tôi không thử nghiệm thường xuyên ... Nhưng khi tôi làm thì tôi thử nghiệm trong khi sản xuất

Gareth Bowles (Netflix)

Mỗi ngày, Netflix có nhiều khách hàng sử dụng nhiều nội dung hơn trên ngày càng nhiều thiết bị khách. Chúng tôi cũng liên tục cải tiến để nâng cao trải nghiệm cho khách hàng. Việc thử nghiệm trong môi trường thay đổi nhanh chóng này là một thách thức lớn. Chúng tôi kết luận rằng việc chạy thử nghiệm trong môi trường sản xuất thường là cách hiệu quả nhất để xác thực những thay đổi đó. Buổi trò chuyện này sẽ đề cập đến 3 phương pháp thử nghiệm mà chúng tôi sử dụng trong quá trình sản xuất: mô phỏng tất cả các loại sự cố ngừng hoạt động của Quân đội Simian, tìm kiếm hồi quy bằng canary và đo lường hiệu quả thử nghiệm bằng phân tích mức độ bao phủ của mã từ quá trình sản xuất.

Đường liên kết: Video, Trang trình bày

Tầm quan trọng của việc kiểm thử tự động trên thiết bị di động thực và thiết bị di động ảo

Jay Srinivasan (Google) và Manish Lachwani (Google)

So với thế giới web, thử nghiệm trên thiết bị di động là một bãi mìn. Từ các thiết bị, hệ điều hành, mạng và vị trí khác nhau, dường như có vô số biến mà nhà phát triển phải tính đến. Trong buổi đào tạo này, chúng ta sẽ thảo luận về một số thách thức riêng trong việc tối ưu hoá hiệu suất và chất lượng của ứng dụng, cũng như chiến lược giải quyết những thách thức này, trong đó có nhu cầu tự động hoá, thiết bị thực và điều kiện người dùng thực.

Đường liên kết: Video, Trang trình bày

Thử nghiệm miễn phí tốt hơn so với chuối miễn phí: Sử dụng công cụ khai thác dữ liệu và công nghệ máy học để tự động hoá việc giám sát hoạt động sản xuất theo thời gian thực

Celal Ziftci (Google)

Ngày càng có nhiều người quan tâm đến việc tận dụng kỹ thuật khai thác dữ liệu và máy học trong việc phân tích, bảo trì và thử nghiệm hệ thống phần mềm. Trong cuộc trò chuyện này, Celal sẽ thảo luận về cách chúng tôi sử dụng những kỹ thuật như vậy để tự động khai thác các bất biến của hệ thống, sử dụng những bất biến đó để giám sát hệ thống theo thời gian thực và cảnh báo cho các kỹ sư về bất kỳ sự cố sản xuất tiềm ẩn nào trong vòng vài phút.

Buổi trò chuyện này sẽ bao gồm hai công cụ mà chúng tôi sử dụng trong nội bộ và cách chúng tôi kết hợp các công cụ này để cung cấp miễn phí dịch vụ giám sát sản xuất theo thời gian thực cho các kỹ sư:

  1. Một công cụ có thể khai thác các bất biến của hệ thống.
  2. Một công cụ giám sát các hệ thống sản xuất và sử dụng công cụ đầu tiên này để tự động tạo ra một phần logic dùng để xác định các vấn đề tiềm ẩn theo thời gian thực.

Đường liên kết: Video, Trang trình bày

Kiểm thử tính năng tự động hoá trên hộp giải mã tín hiệu số hồng ngoại

Olivier Etienne (Cam)

Buổi trò chuyện này sẽ giải thích bối cảnh của Ứng dụng TV là gì và các loại vấn đề mà chúng tôi có thể gặp phải khi cố gắng tự động hoá mọi thứ. Olivier sẽ trải qua các thất bại trước đó, cách tiếp cận của họ và những điểm chính cần làm để xây dựng một công cụ thử nghiệm tự động. Nếu có thời gian, anh sẽ đi sâu hơn vào chi tiết triển khai.

Hãy lắng nghe cách một số người bán và một số dòng mã đã mở ra thế giới thử nghiệm web phong phú cho hộp giải mã tín hiệu số.

Đường liên kết: Video, Trang trình bày

Thách thức khi so sánh công bằng các nhà cung cấp dịch vụ đám mây và những việc chúng tôi đang làm để giải quyết vấn đề này

Anthony Voellm (Google)

Buổi trò chuyện này sẽ đề cập đến lịch sử đo điểm chuẩn từ khung chính đến Đám mây. Mục tiêu là đặt nền móng cho việc các điểm chuẩn bắt đầu như thế nào và cách họ đến được đích đến. Các ý tưởng sẽ được trình bày cho tương lai của dịch vụ đo điểm chuẩn trên đám mây và cách chúng tôi có thể thực hiện việc đó trong thực tế.

Đường liên kết: Video, Trang trình bày

Không bao giờ gửi cho con người để thực hiện công việc của máy: Cách Facebook sử dụng bot để quản lý hoạt động kiểm thử

Roy Williams (Facebook)

Facebook không có tổ chức thử nghiệm, các nhà phát triển sở hữu mọi thứ, từ việc viết mã cho đến thử nghiệm và chuyển nó vào môi trường thực tế. Điều đó không có nghĩa là chúng tôi không thử nghiệm! Để đạt được mục tiêu này, chúng tôi đã tự động hoá vòng đời thử nghiệm để đảm bảo tín hiệu luôn ở mức cao và có độ nhiễu thấp. Các thử nghiệm mới được coi là không đáng tin cậy và sự nhanh chóng được xoá khỏi cây. Chúng ta sẽ nói về những gì mang lại hiệu quả và những gì chưa xây dựng được lòng tin vào các thử nghiệm.

Đường liên kết: Video, Trang trình bày

Espresso, Spoon, Wiremock, Oh my! ( hoặc cách tôi biết cách ngừng lo lắng và yêu thích thử nghiệm Android )

Michael Bailey (Truyền hình Mỹ)

Tìm hiểu về cách tạo và thực thi các thử nghiệm giao diện người dùng tự động nhanh và đáng tin cậy trên Android. Các công cụ sẽ bao gồm Espresso, Spoon, Wiremock và Jenkins. Giả định rằng kiến thức phát triển Android và Java cơ bản sẽ được giả định.

Đường liên kết: Video, Trang trình bày

Analytics cho Google BigQuery

Brian Vance (Google)

BigQuery là dịch vụ dữ liệu lớn tương tác của Google Cloud. Người dùng có thể phân tích nhiều terabyte dữ liệu trong vài giây thông qua các truy vấn giống SQL. Công cụ này được xây dựng dựa trên Dremel, công cụ mà những người thử nghiệm của Google đã sử dụng trong nội bộ trong nhiều năm. Chúng tôi sẽ trình bày một vài ví dụ và hướng dẫn bạn cách bắt đầu sử dụng BigQuery.

Đường liên kết: Video, Trang trình bày

Selendroid – Selenium dành cho Android

Dominik Dary (Adobe)

Selendroid là khung tự động thử nghiệm nguồn mở giúp gia tăng giao diện người dùng của các ứng dụng gốc và kết hợp của Android cũng như web dành cho thiết bị di động. Các kiểm thử được viết bằng API ứng dụng Selenium 2. Để kiểm thử, bạn không cần sửa đổi ứng dụng đang kiểm thử để tự động hoá ứng dụng.

Bản trình bày này cho khán giả thấy việc thực hiện tự động hoá thử nghiệm trên thiết bị di động dễ dàng như thế nào. Hướng dẫn này cho biết cách sử dụng Selendroid để kiểm thử các ứng dụng Android gốc và kết hợp, cũng như cách sử dụng Selenium Grid để kiểm thử song song trên nhiều thiết bị. Các chủ đề nâng cao như mở rộng Selendroid trong thời gian chạy và thực hiện thử nghiệm nhiều nền tảng cũng sẽ được đề cập.

Đường liên kết: Video, Trang trình bày

Duy trì sự cân bằng trong thế giới siêu phương tiện

Amit Easow (Bản phát hành)

Khi Comcast đã phát triển từ một công ty cáp thành một nhà lãnh đạo công nghệ và truyền thông, các nhóm kỹ thuật cũng đã trở nên thông minh hơn. Khi Amit gia nhập Comcast Interactive Media (CIM) vào năm 2006, họ là một cửa hàng thử nghiệm thủ công. Sau khi công ty vận chuyển trang web đầu tiên vào năm 2007, ông bắt đầu tạo nguyên mẫu cho cơ sở hạ tầng kiểm thử giao diện người dùng tự động. Ông được giới thiệu đến Selenium tại GTAC năm 2008, sau đó quay lại Comcast để xây dựng một cơ sở hạ tầng thử nghiệm tự động với Selenium Grid, Hudson và Subversion. Hiện tại, anh làm việc trong quá trình thử nghiệm API với quá trình triển khai thực tế vào Sản xuất mỗi ngày trong tuần. Bạn có thể thực hiện việc này bằng Python, Git, Gerrit và Anthill.

Đường liên kết: Video, Trang trình bày

Nhanh chóng và an toàn hơn khi dùng MSL!

Bryan Robbins (FINRA) và Daniel Koo (FINRA)

Phân phối phần mềm nhanh hơn mà không ảnh hưởng đến chất lượng không phải là một nhiệm vụ nhỏ. Tất cả chúng ta đều muốn nhanh chóng phát triển bằng cách phát triển các thử nghiệm sớm và thực hiện thử nghiệm nhanh hơn, trong khi vẫn duy trì mức độ bảo trì tối thiểu. Tại FINRA, chúng tôi đã phát triển MSL (phát âm là "Missile") để cho phép các nhóm Agile tận dụng các kiến trúc phân lớp như MVC để kiểm thử mã giao diện người dùng nhanh hơn và riêng biệt hơn.

MSL hỗ trợ kiểm tra tích hợp mã giao diện người dùng (chẳng hạn như JavaScript, HTML, CSS) bằng cách triển khai cục bộ trên máy chủ Node.js và định cấu hình phản hồi HTTP mô phỏng từ mã thử nghiệm bằng cách sử dụng một trong các ứng dụng khách của chúng tôi (Java, JavaScript hoặc Node.js). Buổi trò chuyện này sẽ giới thiệu các tính năng chính của MSL và một số ví dụ.

Đường liên kết: Video, Trang trình bày

Trải nghiệm người dùng thử nghiệm

Alex Eagle (Google)

Các sản phẩm của Google phát hành thường xuyên và đòi hỏi phải có quá trình thử nghiệm tự động và "bản dựng". Chúng tôi hiện đang nỗ lực cung cấp cơ sở hạ tầng thử nghiệm trong Google Cloud Platform. Buổi trò chuyện này sẽ thảo luận một số phương pháp mà chúng tôi sử dụng để giữ cho các bản dựng của chúng tôi luôn xanh mát và không có lỗi về sản phẩm, đồng thời cung cấp thông tin sơ bộ về cách chúng tôi tiết lộ điều này cho cả thế giới.

Đường liên kết: Video, Trang trình bày

Trò chuyện trên bàn 1 - Thử nghiệm trên nhiều nền tảng di động

Đường liên kết: Video, Trang trình bày

Trò chuyện trên bàn 2 - Phạm vi tự động hóa tài liệu

Đường liên kết: Video, Trang trình bày

Tác động của cấu trúc cộng đồng đến hiệu suất của trình giải toán SAT

Zack Newsham (Đại học Waterloo)

Các trình giải quyết CDCL SAT hiện đại thường giải quyết các trường hợp SAT trong bản đồ rất lớn trong các khoảng thời gian tương đối ngắn. Rõ ràng là những trình giải quyết này bằng cách nào đó sẽ khai thác cấu trúc của các thực thể trong thế giới thực. Cho đến nay, vẫn có một số kết quả mô tả chính xác cấu trúc này. Trong bài viết này, chúng tôi sẽ cung cấp bằng chứng cho thấy rằng cộng đồng hiểu rằng các thực thể SAT trong thế giới thực tương quan với thời gian chạy của trình phân giải CDCL SAT. Chúng ta đã biết rằng những phiên bản SAT trong thế giới thực có một số cộng đồng tự nhiên trong đó. Cộng đồng là một biểu đồ phụ của biểu đồ của một bản sao SAT, cho thấy biểu đồ phụ này có nhiều cạnh bên trong hơn so với phần đi chung của biểu đồ. Cấu trúc cộng đồng của biểu đồ thường được mô tả bằng chỉ số chất lượng có tên là Q. Theo trực giác, một biểu đồ có độ ổn định về cộng đồng chất lượng cao (Q cao) dễ dàng phân tách thành các cộng đồng nhỏ hơn, trong khi biểu đồ có Q thấp thì không. Chúng tôi cung cấp ba kết quả dựa trên dữ liệu thực nghiệm cho thấy cấu trúc cộng đồng của các thực thể công nghiệp trong thế giới thực là một yếu tố dự đoán thời gian hoạt động của trình phân giải CDCL so với các yếu tố thường được xem xét khác như biến và mệnh đề. Đầu tiên, chúng tôi chỉ ra rằng có một mối tương quan mạnh mẽ giữa giá trị Q và chỉ số Khoảng cách khối theo chất lượng của các mệnh đề xung đột được sử dụng trong chính sách xoá mệnh đề trong các trình giải quyết như Glucose. Thứ hai, sử dụng phân tích hồi quy, chúng tôi cho thấy rằng số lượng cộng đồng và giá trị Q của biểu đồ của các thực thể SAT trong thế giới thực có nhiều dự đoán về thời gian chạy của trình giải quyết CDCL so với các chỉ số truyền thống như số lượng hoặc mệnh đề. Cuối cùng, chúng tôi cho thấy rằng các phiên bản SAT được tạo ngẫu nhiên với 0,05 ≤ Q ≤ 0,13 khó giải quyết hơn đáng kể so với các trình phân giải CDCL.

Đường liên kết: Video, Trang trình bày

Ngoài phạm vi bảo hiểm: Lưu trữ trong bộ thử nghiệm là gì?

Patrick Lam (Đại học Waterloo)

Tất cả chúng ta đều muốn các bộ thử nghiệm "tốt hơn". Tuy nhiên, điều gì tạo nên một bộ thử nghiệm tốt? Chắc chắn, các bộ thử nghiệm phải hướng đến phạm vi bao phủ tốt, ít nhất là ở mức độ bao phủ của tuyên bố. Để hữu ích, các bộ thử nghiệm phải chạy đủ nhanh để đưa ra ý kiến phản hồi kịp thời.

Buổi trò chuyện này sẽ điều tra một số phương diện khác để đánh giá các bộ thử nghiệm. Buổi nói chuyện này tuyên bố rằng các bộ kiểm thử tốt hơn sẽ dễ bảo trì hơn, dễ sử dụng hơn (ví dụ: vì các bộ này chạy nhanh hơn hoặc dùng ít tài nguyên hơn) và có ít lỗi không hợp lý hơn.

Đường liên kết: Video, Trang trình bày

Xây dựng môi trường xanh: Dọn dẹp môi trường di động độc hại

Thomas Knych (Google), Stefan Ramsauer (Google), Valera Zakharov (Google) và Vishal Sethia (Google)

Chúng tôi sẽ giới thiệu các công cụ và kỹ thuật để tạo môi trường thử nghiệm nhanh, ổn định, khép kín để thực thi các thử nghiệm Android ở cả chế độ phát triển tương tác và tích hợp liên tục. Điều này được xây dựng dựa trên bài nói chuyện cấp cao hơn mà chúng tôi đã trình bày tại GTAC cuối cùng.

Đường liên kết: Video, Trang trình bày