GTAC 2014: prezentacje

Wszystkie nagrania i slajdy z GTAC 2014 są dostępne publicznie. Można je obejrzeć na playliście GTAC 2014 w YouTube lub przejrzeć prezentacje poniżej:

Uwagi otwierające

Sona Shah (Google)

Prezentacja otwierająca – jak szybko się poruszać i nie łamać zabezpieczeń

Ankit Mehta (Google)

Linki: Wideo, Prezentacje

Automatyzacja w lepszym internecie

James Graham (Mozilla)

Internet to najpopularniejsza na świecie platforma aplikacji, ale w przypadku interoperacyjności przeglądarki zdarza się to często. Aby rozwiązać ten problem, organizacja W3C pomaga społecznościom produkować regularnie aktualizowany, działający w różnych przeglądarkach pakiet narzędzi do testów opartych na otwartych przeglądarkach internetowych. Testy platformy internetowej. W tym materiale James przedstawi internetowe testy platform internetowych i omówi narzędzia, które pozwalają na automatyzację testów w wielu przeglądarkach na komputerze i na urządzeniach mobilnych z systemem Firefox. Pokaże, jak korzystać z tego oprogramowania, aby sprostać wyzwaniom związanym z korzystaniem z zewnętrznych, często aktualizowanych, pakietów do testów w setkach zatwierdzeń dziennie w systemie ciągłej integracji Mozilla.

Linki: Wideo, Prezentacje

Ustawianie Chrome jako najlepszej przeglądarki mobilnej

Karin Lundberg (Google)

Jedną z przyczyn sukcesu Chrome są podstawowe zasady dotyczące szybkości, stabilności, prostoty i bezpieczeństwa (tzw. 4 S). Udostępniając Chrome na Androida i iOS, zastosowaliśmy nie tylko przeglądarki, ale także sposób automatycznego testowania i rodzaje testów:

  • Prędkość służy do testów wydajności i szybkich testów.
  • Stabilność oznacza testowanie stabilności i testów stabilnych.
  • Pozwala ona łatwo testować Chrome, a przy tym upraszcza obsługę oraz ułatwia dodawanie i uruchamianie testów.
  • Zabezpieczenia służą do testowania zabezpieczeń.

Linki: Wideo, Prezentacje

Testowy język automatyzacji na potrzeby modeli behawioralnych

Nan Li (rozwiązania Medidata)

Abstrakcyjni testerzy tworzą modele w formie abstrakcyjnych testów z uwzględnieniem modeli, takich jak ścieżki na wykresach. Następnie trzeba wykonać testy abstrakcyjne na konkretne, zdefiniowane w kontekście implementacji. Przekształcanie testów abstrakcyjnych w konkretne muszą być zautomatyzowane. Dotychczasowe metody testowania modeli behawioralnych oparte na modelach używają wielu dodatkowych diagramów, takich jak diagramy klas i przykłady przypadków użycia do przekształcania i generowania testów. Są one bardzo złożone w praktyce, ponieważ testerzy muszą pilnować, aby wszystkie powiązane diagramy były spójne nawet w przypadku częstych zmian wymagań.

W tym artykule omawiamy język automatyzacji testów, który pozwala testerom generować testy przy użyciu tylko jednego modelu behawioralnego, np. diagramu stanowego. Rozwiążemy 3 problemy: (1) mapowanie z modeli na kod wykonywalny i generowanie wartości testowych, (2) przekształcanie wykresów i wykorzystywanie kryteriów zasięgu do generowania ścieżek testów oraz (3) eliminowanie ograniczeń i generowanie konkretnych testów.

Linki: Wideo, Prezentacje

Zasięg testów w Google

Andrei Chirila (Google)

Zastanawiało Cię kiedyś, jak wyglądają testy w Google? Z jakich narzędzi korzystamy, aby nam pomóc, i w jaki sposób mierzymy zasięg testów i podejmujemy odpowiednie działania? Krótko omówimy proces programowania w Google, a potem skoncentrujemy się na korzystaniu z pomiaru zasięgu kodu oraz na jego wykorzystaniu do poprawy jakości kodu i zwiększania produktywności inżynierów. Na koniec prezentujemy obszerną ilość danych dotyczących pokrycia, które obejmują ponad 100 000 zobowiązań, zebranych przez nas wraz z bardziej ogólnymi ustaleniami.

Linki: Wideo, Prezentacje

CATJS: aplikacje testujące się

Ran Snir (HP) i Lior Reuven (HP)

W ostatnich latach zauważyliśmy wiele anomalii, które zmieniły nasze podejście do świata komputerów. Istnieją drukarki 3D, które drukują drukarki 3D, roboty, które same myślą, a potem mamy catjs.

