testing-data-visualizations

作者: openai

測試資料視覺化與儀表板。當使用者需要圖表或圖示測試策略、螢幕截圖或影像差異測試、視覺回歸、模擬或…時使用。

npx skills add https://github.com/openai/plugins --skill testing-data-visualizations

Testing Data Visualizations

Overview

Use this skill when the main question is how to verify a visualization, not just how to render one. Testing charts means protecting analytical truth, interaction behavior, rendering stability, and product integration without turning every pixel into a brittle contract.

Default assumption: use the smallest test mix that catches wrong numbers, broken interactions, and obvious visual regressions. Favor deterministic fixtures and targeted image baselines over giant snapshot suites.

Choose This Skill When

  • the user asks how to test a chart, dashboard, or visualization component
  • screenshot testing, image diffing, or visual regression is the main concern
  • the user needs help deciding what to mock and where to mock it
  • the question is about unit versus component versus E2E coverage
  • a live dashboard, export flow, or embedded chart needs QA strategy
  • the user wants help trimming a brittle or overgrown chart test suite

Working Pattern

  1. Identify the highest-risk failures:
    • wrong transforms, aggregation, binning, stacking, or sorting
    • wrong scale domain, legend mapping, or annotation placement
    • broken hover, focus, selection, brush, or cross-filter behavior
    • mobile layouts that put controls or prose before the main visualization, hide the chart behind settings, or fail to return to the chart after Apply, Cancel, Reset, or close
    • touch interactions with tiny hit targets, hover-only values, missing drag alternatives, scroll hijacking, or broken pinch/zoom ownership
    • on-screen keyboard and visual viewport regressions that cover the main evidence or the only critical action
    • operational workspace regressions where outline trees, filters, selected marks, central viewport, URL state, and inspectors fall out of sync
    • mobile capability regressions where AR, camera, motion, vibration, notification, or geolocation prompts appear too early, lack fallbacks, or become required without user approval
    • spotty-connection regressions where live visualizations blank out, lose stale indicators, mislabel partial data, or fail to reconnect gracefully
    • wheel-zoom, pinch, or drag interactions that also scroll the page or leak scroll chaining to the document
    • clipping, overlap, layout drift, or export mismatch
    • project changes or implementation code that began before the user approved a required generated design concept
    • Codex image-generated concepts whose implementation preserves only the vibe or pixels but loses the claim, source context, caveat, evidence hierarchy, layout contract, or interaction staging
    • generated asset crop, overlay alignment, or label-safe region regressions
    • Canvas or WebGL render readiness, context loss, blank frames, high-DPI scaling, and overlay alignment
    • WebGL fallback duplication where a fallback remains visible behind or above the primary scene
    • globe, map, terrain, or cutaway coordinate-frame regressions where markers, labels, textures, hit testing, and camera focus no longer align
    • interaction state-machine regressions where hover, selection, expansion, pause/resume, drag, wheel, reset, close, or idle behavior changes meaning
    • animated story states whose first frame, key frames, or final frame no longer communicate the claim
    • scrollytelling or parallax states that desynchronize text, data layers, media, trigger ranges, or reduced-motion fallbacks
    • composite reports, decks, or stories where embedded visual layers bypassed specialist mini-briefs and became generic chart cards
    • UML-like or software architecture diagrams with stale generated source, invalid relationships, broken import/export, layout overlap, lost source IDs, or round-trip drift
    • fictional or synthetic story simulations whose seeded data no longer supports the editorial claim, route ranking, event timing, or derived comparisons
    • stale, empty, partial, loading, or failure state regressions
  2. Choose the lightest effective layer:
    • unit tests for pure data shaping and formatting logic
    • component tests for public chart contracts and interaction callbacks
    • visual regression for layout-sensitive and appearance-sensitive states
    • E2E tests for real user workflows, async data behavior, and export paths
  3. Make rendering deterministic before asserting:
    • fixed viewport and container size
    • stable fonts, theme tokens, locale, and timezone
    • reduced or disabled animation
    • reduced-motion and final-state fixtures for animated stories
    • deterministic scroll position, viewport size, scene id, progress value, and media readiness for scrollytelling stories
    • deterministic WebGL camera, clock, particle seed, device pixel ratio, and quality settings
    • seeded or fixture-backed data
    • fixed generated asset fixtures or checked-in placeholders instead of live generation inside tests
    • approved large-screen and mobile concept screenshots or references plus a semantic design contract fixture, locked/flexible element fixture, concise concept-review bullet summary, and user approval record for concepted visualization work
    • deterministic desktop, mobile portrait, and optional mobile landscape viewport sizes
    • deterministic operational workspace fixtures for mode, selected entity, filters, outline scroll, inspector state, zoom or camera, and mobile panel state
    • visual viewport or keyboard-open fixture for input-heavy mobile views
    • mocked online, offline, delayed, stale, partial, and reconnect states for live/mobile data
    • mocked permission-denied and unsupported states for AR, camera, motion, vibration, notification, and geolocation paths when used
    • fixed fictional simulation seeds plus invariant checks for entity counts, event windows, value ranges, ranking outcomes, and summary consistency
    • explicit render-ready signals before capture
  4. Mock at the boundary:
    • prefer mocked network responses, data loaders, or repository adapters
    • keep transform and render logic real whenever practical
    • maintain canonical, edge-case, and stress fixtures
  5. Define the non-goals:
    • do not test third-party chart library internals
    • do not duplicate the same assertion at every layer
    • do not baseline volatile states unless the volatility is the feature
  6. When the visualization is operational or live, include stale, delayed, empty, and degraded modes.

