동시 실행과 실행 순서
serial 속성을 사용한 검사들은 서로 겹치지 않게 실행되지만 어떤 검사가 먼저 실행될지는 보장하지 않는다. 이전 검사가 만든 상태를 다음 검사가 사용하도록 순서를 가정하면 직렬화 후에도 불안정할 수 있다. 각 검사가 필요한 자료를 준비하고 끝난 뒤 상태를 정리하도록 구성한다.
보호받는 대상의 범위
parallel 속성의 검사들은 서로 함께 실행할 수 있지만 대응하는 직렬 검사와는 겹치지 않도록 조정한다. 아무 속성도 없는 검사는 이 규칙의 보호를 받지 않는다. 잠금 키로 자원별 묶음을 나눌 수 있어 모든 검사를 하나로 직렬화하는 비용을 줄일 수 있다. 같은 자원을 다루는 검사들이 같은 규칙에 참여해야 한다.
별도 프로세스의 검사
문서 검사나 통합 검사처럼 프로세스가 나뉘면 파일 잠금 기반 속성을 선택할 수 있다. 일반 serial과 file serial은 다른 잠금 방식을 사용하므로 서로 자동으로 동기화된다고 가정하지 않는다. 실행 조정은 공유 상태를 안전하게 설계하는 일을 대신하지 않으며 필요한 자원의 범위와 검사 프로세스의 경계를 함께 검토한다.
관련 문서
Dhat Rust / Rstest / Nextest / Loom 동시성 테스트