catjs to platforma open source, która umożliwia testowanie aplikacji mobilnych. Proste adnotacje w kodzie HTML5 są tłumaczone na skrypty skryptu testowania umieszczonego w cyklu życia aplikacji. Testy w internecie mobilnym mogą się odbywać na dowolnych urządzeniach, w każdych systemach operacyjnych i w przeglądarkach. catjs to szybki i prosty sposób na przeprowadzenie testów w aplikacji.

Linki: Wideo, Prezentacje

Skalowalna, ciągła integracja – korzystanie z oprogramowania open source

Vishal Arora (Dropbox)

Dostępnych jest wiele narzędzi open source do ciągłej integracji (CI). Tylko kilka z nich działa na dużą skalę. Prawie żadne z nich nie są skalowane w środowisku rozproszonym. Poznaj wyzwania związane z wdrażaniem CI na dużą skalę i poznaj jeden sposób tworzenia oprogramowania open source, który pozwala szybko zbudować własny, skalowalny system CI.

Linki: Wideo, Prezentacje

Rzadko testuję ... Ale testuję w wersji produkcyjnej

Gareth Bowles (Netflix)

Każdego dnia Netflix odwiedza coraz więcej klientów korzystających z coraz większej liczby urządzeń. Stale też wprowadzamy innowacje, aby zwiększyć wygodę klientów. Testowanie w tak szybko zmieniającym się środowisku jest ogromnym wyzwaniem. Ustaliliśmy, że przeprowadzanie testów w środowisku produkcyjnym często jest najskuteczniejszym sposobem weryfikacji tych zmian. W tym wykładzie omówimy 3 metody testowe, których używamy w środowisku produkcyjnym: symulowanie wszystkich rodzajów przerw w działach Simian Armii, szukanie regresji za pomocą kanionów oraz pomiary skuteczności testów za pomocą analizy zasięgu kodu z środowiska produkcyjnego.

Linki: Wideo, Prezentacje

Znaczenie automatycznego testowania na rzeczywistych i wirtualnych urządzeniach mobilnych

Jay Srinivasan (Google) i Manish Lachwani (Google)

W porównaniu z internetem świat testów na telefonach komórkowych należy do min. Różne urządzenia, systemy operacyjne, sieci i lokalizacje muszą brać pod uwagę nieskończoną liczbę zmiennych. Podczas tej sesji edukacyjnej omówimy niektóre z wyjątkowych wyzwań, które pojawią się przy optymalizacji skuteczności i jakości aplikacji mobilnych, a także strategie rozwiązywania problemów, w tym potrzeby automatyzacji, prawdziwych urządzeń i rzeczywistych warunków użytkownika.

Linki: Wideo, Prezentacje

Bezpłatne testy są lepsze niż bezpłatne banany: wykorzystywanie eksploracji danych i systemów uczących się do automatyzacji monitorowania produkcji

Celal Ziftci (Google)

Coraz więcej osób korzysta z metod eksploracji i systemów uczących się przy analizie, konserwacji i testowaniu systemów oprogramowania. W tym materiale Celal opowie, jak wykorzystujemy te techniki, aby automatycznie wydobyć niezmienniki systemowe, wykorzystać je do monitorowania naszych systemów w czasie rzeczywistym oraz informować inżynierów o wszelkich potencjalnych problemach z produkcją w ciągu kilku minut.

W rozmowie będą brać udział 2 narzędzia, z których korzystamy wewnętrznie, i łączymy je w niemal bezpłatny sposób dla inżynierów w czasie rzeczywistym:

  1. Narzędzie, które potrafi kopać niezmienność systemu.
  2. Narzędzie, które monitoruje systemy produkcyjne i używa pierwszego narzędzia do automatycznego generowania części logiki, aby zidentyfikować potencjalne problemy w czasie rzeczywistym.

Linki: Wideo, Prezentacje

Testowanie automatyzacji na dekoderze na podczerwień

Olivier Etienne (pomarańczowy)

W tym artykule wyjaśniamy, czym jest kontekst aplikacji telewizyjnej, a także jakie problemy możemy napotkać, gdy chcemy zautomatyzować ten proces. Olivier zapozna się z poprzednimi błędami, podejściami i kluczowymi czynnikami, które pozwoliły utworzyć automatyczne narzędzie testowe. Jeśli pozwala na to czas, może przejść do szczegółów implementacji.

Zobacz, jak garść żołnierzy i kilka linijek kodu otworzyło się na dekoderach.

Linki: Wideo, Prezentacje

Wyzwanie uczciwe porównywania dostawców chmury i tego, co robimy w tej sytuacji

Anthony Voellm (Google)

