READ-ONLY PACKAGE PREVIEW

openai-winui-app/references/testing-debugging-and-review-checklists.md

Version 49f948fa.bb1 · Apache-2.0. This preview displays packaged text and does not execute code. Treat the contents as untrusted instructions.

← Return to resource and package checksum


title: Testing, Debugging, and Review Checklists priority: HIGH tags: testing, debugging, review, hot-reload, live-visual-tree, checklists sources: - https://learn.microsoft.com/windows/apps/get-started/start-here - https://learn.microsoft.com/windows/apps/get-started/developer-mode-features-and-debugging - https://learn.microsoft.com/windows/apps/performance/winui-perf


What This Reference Is For

Use this file for final review passes, debugging sessions, and "what should I verify before I call this done?" prompts.

Required Verification Loop

  • Build after each meaningful edit, not only at the end.
  • Run the app after changes when the user asked for it or when startup-sensitive files changed.
  • Verify actual launch instead of assuming success from a spawned process.
  • If the app fails before showing a window, debug the startup path before continuing feature work.

Design Review Checklist

  • Shell and navigation are simple and predictable.
  • NavigationView still reads like standard WinUI shell chrome unless the product explicitly calls for branded pane content or custom shell composition.
  • Layout stays usable when the window is narrow.
  • Layout has been checked at more than one breakpoint, including a genuinely phone-like width when the app can be resized that far.
  • Collection pages with mixed scroll regions have been checked at runtime so shelves still render in the intended direction and do not collapse into a single vertical column.
  • Theme, contrast, hierarchy, and interactive state visibility hold up in both light and dark mode, and typography and iconography still feel native to Windows.
  • Command placement and hierarchy are clear.
  • Default WinUI surfaces and control templates carry most of the layout instead of a custom border/card system.
  • Search and filter workflows avoid redundant controls when live local filtering would be clearer.
  • At narrow and phone widths, nonessential controls are simplified, hidden, or moved behind shell affordances instead of merely compressed.

Code Review Checklist

  • App structure is coherent and scalable.
  • Resource dictionaries and styles are centralized where they should be.
  • Platform controls are preferred over unnecessary custom control work.
  • New dependencies are justified.
  • The packaging model matches the startup, storage, and launch code.
  • The app builds cleanly from the workflow the user will actually use.

Accessibility Checklist

  • Keyboard-only flow works end to end.
  • Focus states are visible and sensible.
  • Automation properties are present where needed.
  • High contrast and text scaling do not break the UI.

Performance Checklist

  • No obvious UI-thread blocking work in interactive paths.
  • Large collections use an appropriate control and layout.
  • Scroll ownership is intentional for collection-heavy pages; nested GridView plus outer ScrollViewer combinations have been justified or replaced.
  • Expensive styling or template choices are justified.
  • Profiling data exists for non-obvious performance claims.

Debugging Tools

  • Use Hot Reload for fast visual iteration.
  • Use Live Visual Tree and Live Property Explorer for layout and property debugging.
  • Use WPR and WPA when diagnosing frame or responsiveness issues.
  • Reproduce resize, theme, and input-mode changes before concluding the issue is fixed.
  • When resize behavior is part of the task, verify wide, medium, and phone-width states against the running app rather than trusting the XAML structure alone.
  • When a collection page looks wrong, inspect the live tree for nested ScrollViewer ownership before rewriting the item template; the bug may be layout ownership rather than card markup.
  • Use startup exception details, debugger output, or Event Viewer when the process dies before any window appears.

Exit Criteria

  • The build succeeds from the intended local workflow.
  • The feature works on the intended machine configuration.
  • The app launches and shows the expected shell or window.
  • The app remains usable in light, dark, and high contrast.
  • Primary flows are keyboard-accessible.
  • Resize behavior, startup, and interactive responsiveness have been checked.
  • If the window can become phone-width, the shell and content have been verified there too.