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:
- Narzędzie, które potrafi kopać niezmienność systemu.
- 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