Coverage Heuristics

  • Unit tests are appropriate for scales, domains, bin boundaries, sort rules, label formatting, tooltip payload shaping, color assignment, selection reducers, and any logic that can fail without rendering.
  • Component tests are appropriate for legends, axis labels that matter semantically, accessible names, empty and error states, callback payloads, interaction wiring, and conditional UI around the chart.
  • Screenshot or image tests are appropriate for overlap, clipping, tick collisions, annotation placement, color regressions, dense mark readability, and regression-prone layout states.
  • For art-directed editorial stories, screenshot tests are appropriate for first frame, selected key frames, final frame, generated-asset alignment, mobile crop behavior, and mobile portrait or landscape contract fidelity.
  • For concept-first visualization work, pair visual regression with semantic fidelity checks against the shared design workflow: approved concept references, recorded review bullets, implementation-after-approval evidence, locked and flexible elements, approved deviations, title claim, required comparison, denominator, scale, caveat, source visibility, measured/estimated/schematic styling, and data-bound label preservation.
  • For scrollytelling and parallax stories, cover enter, exit, reverse scroll, fast scroll, resize, reduced-motion, stacked mobile fallback, and static key frames.
  • For fictional visual stories, add data invariant tests before visual regression: deterministic seed output, minimum richness layers, expected event timing, primary claim truth, and derived summary agreement.
  • E2E tests are appropriate for cross-chart coordination, URL or filter state, live refresh behavior, drill-down, exports, downloads, and embedding or routing flows.
  • For Canvas or WebGL charts, rely more on data-contract tests, interaction tests, render-ready markers, canvas-pixel sanity checks, context-loss coverage, and targeted visual baselines than on DOM snapshots.
  • For advanced WebGL/geospatial/cutaway work, include desktop, mobile portrait, and optional mobile landscape screenshots, a no-WebGL fallback screenshot, a nonblank canvas-pixel or first-frame check, coordinate alignment spot checks, and live interaction smoke tests for drag, wheel, click, tap, hover, keyboard, reset, expand, close, and pinch as applicable.
  • For mobile dashboards and live views, cover last-known-good rendering, stale/live/offline/partial badges, delayed events, reconnect, background/resume, lower-frequency degradation, notification opt-in, and vibration or alert fallbacks when used.
  • For particle or flow animation, capture first frame, a representative key frame, final or paused state, and reduced-motion fallback rather than baselining every frame.
  • For UML-like diagrams, test parser/model normalization, semantic diagnostics, layout fixtures, interaction states, export snapshots, and source round-tripping when the product promises it.

Output Expectations

  • Propose a layered test plan instead of a single-tool answer.
  • Separate data correctness, visual stability, and workflow coverage.
  • Explain where real data, mocked data, and synthetic fixtures each belong.
  • Call out brittleness risks and how to keep the suite deterministic.
  • When implementing tests, start with the narrowest high-value slice before scaling coverage.
  • For visual stories, include a human review checklist in release notes when imagery, WebGL, particles, 3D, or animation materially affects interpretation.
  • For concepted work, include the shared workflow evidence: approval status, approved concept references, concise review bullets, visual design contract, locked/flexible element record, mobile/landscape continuation record, material mismatches, fixes or approved deviations, and semantic fidelity QA results.
  • For mobile-capable browser work, include screenshot or interaction checks for mobile portrait, mobile landscape when justified, main-visualization visibility, settings return path, touch targets, hover replacement, drag alternatives, keyboard-open viewport, spotty connection, and permission-denied fallbacks.
  • For operational workspaces, include checks for command bars, outline/filter/detail panels, default selection, synchronized inspector state, pan/zoom/reset, empty-surface click versus drag, URL restore, and mobile command-panel behavior.
  • For composite deliverables, include embedded visualization self-use review notes: each layer's specialist owner, mini-brief, QA check, and delegated or local fresh-pass status.
  • For simulated stories, include data-richness and self-use-gate review notes: which specialist skill shaped each embedded visualization, which mini-brief it followed, and which invariants prove the fictional data still supports the story.

