GTAC 2013: Ngày thuyết trình 1

Nhận xét mở đầu

Tony Voellm (Google)

Bài phát biểu khai mạc – Sự phát triển từ giai đoạn Đảm bảo chất lượng cho đến Kỹ thuật kiểm thử

Ari Shamash (Google)

Bạn đã tạo một ứng dụng. Bạn đã phát hành ứng dụng này. Bạn nghĩ mình sẽ mua sản phẩm ở đó, xây dựng một khối lượng công việc, nhận một khoản tiền tài trợ, vứt bỏ hết rồi sau đó bắt đầu từ đầu để bạn có thể "làm đúng". Tuy nhiên, nhu cầu sử dụng các tính năng mới rất cao nhưng giờ đây, bạn đang được yêu cầu đẩy nhanh quy mô chưa từng có với tốc độ chưa từng có. Rất tiếc! Sau đó thì sao?

Bạn không thể loại bỏ nội dung gốc và bắt đầu từ đầu, bạn chỉ cần phát triển những tính năng bạn có, trong khi tiếp tục thêm các tính năng chất lượng cao với tốc độ ngoạn mục. Ngoài ra, bạn cần đảm bảo những gì đã có không bị lỗi. Bạn sẽ làm những gì? May mắn thay, một lĩnh vực mới đang hình thành trong ngành kỹ thuật phần mềm giải quyết tình huống phổ biến này: tại Google, chúng tôi gọi đây là "kỹ thuật thử nghiệm".

Buổi trò chuyện này sẽ tập trung vào khái niệm kỹ thuật thử nghiệm, quá trình phát triển từ quá trình đảm bảo chất lượng và toàn bộ ngành đã triển khai kỹ thuật thử nghiệm (kèm theo ví dụ cụ thể về cách triển khai kỹ thuật này tại Google).

Hệ thống thử nghiệm trên quy mô lớn @Twitter

James Waldrop (Twitter)

James sẽ thảo luận về các công cụ, quy trình và triết lý dùng để kiểm tra hiệu suất tại Twitter. Đặc biệt, thư viện thử nghiệm nguồn mở Iago sẽ được xây dựng dựa trên thư viện nguồn mở của Iago để các nhóm kỹ thuật của Twitter có thể thực hiện thử nghiệm tải trước khi triển khai mã trên môi trường thực tế. Buổi trò chuyện này sẽ đi sâu vào chi tiết triển khai của một số bài kiểm thử (bao gồm cả mã nguồn) và cách quản lý các yếu tố phức tạp như OAuth và các giao thức Tiết kiệm tuỳ ý.

Bạn kiểm tra hệ điều hành di động bằng cách nào?

David Burns (Mozilla) và Malini Das (Mozilla)

Đây là vấn đề đã gặp phải Mozilla khi chúng tôi quyết định bước vào thế giới của FirefoxOS. Bắt đầu từ đâu và làm như thế nào để chứng minh một nhiệm vụ thú vị. Hãy cùng lắng nghe cách chúng tôi giải quyết vấn đề này và cách chúng tôi tạo ra một khuôn khổ mới.

Tự động hoá thiết bị di động trong quy trình phân phối liên tục

Igor Dorovskikh (Expedia) và Kaustubh Gawande (Expedia)

