Zonemaster Test Case Specifications

Table of contents

Background

This is the collection of Test Case specifications for the Zonemaster project. All the details are in the Master Test Plan.

  • The test cases that has been elaborated as Test Case specifications have been defined as a list of test requirements. Each test falls under a specific category.
  • The document hierarchy of the Test Case specifications could be found in the Master Test Plan.

Mapping the Test Requirements to Test Case

  • Each test level has been separated into a separate directory below this directory.
  • Under each test level directory there is a level document (README.md) describing the test level. Links are found below.
  • The Test Cases are listed below. The mapping from Test Requirement to Test Case is found in the Test requirements document.

Elaboration of the Test Case

Test cases are written for almost all Test Requirements. There could be the case that a requirement can be implemented by doing more test cases than one, or that several requirements are solved by only one test case.

Document hierarchy

Each Test Level described in Master Test Plan should be linked directly to the correct level document (the README.md in the test level directory). The level documents are found here:

Other documents

The following documents are linked from and used by the Test Case specifications listed in the table below:

The following documents are useful documents when studying the Test Case specifications:

List of Defined Test Cases

Test Plan/Test CaseTest Case Description
Address-TP
ADDRESS01Name server address must be globally routable
ADDRESS02Reverse DNS entry exists for name server IP address
ADDRESS03Reverse DNS entry matches name server name
Basic-TP
BASIC01Check for the parent zone and the zone itself
BASIC02The domain must have at least one working name server
BASIC03The Broken but functional test
Connectivity-TP
CONNECTIVITY01UDP connectivity to name servers
CONNECTIVITY02TCP connectivity to name servers
CONNECTIVITY03AS Diversity
CONNECTIVITY04IP Prefix Diversity
Consistency-TP
CONSISTENCY01SOA serial number consistency
CONSISTENCY02SOA RNAME consistency
CONSISTENCY03SOA timers consistency
CONSISTENCY04Name server NS consistency
CONSISTENCY05Consistency between glue and authoritative data
CONSISTENCY06SOA MNAME consistency
DNSSEC-TP
DNSSEC01Legal values for the DS hash digest algorithm
DNSSEC02DS must match a valid DNSKEY in the child zone
DNSSEC03Verify NSEC3 parameters
DNSSEC04Check for too short or too long RRSIG lifetimes
DNSSEC05Check for invalid DNSKEY algorithms
DNSSEC06Verify DNSSEC additional processing
DNSSEC07If DNSKEY at child, parent should have DS
DNSSEC08Valid RRSIG for DNSKEY
DNSSEC09RRSIG(SOA) must be valid and created by a valid DNSKEY
DNSSEC10Zone contains NSEC or NSEC3 records
DNSSEC11DS in delegation requires signed zone
DNSSEC12Test for DNSSEC Algorithm Completeness
DNSSEC13All DNSKEY algorithms used to sign the zone
DNSSEC14Check for valid RSA DNSKEY key size
DNSSEC15Existence of CDS and CDNSKEY
DNSSEC16Validate CDS
DNSSEC17Validate CDNSKEY
DNSSEC18Validate trust from DS to CDS and CDNSKEY
Delegation-TP
DELEGATION01Minimum number of name servers
DELEGATION02Name servers must have distinct IP addresses
DELEGATION03No truncation of referrals
DELEGATION04Name server is authoritative
DELEGATION05Name server must not point at CNAME alias
DELEGATION06Existence of SOA
DELEGATION07Parent glue name records present in child
Nameserver-TP
NAMESERVER01A name server should not be a recursor
NAMESERVER02Test of EDNS0 support
NAMESERVER03Test availability of zone transfer (AXFR)
NAMESERVER04Same source address
NAMESERVER05Behaviour against AAAA query
NAMESERVER06NS can be resolved
NAMESERVER07To check whether authoritative name servers return an upward referral
NAMESERVER08Testing QNAME case insensitivity
NAMESERVER09Testing QNAME case sensitivity
NAMESERVER10Test for undefined EDNS version
NAMESERVER11Test for unknown EDNS OPTION-CODE
NAMESERVER12Test for unknown EDNS flags
NAMESERVER13Test for truncated response on EDNS query
NAMESERVER15Checking for revealed software version
Syntax-TP
SYNTAX01No illegal characters in the domain name
SYNTAX02No hyphen ('-') at the start or end of the domain name
SYNTAX03There must be no double hyphen ('--') in position 3 and 4 of the domain name
SYNTAX04The NS name must have a valid domain/hostname
SYNTAX05Misuse of '@' character in the SOA RNAME field
SYNTAX06No illegal characters in the SOA RNAME field
SYNTAX07No illegal characters in the SOA MNAME field
SYNTAX08MX name must have a valid hostname
Zone-TP
ZONE01Fully qualified master nameserver in SOA
ZONE02SOA 'refresh' minimum value
ZONE03SOA 'retry' lower than 'refresh'
ZONE04SOA 'retry' at least 1 hour
ZONE05SOA 'expire' minimum value
ZONE06SOA 'minimum' maximum value
ZONE07SOA master is not an alias
ZONE08MX is not an alias
ZONE09MX record present
ZONE10No multiple SOA records
ZONE11SPF policy validation