References

  • Shared theory:
    • ../../references/foundations/implementation-design-and-tradeoffs.md
    • ../../references/foundations/meaning-preserving-visual-design-workflow.md
    • ../../references/foundations/embedded-visualization-self-use.md
    • ../../references/foundations/mobile-first-responsive-visualization.md
    • ../../references/foundations/operational-visualization-workspaces.md
  • Skill references:
    • ./references/test-level-selection.md
    • ./references/unit-and-component-tests.md
    • ./references/visual-regression-and-image-testing.md
    • ./references/data-mocking-and-fixtures.md
    • ./references/e2e-dashboard-and-export-strategies.md
    • ./references/avoiding-brittle-over-testing.md
  • Useful templates:
    • ../../assets/templates/visualization-test-plan.md
    • ../../assets/templates/visual-design-contract.md
    • ../../assets/templates/advanced-interactive-visualization-contract.md
    • ../../assets/templates/interactive-uml-test-plan.md
    • ../../assets/templates/playwright-visual-regression-starter.ts
  • Adjacent skills:
    • ../scrollytelling-and-parallax-data-visualization/SKILL.md
    • ../uml-and-software-architecture-visualization/SKILL.md
    • ../react-and-nextjs-data-visualization/SKILL.md
    • ../typescript-data-visualization-engineering/SKILL.md
    • ../../references/foundations/fictional-data-story-simulation.md
    • ../dashboards-and-real-time-visualization/SKILL.md
    • ../accessibility-and-inclusive-visualization/SKILL.md

Representative Prompts

  • "How should I test this React chart component?"
  • "Set up screenshot testing for this dashboard without making it flaky."
  • "What data should I mock for this D3 or Canvas visualization?"
  • "Which parts of this chart deserve unit tests versus E2E tests?"
  • "Help me design visual regression coverage for a live monitoring screen."
  • "Review this visualization test suite and tell me what to delete."
  • "Design tests for a parallax scrollytelling story without making screenshots flaky."
  • "Design tests for an interactive UML, ERD, state machine, flow, dependency, or architecture diagram."

來自 openai 的更多技能

user-context
openai
載入或管理資料分析插件的持久性來源路由偏好設定、入門邏輯、設定進度以及語義層註冊表。
official
notion-research-documentation
openai
研究Notion內容,並將其整合為結構化的簡報、報告或附有引用的比較分析。透過精準查詢搜尋並擷取Notion頁面,然後按主題組織發現,並附上內文來源引用及參考文獻章節。根據範圍與使用者目標,從四種輸出格式(快速簡報、研究摘要、比較分析、綜合報告)中選擇。使用內建範本建立與更新Notion頁面;直接連結來源,並在新資訊到來時追蹤變更。
official
rcsb-pdb-skill
openai
提交精簡的RCSB PDB請求以獲取核心元數據、Search API查詢及FASTA下載。當用戶需要簡潔的RCSB摘要時使用;保存原始JSON或…
official
pdf
openai
PDF 讀取、建立與驗證,支援視覺化渲染與程式化生成。使用 Poppler(pdftoppm)將 PDF 頁面渲染為 PNG,以便在交付前檢查版面、間距與排版。透過 reportlab 程式化生成 PDF,確保格式可靠;使用 pdfplumber 或 pypdf 提取文字與元資料。執行品質標準:無文字裁切、元素重疊、表格破損或渲染瑕疵;僅使用 ASCII 連字號,引用格式需具可讀性。使用...
official
test-coverage-improver
openai
Improve test coverage in the OpenAI Agents JS monorepo: run `pnpm test:coverage`, inspect coverage artifacts, identify low-coverage files and branches, propose…
official
playwright
openai
終端驅動的瀏覽器自動化,具備元素快照與互動式UI工作流程。透過playwright-cli包裝腳本運作(需npx),支援無頭模式與有頭模式以進行視覺化除錯。核心流程:開啟頁面、擷取快照以取得穩定元素參照、使用參照進行互動、在導航或DOM變更後重新擷取快照。包含表單填寫、點擊、輸入、多分頁管理、螢幕截圖/PDF擷取,以及流程除錯的軌跡記錄。元素參照(例如e3、e15)...
official
ukb-topmed-phewas-skill
openai
接受rsID、GRCh37或GRCh38輸入,解析為所需的GRCh38查詢,以獲取單一變異的簡潔UKB-TOPMed PheWAS摘要。當需要…時使用。
official
code-review-context
openai
模型可見上下文
official