Expedia bắt đầu đầu tư vào Web dành cho thiết bị di động và ứng dụng iOS/Android vào đầu năm 2012. Đồng thời, các Kỹ sư kiểm thử bắt đầu phát triển các giải pháp tự động hoá kiểm thử để cải thiện chất lượng và khả năng kiểm thử của sản phẩm ngay từ đầu. Trong buổi nói chuyện này, chúng tôi sẽ chia sẻ kinh nghiệm và kiến thức của mình trong việc sử dụng các công cụ nguồn mở để xây dựng quy trình kiểm tra tự động trong quá trình phát triển Agile và môi trường phân phối liên tục của Expedia. Chúng ta sẽ thảo luận về Kim tự tháp kiểm thử và tìm hiểu kỹ hơn về những công cụ nguồn mở cụ thể đã mang lại hiệu quả cho chúng ta. Một số công cụ mã nguồn mở mà chúng tôi sử dụng là các công cụ BDD như Cucumber, công cụ tự động hoá web Selenium-WebDriver, công cụ tự động hoá iOS Frank, các công cụ tự động hoá Android Robotsium và Calabash, và hệ thống Tích hợp liên tục Jenkins. Ngoài ra, chúng tôi sẽ chia sẻ một số nguyên tắc phân phối Agile mà chúng tôi cố gắng áp dụng như TDD, Lập trình cặp, Xây dựng và Bộ tản nhiệt kiểm thử. Cuối cùng, chúng tôi sẽ chia sẻ một số lợi ích đã nhận được từ khoản đầu tư vào Agile và tính năng tự động hoá thử nghiệm cũng như cách chúng tôi đạt được các mục tiêu Phân phối liên tục.

Kiểm thử hộp giải mã tín hiệu số tự động bằng GStreamer và OpenCV

David Röthlisberger (Bạn xem)

Chúng tôi sẽ xây dựng một hệ thống nhận dạng hình ảnh quay video trong 3 phút bằng cách sử dụng các công cụ dòng lệnh và OpenCV của GStreamer. (GStreamer là một khung xử lý nội dung đa phương tiện nguồn mở; OpenCV — "OpenComputer Vision" — là một thư viện xử lý hình ảnh nguồn mở.)

Ví dụ hàng đầu về hệ thống như vậy là http://stb-tester.com, một công cụ nguồn mở được phát triển tại YouView để tự động hoá việc kiểm thử giao diện người dùng cho các hộp giải mã tín hiệu số. Chúng tôi sẽ mô tả stb-tester, tính linh hoạt do GStreamer cung cấp, cơ hội mà nó mở ra và những thách thức phía trước.

Webdriver dành cho Chrome

Ken Kania (Google)

Kể từ khởi đầu, đây là trình duyệt chỉ dành cho Windows, Chrome đã mở rộng sang Mac, Linux, ChromeOS và gần đây nhất là Android và iOS. Hoạt động kiểm thử ứng dụng web ở cấp người dùng trên các nền tảng này đã trở nên khó khăn và đòi hỏi nhiều phương pháp tự động hoá. Buổi trò chuyện này sẽ mô tả công việc mà nhóm Chrome đang thực hiện để cung cấp WebDriver cho Chrome trên tất cả các nền tảng. Việc này sẽ bao gồm tìm hiểu kỹ thuật về phương pháp cơ bản nhưng sẽ tập trung vào cách nhà phát triển có thể sử dụng ChromeDriver mới để viết thử nghiệm cho các nền tảng khác nhau của Chrome. Ngoài ra, chúng tôi cũng sẽ trình bày về trạng thái hiện tại của dự án và lộ trình phát triển dự án.

Karma – Trình chạy kiểm thử cho JavaScript

Vojta Jina (Google)

Giới thiệu về Karma - trình chạy kiểm thử giúp việc kiểm thử các ứng dụng JavaScript trong trình duyệt thực trở nên dễ dàng và thú vị.

Việc kiểm thử là không bắt buộc khi ứng dụng JavaScript đang xây dựng phải hoạt động trên nhiều trình duyệt và thiết bị. Tuy nhiên, việc thực thi kiểm thử trong tất cả các môi trường khác nhau này không hề đơn giản. Karma biến công việc thường khó khăn này thành một chiếc bánh. Công cụ này cho phép bạn thực thi các thử nghiệm JavaScript trong các trình duyệt hoặc thiết bị thực như điện thoại hoặc máy tính bảng trực tiếp từ thiết bị đầu cuối hoặc IDE mà bạn yêu thích.

Đo lường chất lượng video tự động

Patrik Höglund (Google)

