Chromium Chronicle nr 20: pasy testowe

Odcinek 20: John Chen w Bellevue, Waszyngton (kwiecień 2021 r.)
Poprzednie odcinki

Szybkość to jedna z 4 podstawowych zasad Chrome. Dodanie testów porównawczych to prosty sposób na zapobieganie spadkom wydajności i poprawa skuteczności z upływem czasu. Dobre testy porównawcze cechują się szybkim cyklem iteracyjnym, mogą wychwytywać regresje wydajności znacznie wcześniej niż UMA i świetnie nadają się do pomiaru wydajności nowych funkcji.

Testy porównawcze są przeprowadzane regularnie w laboratorium. Po wykryciu regresji bisect automatycznie znajduje główną listę zmian (CL) i przypisuje błąd właścicielowi tej listy.

Testy porównawcze Chrome łączą sekwencje interakcji ze stroną internetową (tzw. historie) z pomiarami skuteczności. Podobne przypadki są grupowane w analizy porównawcze. Nowe testy porównawcze zwykle odpowiadają jednej z istniejących reguł:

  • Stan systemu
  • Wczytuję
  • Pamięć
  • renderowanie,
  • Moc
  • Uruchamianie
  • Środowisko wykonawcze V8
  • Media
  • WebRTC
  • Prasa
  • Wydajność Blink

Platforma telemetryczna ponownie odtwarza zarejestrowane historie, aby symulować interakcje użytkowników z Chrome przy jednoczesnym zbieraniu logów czasu, które rejestrują aktywności w Chrome. Po zakończeniu relacji platforma uruchamia różne dane dotyczące wydajności, aby analizować logi czasu i obliczać wyniki.

Możesz uwzględnić większość nowych przypadków testowania wydajności w Chrome, dodając nowy artykuł z wykorzystaniem istniejących danych w jednej z istniejących uprzęży. Możesz też zbierać dodatkowe logi czasu i dodawać więcej wskaźników do istniejących testów porównawczych lub przekazywać dodatkowe flagi do przeglądarki.

Użyj Blink Perf w przypadku jednorazowych przypadków, które nie pasują do innych uprzęży. W Blink Perf możesz mierzyć zdarzenia śledzenia na jednorazowych stronach.

Utwórz proste historie analizy porównawczej i uwzględnij minimalny zestaw interakcji niezbędny do zrealizowania danego scenariusza. Jeśli przypadek testowy jest skomplikowany, automatyzacja może być trudna lub niepewna.

Ogranicz liczbę testów do jak najmniejszej liczby, która obejmuje najważniejsze przypadki użycia. Utrzymanie infrastruktury do testów porównawczych jest kosztowne. Listę obsługiwanych urządzeń znajdziesz na stronie Szybkie urządzenia z Chrome.

Skuteczność można mierzyć na kilka sposobów. Oparte na telemetrii testy porównawcze sterują Chrome z poziomu zewnętrznego procesu, co nie zawsze zapewnia odpowiedni poziom kontroli. Zamiast tego testy porównawcze oparte na testach G mogą umożliwiać stosowanie tego samego procesu kodu testowego co kod Chrome. Możesz też rozważyć inne narzędzia zwiększające wydajność, na przykład UMA do mierzenia wydajności na urządzeniach użytkowników, a nie w laboratorium.

Chcesz dowiedzieć się więcej o testach porównawczych Chrome? Napisz na adres telemetry@chromium.org.

Dodatkowe zasoby