QA/Platform/Graphics
Jump to navigation
Jump to search
Full Query
Summary
This page holds important information related to testing and quality assurance for Gecko's graphics code.
Consult this page for more information.
Important Information
- About the team
- Major code changes worth tracking
- Inventory of hardware available for testing
- PCI Device ID Catalog (useful for determining hardware make/model)
- Codenames of NVIDIA chipsets
- Information about graphics driver blocklisting
- Draft guides related to Graphics QA
Metrics
- Metrics-Graphics: staging, production
- Code Quality: Code Quality, Quality Indices
- Telemetry: GFX, All
- Bugzilla: Bug Age
Understanding the Problem Space
First order of business for my transition to the Graphics team is to understand the problem space so I can understand the immediate needs of the team and make the best impact I can in the shortest amount of time.
- What are the key problems/challenges facing the Graphics team in terms of quality?
- discrepancy in environments between testers and release users
- discoverability of bugs pre-release
- ?...
- Where can QA add value/support to the Graphics team?
- improving pre-release discoverability of bugs
- closing the gap between tester and release systems
- helping with bug triage, particularly with bugs hiding in general components
- representation in crashkill
- improving code coverage and/or identifying gaps in code coverage
- identifying ways to improve participation in the graphics team (events, projects, One & Done, etc)
- documentation of tools, testing processes, etc
- building out the lab in Toronto
- continuing to drive Betabreakers testing every 6 weeks
- verifying bug fixes (what does this look like)?
- profiling areas of risk (eg. troublesome configs)
- conducting root cause analysis for regressions
- understanding problems outside of our control (eg. driver resets)
- feature testing and upcoming priorities (e10s, Windows 10, El Capitain, Android, B2G, etc)
- What does QA need to know to be effective?
- key components of an actionable Graphics bug
- fundamentals/technologies that should be learned
- how to distinguish a graphics crash from a non-graphics crash with a graphics signature
- meetings, mailing lists, bugzilla components to watch, blogs, IRC channels to join, etc
- who is each member of the team (incl. contributors) and what do they do
- where does graphics code reside in the tree?
- what role does Unified Telemetry in graphics quality?
- what are the prefs to enable/disable different functionalities?
- we need a database of known-troublesome hardware/driver configurations to inform testing, hardware acquisitions, and blocklisting
- Understanding the Stability
- How do we identify a graphics crash?
- by signature: gfx, layers, D2D, D3D, ?...
- by topmost filename: gfx, ?...
- by driver (DLL, version, ?...)
- by device/vendor ID?...
- ?...
- How do we prioritize graphics crashes?
- Overall topcrashes in release > beta > aurora > nightly
- Gfx crashes in release > beta > aurora > nightly
- Explosive crashes in release > beta > aurora > nightly
- What tools do we have at our disposal to investigate crashes?
- Bughunter for investigating crashes correlated to a URL
- KaiRo's reports for identifying crashes that are new or escalating quickly
- Socorro for getting detailed information about crash reports
- What information is needed to make a crash actionable by developers?
- Correlations to particular hardware, driver, add-on, 3rd-party software, or library
- ?...
- Participation
- Sanity checking via One & Done
- Meetups to connect testers/users with devs
- Testdays to teach people about graphics testing
- Documentation and translation of documentation
- Engaging on community spaces (Discourse, Reddit, Facebook, Twitter, etc)
- Telemetry
- COMPOSITE_TIME: time in CompositorParent::CompositeToTarget dispatching draw calls and calling SwapBuffers, but not texture upload (ie. complete composition)
Projects
Sanity Checking
| Project | Description | Frequency | Last Review | Next Review |
|---|---|---|---|---|
| Android | Sanity checking Fennec builds on multiple devices | On Request | 2015-12-14 | N/A |
| Betabreakers | Sanity checks using the Betabreakers lab | 6 weeks | 2016-01-08 | 2016-01-12 |
| Boot2Gecko | Sanity checks on B2G phones in Toronto | 1 week | 2015-12-24 | 2015-01-04 |
| One & Done | Crowd-sourced testing via One & Done (results) | 1 week | 2015-12-24 | 2016-01-04 |
| Toronto Lab Testing | Sanity checks on computers the Toronto lab | ON HOLD | 2015-08-20 | N/A |
Stability
Top Crashes
| ID | Summary | Status | Last change time |
|---|---|---|---|
| 1886765 | Crash in [@ mozilla::wr::RenderThread::PostRunnable] | NEW | 2025-12-15T12:15:24Z |
| 1908798 | Crash in [@ IPCError-browser | GPUProcessKill] | NEW | 2025-10-28T09:21:35Z |
| 1996653 | Mac GPU process: Crash in [@ IPCError-browser | GPUProcessKill] | NEW | 2025-12-04T22:02:30Z |
3 Total; 3 Open (100%); 0 Resolved (0%); 0 Verified (0%);
Device Driver Crashes
Queries
- Top crashes by device
- Top crashes by driver
- AMD: amd*.dll, ati*.dll
- Intel: igd*.dll
- NVIDIA: nv*.dll
Get Involved
Want to help the Graphics team? Here are some ways you can get involved.