Testing Articles
-
Announcing Interop 2022
Writing high quality standards is a necessary first step to an interoperable web platform, but ensuring that browsers are consistent in their behavior requires an ongoing process. Browsers must work to ensure that they have a shared understanding of web standards, and that their implementation matches that understanding. Interop 2022 is a cross-browser initiative to find and address the most important interoperability pain points on the web platform. The end result is a public metric that will assess progress toward fixing these interoperability issues.
-
Version 100 in Chrome and Firefox
Chrome and Firefox will reach version 100 in a couple of months. This has the potential to cause breakage on sites that rely on identifying the browser version to perform business logic. This post covers the timeline of events, the strategies that Chrome and Firefox are taking to mitigate the impact, and how you can help.
-
Eliminating Data Races in Firefox – A Technical Report
We successfully deployed ThreadSanitizer in the Firefox project to eliminate data races in our remaining C/C++ components. In the process, we found several impactful bugs and can safely say that data races are often underestimated in terms of their impact on program correctness. We recommend that all multithreaded C/C++ projects adopt the ThreadSanitizer tool to enhance code quality.
-
Browser fuzzing at Mozilla
Mozilla has been fuzzing Firefox and its underlying components for a while. It has proven itself to be one of the most efficient ways to identify quality and security issues. In general, we apply fuzzing on different levels: there is fuzzing the browser as a whole but a significant amount of time is also spent on fuzzing isolated code (e.g. with libFuzzer) or even whole components such as the JS engine using separate shells with various fuzzers. For the purpose of this blog post, we will talk specifically about browser fuzzing only, and go into detail on the pipeline we’ve developed.
-
Testing Firefox more efficiently with machine learning
A browser is an enormously complex piece of software, and it's always in development. About a year ago, we asked ourselves: how could we do better? Our CI relied heavily on human intervention. What if we could instead correlate patches to tests using historical regression data? Could we use a machine learning algorithm to figure out the optimal set of tests to run? We hypothesized that we could run fewer tests to save money, get results faster, and reduce the cognitive burden on developers.
-
Fuzzing Firefox with WebIDL
Fuzzing, or fuzz testing, is an automated approach for testing the safety and stability of software. For the past 3 years, the Firefox fuzzing team has been developing a new fuzzer to identify security vulnerabilities in the implementation of WebAPIs in Firefox. This fuzzer leverages the WebAPIs’ own WebIDL definitions as a fuzzing grammar.
-
Testing Strategies for React and Redux
When the Firefox Add-ons team ported addons.mozilla.org to a single page app backed by an API, they chose React and Redux for powerful state management, delightful developer tools, and testability. Achieving the testability part wan’t as obvious, since there are competing tools and techniques. This post describes some testing strategies that are working really well.
-
Actual Input Latency: cross-browser measurement and the Hasal testing framework
Editor’s Note: This post is also featured on the 2017 Performance Calendar. This is a story about an engineering team at Mozilla, based in Taipei, that was tasked with measuring performance and solving some specific performance bottlenecks in Firefox. It is also a story about user-reported performance issues that were turned into actionable insights. It […]
-
Using Headless Mode in Firefox
Browser automation is not a new idea, but is an increasingly important part of how modern websites are built, tested, and deployed. Firefox now has support for headless mode, making it easier to use as a backend to automated tools. Learn how to work with headless mode in Firefox.
-
Comparing Browser Page Load Time: An Introduction to Methodology
On blog.mozilla.org, we shared results of a speed comparison study to show how fast Firefox Quantum with Tracking Protection enabled is compared to other browsers. In this companion post, we share some insights into the methodology behind these page load time comparison studies and benchmarks. Our study focused on news web sites, which tend to come with an abundance of trackers, and uses the Navigation Timing API as a data source.