Có, bạn có thể tự động thử nghiệm các phép đo phức tạp và chủ quan như chất lượng video! Buổi trò chuyện này sẽ trình bày cách chúng tôi thực hiện thử nghiệm liên tục, tự động toàn diện cho cuộc gọi video WebRTC. Chúng ta sẽ tìm hiểu về chuỗi công cụ này và tìm hiểu những thách thức mà chúng tôi gặp phải trong quá trình xây dựng chuỗi công cụ này. Việc này rất phù hợp nếu bạn muốn truyền cảm hứng để thử nghiệm nội dung nghe nhìn lên một tầm cao mới.

Khi những điều xấu xảy ra với những ứng dụng tốt...

Nhị phân sai (Netflix)

Sự bùng nổ của điện toán di động và máy tính bảng đã làm xáo trộn ngành công nghiệp phần mềm với các nền tảng phát triển ứng dụng. Phát triển ứng dụng dành cho người tiêu dùng trên các nền tảng điện toán mang lại trải nghiệm kỳ diệu của riêng họ cho người dùng cuối. Các công ty phần mềm làm việc trực tiếp với người tiêu dùng luôn cố gắng hỗ trợ tốt nhất khi phát triển một ứng dụng dành cho các nền tảng này. Tuy nhiên, thách thức lớn nhất trong việc phát triển ứng dụng chỉ bắt đầu sau khi các công ty triển khai phiên bản đầu tiên của ứng dụng. Người tiêu dùng và các công ty phần mềm muốn có những tính năng và chức năng mới nhất trong quá trình phát triển càng sớm càng tốt với chất lượng cao nhất. Điều này dẫn đến việc người dùng rời bỏ mã liên tục trong mọi lớp của ngăn xếp. Các kỹ sư tự động hoá giao diện người dùng xây dựng nhiều hệ thống phát hiện để sớm phát hiện vấn đề. Trong cuộc trò chuyện này, tôi sẽ chia sẻ một số thách thức và thành công của chúng tôi đằng sau một hệ thống phát hiện như vậy, các hệ thống này đã giúp tìm ra vấn đề bên ngoài lớp ứng dụng nhưng vẫn tác động tiêu cực đến trải nghiệm người dùng.

Kiểm thử trò chơi giáo dục và trò chơi giáo dục để kiểm thử

Tao Xie (Đại học Bang North Carolina)

Buổi nói chuyện này trình bày Pex4Fun (http://www.pexforfun.com/), nhằm tận dụng tính năng tạo thử nghiệm tự động để làm cơ sở cho việc chấm điểm tự động trong hệ thống lập trình trực tuyến có thể mở rộng quy mô lên đến hàng trăm nghìn người dùng. Công cụ này mang đến trải nghiệm chơi trò chơi lập trình bên ngoài lớp học, đào tạo người dùng học nhiều kỹ năng lập trình và kỹ thuật phần mềm, bao gồm cả kỹ năng kiểm thử như viết kiểm thử đơn vị có tham số. Pex4Fun góp phần quan trọng vào vấn đề đã được biết về việc chấm điểm bài tập, cũng như cung cấp trải nghiệm học tập thú vị dựa trên trò chơi tương tác. Pex4Fun đã trở nên phổ biến trong cộng đồng: kể từ khi được phát hành ra công chúng vào tháng 6 năm 2010, số lượt nhấp vào nút "Ask Pex!" (cho thấy những nỗ lực của người dùng để giải quyết các trò chơi tại Pex4Fun) đã đạt hơn một triệu vào đầu năm 2013.

Bài phát biểu bế mạc – Cách Facebook thử nghiệm Facebook trên Android

Simon Stewart (Facebook)

Facebook là một trong những ứng dụng Android phổ biến nhất. Trong cuộc trò chuyện này, bạn sẽ tìm thấy thông tin về Facebook để đảm bảo mỗi bản phát hành đều hiệu quả nhất có thể. Chúng ta sẽ đề cập đến mọi thứ, từ cách chúng ta quản lý mã, thông qua các phương pháp thử nghiệm và tất cả các phương pháp cho đến nội dung thử nghiệm nội bộ.