TestEngineering/Performance/Raptor: Difference between revisions

No edit summary
Line 15: Line 15:
=== Page-Load Tests ===
=== Page-Load Tests ===


Page-load tests involve loading a specific web page and measuring the load performance (i.e. [https://wiki.mozilla.org/TestEngineering/Performance/Glossary#First_Non-Blank_Paint_.28fnbpaint.29 time-to-first-non-blank-paint], [https://wiki.mozilla.org/TestEngineering/Performance/Glossary#First_Contentful_Paint_.28fcp.29 first-contentful-paint] , [https://wiki.mozilla.org/TestEngineering/Performance/Glossary#DOM_Content_Flushed_.28dcf.29 dom-content-flushed], [https://wiki.mozilla.org/TestEngineering/Performance/Glossary#Time_To_First_Interactive_.28ttfi.29 ttfi]).
Page-load tests involve loading a specific web page and measuring the load performance (i.e. [https://wiki.mozilla.org/TestEngineering/Performance/Glossary#First_Non-Blank_Paint_.28fnbpaint.29 time-to-first-non-blank-paint], first-contentful-paint, [https://wiki.mozilla.org/TestEngineering/Performance/Glossary#DOM_Content_Flushed_.28dcf.29 dom-content-flushed]).


For page-load tests by default, instead of using live web pages for performance testing, Raptor uses a tool called [[https://wiki.mozilla.org/TestEngineering/Performance/Raptor/Mitmproxy Mitmproxy]]. Mitmproxy allows us to record and playback test pages via a local Firefox proxy. The Mitmproxy recordings are stored on [https://github.com/mozilla/build-tooltool tooltool] and are automatically downloaded by Raptor when they are required for a test. Raptor uses mitmproxy via the [https://searchfox.org/mozilla-central/source/testing/mozbase/mozproxy mozbase mozproxy] package.
For page-load tests by default, instead of using live web pages for performance testing, Raptor uses a tool called [[/Mitmproxy/]]. Mitmproxy allows us to record and playback test pages via a local Firefox proxy. The Mitmproxy recordings are stored on [https://github.com/mozilla/build-tooltool tooltool] and are automatically downloaded by Raptor when they are required for a test. Raptor uses mitmproxy via the [https://searchfox.org/mozilla-central/source/testing/mozbase/mozproxy mozproxy] package.


There are two different types of Raptor page-load tests: warm page-load and cold page-load.
There are two different types of Raptor page-load tests: warm page-load and cold page-load.


==== Warm Page-Load ====
==== Warm Page-Load ====
For warm page-load tests, the desktop browser (or android browser app) is just started up once; so the browser is warm on each page-load.
For warm page-load tests, the browser is just started up once; so the browser is warm on each page-load.


'''Raptor warm page-load test process when running on Firefox/Chrome/Chromium desktop:'''
'''Raptor warm page-load test process when running on Firefox/Chrome/Chromium desktop:'''
Confirmed users
2,177

edits