필터링(filtering)

필터링은 미리 정의된 필터 조건과 일치하고 "실패" 작업 결과 상태를 "통과"로 재정의하는 실패한 작업 결과의 사후 처리입니다. 그런 다음 다양한 대상에 대한 인증을 위해 패키지를 제출할 수 있습니다.

필터는 작업 결과 집합을 줄이는 데 사용할 수 있는 제약 조건 집합을 나타냅니다. 작업 결과가 실패하면 선택한 필터의 로그 노드가 작업 결과 로그와 일치합니다. 작업 결과에 대한 실패/통과 횟수는 로그에서 필터링된 테스트 사례의 수에 따라 조정됩니다.

필터는 필터 번호와 버전으로 고유하게 식별됩니다. 필터 상태 및 만료 날짜는 필터가 활성 상태인지 만료되었는지 여부를 나타냅니다. 제목은 필터에 대한 간략한 설명을 제공합니다. 문제 설명 및 해결 방법은 문제 및 해결 방법에 대한 자세한 내용을 제공합니다.

필터 유형은 다음과 같습니다.

  • 테스트 콘텐츠, 운영 체제 또는 Windows HLK(Windows Hardware Lab Kit) 인프라의 버그로 인한 테스트 실패 처리를 위한 오류 필터.

  • 특정 하드웨어 오류에 대한 예외를 허용하는 대체 필터.

  • 실패 원인을 해결하기 위한 자동 심사 필터. 오류 및 대체 필터와 달리 자동 심사 필터는 작업 결과를 실패에서 통과로 변경하지 않습니다.

필터 적용

실패한 작업 결과가 있는 프로젝트에 필터를 적용할 수 있습니다. 필터를 적용하기 전에 Winqual(Windows Quality Online Services)의 최신 필터로 컨트롤러를 업데이트했는지 확인합니다. 실패한 작업 결과에 대해 컨트롤러에 일치하는 필터가 있는 경우 작업 결과가 필터링됩니다. 그러나 작업 결과는 부분적으로 필터링될 수 있습니다(즉, 필터링된 실패 수가 작업 결과의 총 실패 수보다 적음).

string projectName = "existing project";
string controllerName = args[0];

// first, connect to the server
ProjectManager manager = new DatabaseProjectManager(controllerName);

// load the project that has failing task results
Project project = manager.GetProject(projectName);

// instantiate the filter engine for the database project manager
DatabaseFilterEngine filterEngine = new DatabaseFilterEngine(manager);
            
// apply filters to the project; will try to find matching filters for 
// the failing task results in the project
// it's a synchronous (or blocking) call, and depending on the size of 
// the log files and the number of task results to be filtered in the 
// project, the Filter method might take a while
filterEngine.Filter(project);

// retrieve the filters that were applied to the project
ReadOnlyCollection<IFilter> appliedFilters = project.GetAppliedFilters();
Console.Out.WriteLine("{0} filters were applied for project {1}", 
 appliedFilters.Count, projectName);

최신 필터 다운로드

다음 위치에서 최신 필터를 다운로드할 수 있습니다.