Omówimy historię analizy z platformy mainframe do chmury. Celem tego jest określenie, od czego zaczynają się testy porównawcze i jak do nich dotarła. Pomysły przedstawione na przyszłość analizy porównawczej Cloud będą przedstawione w praktyce.

Linki: Wideo, Prezentacje

Nigdy nie wysyłaj zadania człowieka: jak Facebook używa botów do zarządzania testami

Roy Williams (Facebook)

Facebook nie ma organizacji testowej – deweloperzy mają wszystko – od pisania kodu po testowanie i rozszerzanie jego środowiska produkcyjnego. To nie znaczy, że nie testujemy! Stworzyliśmy tę skalę, automatyzując cykl życia testów, aby utrzymać wysoki sygnał i niski poziom szumu. Nowe testy są uznawane za niezaufane, a zrzut plasteliny jest szybko usuwany z drzewa. Porozmawiamy o tym, co się sprawdza, a co nie należy budować zaufania do testów.

Linki: Wideo, Prezentacje

Kawa espresso, łyżka, wiremock! ( Jak dowiedziałam się, żeby przestać się martwić i uwielbiam testować Androida)

Michael Bailey (American Express)

Dowiedz się więcej o tworzeniu i wykonywaniu szybkich i niezawodnych automatycznych testów UI Androida. Wśród narzędzi znajdują się espresso, łyżka, wiremock i jenkins. Zakładamy, że użytkownik ma podstawową wiedzę o programowaniu na Androida i język Java.

Linki: Wideo, Prezentacje

Analityka Google BigQuery

Brian Vance (Google)

BigQuery to interaktywna usługa big data w Google Cloud. Użytkownicy mogą analizować terabajty danych w ciągu kilku sekund za pomocą zapytań SQL. Został on stworzony na podstawie platformy Dremel, z której testerzy Google korzystają od lat wewnętrznie. Przyjrzymy się kilku przykładom i pokażemy, jak zacząć korzystać z BigQuery.

Linki: Wideo, Prezentacje

Selendroid – Selenium na Androida

Dominik Dary (Adobe)

Selendroid to platforma do automatyzacji testów open source, która wykorzystuje interfejs użytkownika aplikacji natywnych i hybrydowych na Androida oraz internet mobilny. Testy są tworzone za pomocą interfejsu API klienta Selenium 2. Do testów nie jest wymagana modyfikacja aplikacji w celu jej automatyzacji.

Ta prezentacja pokazuje, jak łatwo można zautomatyzować automatyzację testów mobilnych. Pokazuje ona, jak Selendroid może być używany do testowania natywnych i hybrydowych aplikacji na Androida oraz jak można go używać do testowania równoległego na wielu urządzeniach. Omówimy również rozwój tematów, np. wydłużenie czasu aktywności Selendroid w czasie działania oraz przeprowadzenie testów na wielu platformach.

Linki: Wideo, Prezentacje

Utrzymywanie porządku w hipermediach

Amit Easow (Comcast)

Z czasem, gdy firma Comcast stała się liderem branży mediów i technologii, zespoły inżynierów również stały się bardziej inteligentne. W 2006 roku Amit dołączył do Comcast Interactive Media (CIM) w sklepie do samodzielnego testowania. Gdy w 2007 roku firma wysłała swoją pierwszą witrynę, zaczęła tworzyć prototypy infrastruktury do automatycznego testowania UI. W 2008 r. rozpoczął pracę w Selenium, a następnie wrócił do firmy Comcast, aby stworzyć zautomatyzowaną infrastrukturę do testowania z użyciem narzędzi Selenium Grid, Hudson i Subversion. Obecnie pracuje nad testowaniem interfejsów API w środowisku produkcyjnym w każdy dzień powszedni. Jest to możliwe dzięki Pythonowi, Gitowi, Gerritowi i Anthillowi.

Linki: Wideo, Prezentacje

Szybko i bezpieczniej dzięki MSL!

Bryan Robbins (FINRA) i Daniel Koo (FINRA)

Szybsze dostarczanie oprogramowania bez obniżania jakości nie jest zadaniem łatwym. Wolimy się przyspieszyć, opracowując testy wcześniej i szybciej przeprowadzając testy przy minimalnym nakładzie pracy. W FINRA stworzyliśmy MSL (ang. „Missile”), aby umożliwić zespołom Agile korzystanie z warstwowych architektur, takich jak MVC, do szybszego i szybszego testowania kodu UI w izolacji.

Obsługują one testowanie kodu interfejsu (np. JavaScript, HTML i CSS) przez lokalne wdrożenie na serwerze Node.js i konfigurowanie fałszywych odpowiedzi HTTP z kodu testowego przy użyciu jednego z naszych klientów (Java, JavaScript lub Node.js). W tej prezentacji przedstawimy kilka kluczowych funkcji narzędzia MSL z kilkoma przykładami.

