Running tests

Selecting test cases from TS 38.523

How to narrow thousands of 3GPP NR test cases down to a relevant set using PICS, release, feature groups, and applicability rules.

7 min read

TS 38.523-1 defines several thousand NR test cases. Almost none of them apply to your device. Applicability is derived mechanically from your PICS declarations — declare capabilities honestly and the applicable set falls out.

Derive the applicable set

bashbash
aeon cases applicable --pics ./pics.yaml --release 18 --json > applicable.json
jq 'length' applicable.json          # e.g. 647
jq -r '.[].id' applicable.json | head

Filter dimensions

  • Release — 15 through 18; a Rel-15 device should not be graded on Rel-17 cases.
  • Mode — SA, NSA/EN-DC, or both.
  • Domain — NAS, RRC, PDCP, RLC, MAC, IMS/VoNR, RRM, RF.
  • Feature groups — RedCap, NTN, carrier aggregation, network slicing.
  • Band and duplex — per-band applicability for RF suites.

Example: 647 NR SA cases

bashbash
aeon cases applicable \
  --release 18 --mode sa \
  --domain nas,rrc,pdcp,rlc,mac \
  --band n78 --count
# 647 applicable cases

aeon exec run --cases-from applicable.json --build main --lanes 12

noteStart from applicability, not from the full suite. Running inapplicable cases produces noise, not coverage.

Run this against a real SDR lane

The tester is a service, not a box. Push a build, reserve a lane, get a verdict.