"No","テストID","テスト種別","要件カテゴリ","テストケース名","テスト条件","測定項目","合格基準","優先度","備考"
"1","NFT-001","性能テスト","レスポンス","レイアウト再計測ベンチマーク","StackPanelに3階層x5x5のコントロール階層を配置した状態","再計測処理時間・メモリ使用量","BenchmarkDotNetによるベースライン比較で許容範囲内","高","tests/Avalonia.Benchmarks/Layout/Measure.cs"
"2","NFT-002","性能テスト","レスポンス","コントロールベンチマーク","複数コントロールの階層構造を動的に生成・配置","コントロール生成・配置時間","BenchmarkDotNetによる計測で許容範囲内","高","tests/Avalonia.Benchmarks/Layout/ControlsBenchmark.cs"
"3","NFT-003","性能テスト","レスポンス","スタイル適用ベンチマーク","100個のクラスセレクタースタイルを持つWindowにTextBoxを追加","スタイル適用時間・メモリ使用量","BenchmarkDotNetによるベースライン比較で許容範囲内","高","tests/Avalonia.Benchmarks/Styling/ApplyStyling.cs"
"4","NFT-004","性能テスト","レスポンス","データバインディング値更新ベンチマーク","OneWay/TwoWayバインディングで100回値を更新","値更新処理時間","BenchmarkDotNetによる計測で許容範囲内","高","tests/Avalonia.Benchmarks/Data/Binding_Values.cs"
"5","NFT-005","性能テスト","レスポンス","プロパティSetValue性能","StyledPropertyに対する100回のSetValue呼び出し","SetValue処理時間・メモリ使用量","CLRプロパティ設定をベースラインとして許容範囲内","高","tests/Avalonia.Benchmarks/Base/AvaloniaObject_SetValue.cs"
"6","NFT-006","性能テスト","レスポンス","図形レンダリング性能","Line/Rectangle等の基本図形のレンダリング","レンダリング時間・メモリ使用量","BenchmarkDotNetによる計測で許容範囲内","中","tests/Avalonia.Benchmarks/Rendering/ShapeRendering.cs"
"7","NFT-007","性能テスト","レスポンス","大量テキストレイアウト性能","長文テキスト(約3000文字)のTextLayout構築","TextLayout構築時間・メモリ使用量","ラップ有無/トリミング有無の組み合わせで許容範囲内","高","tests/Avalonia.Benchmarks/Text/HugeTextLayout.cs"
"8","NFT-008","性能テスト","レスポンス","絵文字テキストレイアウト性能","絵文字を含む大量テキストのTextLayout構築","TextLayout構築時間","BenchmarkDotNetによる計測で許容範囲内","中","tests/Avalonia.Benchmarks/Text/HugeTextLayout.cs"
"9","NFT-009","性能テスト","レスポンス","複数小テキストレイアウト性能","1000個の短い文字列(2-15文字)のTextLayout構築","累積TextLayout構築時間","BenchmarkDotNetによる計測で許容範囲内","中","tests/Avalonia.Benchmarks/Text/HugeTextLayout.cs"
"10","NFT-010","性能テスト","レスポンス","TextBlock仮想化性能","10個のTextBlockで1000個の文字列を順次表示","累積Measure処理時間","BenchmarkDotNetによる計測で許容範囲内","中","tests/Avalonia.Benchmarks/Text/HugeTextLayout.cs"
"11","NFT-011","性能テスト","レスポンス","セレクター評価性能","複数のスタイルセレクター評価","セレクター評価時間","BenchmarkDotNetによる計測で許容範囲内","中","tests/Avalonia.Benchmarks/Styling/SelectorBenchmark.cs"
"12","NFT-012","性能テスト","レスポンス","リソース解決性能","StaticResource/DynamicResourceの解決","リソース解決時間","BenchmarkDotNetによる計測で許容範囲内","中","tests/Avalonia.Benchmarks/Styling/ResourceBenchmarks.cs"
"13","NFT-013","性能テスト","レスポンス","コンポジションターゲット更新性能","Compositorのターゲット更新処理","更新処理時間","BenchmarkDotNetによる計測で許容範囲内","中","tests/Avalonia.Benchmarks/Compositor/CompositionTargetUpdate.cs"
"14","NFT-014","性能テスト","レスポンス","テーマ適用性能","FluentTheme等のテーマ適用","テーマ適用時間","BenchmarkDotNetによる計測で許容範囲内","中","tests/Avalonia.Benchmarks/Themes/ThemeBenchmark.cs"
"15","NFT-015","性能テスト","レスポンス","アニメーション遷移性能","Transitionアニメーションの実行","アニメーション処理時間","BenchmarkDotNetによる計測で許容範囲内","中","tests/Avalonia.Benchmarks/Animations/TransitionBenchmark.cs"
"16","NFT-016","性能テスト","レスポンス","パスマークアップ解析性能","SVGパスマークアップの解析","解析処理時間","BenchmarkDotNetによる計測で許容範囲内","中","tests/Avalonia.Benchmarks/Visuals/Media/PathMarkupParserTests.cs"
"17","NFT-017","メモリリークテスト","可用性","Canvasコントロールメモリリーク","Canvasを作成・表示・削除後にGC実行","WeakReferenceがGC後に解放されている","WeakReference.IsAlive == false","高","tests/Avalonia.LeakTests/ControlTests.cs"
"18","NFT-018","メモリリークテスト","可用性","名前付きCanvasメモリリーク","NameScopeに登録されたCanvasを削除後にGC実行","WeakReferenceがGC後に解放されている","WeakReference.IsAlive == false","高","tests/Avalonia.LeakTests/ControlTests.cs"
"19","NFT-019","メモリリークテスト","可用性","ScrollViewerメモリリーク","ScrollViewer（子コントロール含む）を削除後にGC実行","WeakReferenceがGC後に解放されている","WeakReference.IsAlive == false","高","tests/Avalonia.LeakTests/ControlTests.cs"
"20","NFT-020","メモリリークテスト","可用性","TextBoxメモリリーク","TextBoxを削除後にGC実行","WeakReferenceがGC後に解放されている","WeakReference.IsAlive == false","高","tests/Avalonia.LeakTests/ControlTests.cs"
"21","NFT-021","メモリリークテスト","可用性","バインディング付きTextBoxメモリリーク","XAMLバインディングを持つTextBoxを削除後にGC実行","DataContextとTextBox両方のWeakReferenceが解放","WeakReference.IsAlive == false","高","tests/Avalonia.LeakTests/ControlTests.cs"
"22","NFT-022","メモリリークテスト","可用性","TextBoxクラスリスナーリーク","TextBoxを削除後のClassesコレクションサブスクリプション確認","Classesコレクションのサブスクライバーが解放","GetCollectionChangedSubscribers() == null","高","tests/Avalonia.LeakTests/ControlTests.cs"
"23","NFT-023","メモリリークテスト","可用性","TreeViewメモリリーク","TreeView（DataTemplate含む）を削除後にGC実行","WeakReferenceがGC後に解放されている","WeakReference.IsAlive == false","高","tests/Avalonia.LeakTests/ControlTests.cs"
"24","NFT-024","メモリリークテスト","可用性","Sliderメモリリーク","Sliderを削除後にGC実行","WeakReferenceがGC後に解放されている","WeakReference.IsAlive == false","中","tests/Avalonia.LeakTests/ControlTests.cs"
"25","NFT-025","メモリリークテスト","可用性","TabItemメモリリーク","TabItem（TabControl内）を削除後にGC実行","WeakReferenceがGC後に解放されている","WeakReference.IsAlive == false","中","tests/Avalonia.LeakTests/ControlTests.cs"
"26","NFT-026","メモリリークテスト","可用性","Rendererディスポーズ確認","Window閉じた後のRendererディスポーズ","Rendererが正しくディスポーズされている","CompositingRenderer.IsDisposed == true","高","tests/Avalonia.LeakTests/ControlTests.cs"
"27","NFT-027","メモリリークテスト","可用性","スタイルRenderTransformメモリリーク","RenderTransformスタイルを持つCanvasを削除後にGC実行","WeakReferenceがGC後に解放されている","WeakReference.IsAlive == false","中","tests/Avalonia.LeakTests/ControlTests.cs"
"28","NFT-028","メモリリークテスト","可用性","ContextMenuメモリリーク","ContextMenuをアタッチ・表示・デタッチ後にGC実行","MenuItem・ContextMenuのWeakReferenceが解放","WeakReference.IsAlive == false","高","tests/Avalonia.LeakTests/ControlTests.cs"
"29","NFT-029","メモリリークテスト","可用性","Pathメモリリーク","共有Geometryを持つPathを削除後にGC実行","PathのWeakReferenceがGC後に解放されている","WeakReference.IsAlive == false","中","tests/Avalonia.LeakTests/ControlTests.cs"
"30","NFT-030","メモリリークテスト","可用性","Polyline（ObservableCollection）メモリリーク","ObservableCollectionをバインドしたPolylineを削除後にGC実行","PolylineのWeakReferenceがGC後に解放されている","WeakReference.IsAlive == false","中","tests/Avalonia.LeakTests/ControlTests.cs"
"31","NFT-031","メモリリークテスト","可用性","ElementNameバインディングメモリリーク","DataTemplate内のElementNameバインディングを持つコントロールを削除後にGC実行","WeakReferenceがGC後に解放されている","WeakReference.IsAlive == false","高","tests/Avalonia.LeakTests/ControlTests.cs"
"32","NFT-032","メモリリークテスト","可用性","HotKeyManagerリファレンスリーク","HotKeyを設定したButtonをデタッチ後にGC実行","ButtonのWeakReferenceがGC後に解放されている","WeakReference.IsAlive == false","中","tests/Avalonia.LeakTests/ControlTests.cs"
"33","NFT-033","メモリリークテスト","可用性","ToolTipメモリリーク","ToolTipを表示・非表示後にコントロールを削除","ToolTip・TextBlockのWeakReferenceが解放","WeakReference.IsAlive == false","中","tests/Avalonia.LeakTests/ControlTests.cs"
"34","NFT-034","メモリリークテスト","可用性","Flyoutメモリリーク","Flyoutを表示・非表示後にコントロールを削除","Flyout・TextBlockのWeakReferenceが解放","WeakReference.IsAlive == false","中","tests/Avalonia.LeakTests/ControlTests.cs"
"35","NFT-035","メモリリークテスト","可用性","LayoutTransformControlメモリリーク","共有Transformを持つLayoutTransformControlを削除後にGC実行","WeakReferenceがGC後に解放されている","WeakReference.IsAlive == false","中","tests/Avalonia.LeakTests/ControlTests.cs"
"36","NFT-036","メモリリークテスト","可用性","FontManagerメモリリーク","複数回のWindow作成・破棄後のFontManager解放","前回のFontManagerがGC後に解放されている","WeakReference.IsAlive == false","高","tests/Avalonia.Headless.UnitTests/LeakTests.cs"
"37","NFT-037","互換性テスト","クロスプラットフォーム","Windows統合テスト","Windows環境でのAppiumテスト実行","全テストケースの実行結果","全テストケースPASS","高","azure-pipelines.yml (windows-2025)"
"38","NFT-038","互換性テスト","クロスプラットフォーム","macOS統合テスト","macOS環境でのAppiumテスト実行","全テストケースの実行結果","全テストケースPASS","高","azure-pipelines.yml (macos-15)"
"39","NFT-039","互換性テスト","クロスプラットフォーム","Linux統合テスト","Ubuntu環境でのビルド・テスト実行","全テストケースの実行結果","全テストケースPASS","高","azure-pipelines.yml (ubuntu-24.04)"
"40","NFT-040","互換性テスト","ランタイム",".NET 10互換性","NET 10.0 SDK環境でのビルド・テスト","ビルド成功・テストPASS","全工程完了","高","azure-pipelines.yml"
"41","NFT-041","互換性テスト","ランタイム",".NET 8ランタイム互換性",".NET 8.0 Runtime環境でのテスト実行","テスト実行結果","全テストケースPASS","中","azure-pipelines.yml"
"42","NFT-042","互換性テスト","モバイル","Android Workload互換性","Android Workloadインストール・ビルド","ビルド成功","ビルドエラーなし","中","azure-pipelines.yml"
"43","NFT-043","互換性テスト","モバイル","iOS Workload互換性","iOS/MacCatalyst Workloadインストール・ビルド","ビルド成功","ビルドエラーなし","中","azure-pipelines.yml"
"44","NFT-044","互換性テスト","Web","WASM Workload互換性","WebAssembly Workloadインストール・ビルド","ビルド成功","ビルドエラーなし","中","azure-pipelines.yml"
"45","NFT-045","UIテスト","ウィンドウ管理","ウィンドウ起動位置テスト","CenterScreen/CenterOwner/Manual各モードでウィンドウを起動","ウィンドウ位置","指定位置に表示される（許容誤差10-15px）","高","tests/Avalonia.IntegrationTests.Appium/WindowTests.cs"
"46","NFT-046","UIテスト","ウィンドウ管理","ウィンドウ状態テスト","Normal/Maximized/FullScreen各状態への遷移","ウィンドウ状態・サイズ","正しい状態に遷移する","高","tests/Avalonia.IntegrationTests.Appium/WindowTests.cs"
"47","NFT-047","UIテスト","ウィンドウ管理","透過ウィンドウテスト","TransparentWindowの表示・スクリーンショット取得","指定位置のピクセル色","期待される色（緑・赤）が表示される","中","tests/Avalonia.IntegrationTests.Appium/WindowTests.cs"
"48","NFT-048","UIテスト","ウィンドウ管理","透過ポップアップテスト","TransparentPopupの表示・スクリーンショット取得","指定位置のピクセル色","期待される色（緑・赤）が表示される","中","tests/Avalonia.IntegrationTests.Appium/WindowTests.cs"
"49","NFT-049","UIテスト","ウィンドウ管理","システムデコレーション変更テスト","SystemDecorationsをNone/Fullに変更","フレームサイズ・位置","変更前後で同一","中","tests/Avalonia.IntegrationTests.Appium/WindowTests.cs"
"50","NFT-050","UIテスト","ウィンドウ管理","リサイズ制限テスト","CanResize=falseのウィンドウで最大化ボタン確認","最大化ボタン状態","Enabled == false","中","tests/Avalonia.IntegrationTests.Appium/WindowTests.cs"