Linki: Wideo, Prezentacje

Testowanie interfejsu użytkownika

Alex Eagle (Google)

Usługi Google są często udostępniane, co wymaga znacznych zautomatyzowanych testów i „masowania budynków”. Obecnie pracujemy nad udostępnieniem naszej infrastruktury do testowania w ramach Google Cloud Platform. W trakcie tej rozmowy omówimy niektóre z metodologii tworzenia zielonych budynków i naszych usług bez defektów oraz pokażemy, jak zaprezentować je światu.

Linki: Wideo, Prezentacje

Okrągły stół – rozmowa 1 – testowanie na różnych platformach mobilnych

Linki: Wideo, Prezentacje

Okrągły stół – prezentacja 2 – Automatyzacja dokumentów

Linki: Wideo, Prezentacje

Wpływ struktury społeczności na wydajność rozwiązania SAT

Zack Newsham (Uniwersytet w Waterloo)

Współczesne rozwiązania CDCL SAT rozwiązują bardzo duże instancja SAT w stosunkowo krótkim czasie. Wydaje się jasne, że te rozwiązania w jakiś sposób wykorzystują strukturę rzeczywistych instancji. Do tej pory nie udało się jednak precyzyjnie określić tej struktury. W tym dokumencie przedstawiamy dowody na to, że struktura społeczności w rzeczywistych instancjach SAT jest skorelowana z czasem działania rozwiązań CDCL SAT. Wiemy, że rzeczywiste instancje SAT, wyświetlane na wykresach, zawierają naturalne społeczności. Społeczność to podwyżek wykresu SAT, dzięki czemu ma on bardziej wewnętrzne krawędzie niż pozostałe dane na wykresie. Struktura społecznościowa jest często oznaczona danymi jakości – Q. Wykresy o wysokiej strukturze struktury (wysoki Q) można z łatwością rozdzielić między mniejsze społeczności. Udostępniamy 3 wyniki oparte na empirycznych danych, które wskazują, że struktura społeczności realistycznych instancji przemysłowych jest bardziej przewidywalna w zakresie czasu działania rozwiązań CDCL niż inne powszechnie używane czynniki, takie jak zmienne i klauzule. Po pierwsze pokazujemy silną korelację między wartością Q a wskaźnikiem odległości dosłownej – jakości klauzul konfliktowych stosowanych w zasadach usuwania klauzul w rozwiązaniach podobnych do glukozy. Po drugie, na podstawie analizy regresji widać, że liczba społeczności oraz wartość Q na wykresie rzeczywistych instancji SAT jest bardziej przewidywalna czasu działania rozwiązań CDCL niż w przypadku tradycyjnych danych, takich jak liczba zmiennych lub klauzul. Na koniec pokazujemy, że losowo wygenerowane instancje SAT o wartości 0,05 ≤ Q ≤ 0,13 są znacznie trudniejsze do rozwiązania przez CDCL niż w przypadku innych rozwiązań.

Linki: Wideo, Prezentacje

Poza zasięgiem: jakie testy napotykają użytkownicy?

Patrick Lam (University of Waterloo)

Każdy z nas potrzebuje „lepszych” zestawów testów. Co jednak sprawia, że dobrze się sprawdza? Oczywiście pakiety testowe powinny mieć dobre wyniki, przynajmniej na poziomie pokrycia. Aby zapewnić Ci przydatność, pakiety testowe powinny działać dostatecznie szybko, aby przekazywać na bieżąco informacje zwrotne.

W trakcie tej prezentacji omówimy szereg innych wymiarów, które oceniają pakiety testowe. Mówi się, że lepsze pakiety testowe są łatwiejsze w obsłudze i łatwiejsze w obsłudze (np. działają szybciej lub zawierają mniej zasobów) i mają mniej nieuzasadnionych błędów. W tej rozmowie przedstawię i zsyntetyzuję 10 pakietów testowych typu open source (z 8000 do 246 000 wierszy kodu) i ocenię ich skuteczność.

Linki: Wideo, Prezentacje

Zielone: jak wyczyścić toksyczne środowisko mobilne

Thomas Keń (Google), Stefan Ramsauer (Google), Valera Zakharov (Google) i Vishal Sethia (Google)

Przedstawiamy narzędzia i metody szybkiego, stabilnego, hermetycznego środowiska testowego do wykonywania testów na urządzeniach z Androidem zarówno w trybie interaktywnego programowania, jak i trybie ciągłej integracji. Te elementy bazują na wyższym poziomie przedstawionym podczas ostatniego spotkania GTAC.

Linki: Wideo, Prezentacje