Files
zonemaster.es/zonemaster/docs/internal/requirements/Engine-Functional-Test-Requirements.md
Malin 8d4eaa1489 feat: add full Zonemaster stack with Docker and Spanish UI
- Clone all 5 Zonemaster component repos (LDNS, Engine, CLI, Backend, GUI)
- Dockerfile.backend: 8-stage multi-stage build LDNS→Engine→CLI→Backend
- Dockerfile.gui: Astro static build served via nginx
- docker-compose.yml: backend (internal) + frontend (port 5353)
- nginx.conf: root redirects to /es/, /api/ proxied to backend
- zonemaster-gui/config.ts: defaultLanguage set to 'es' (Spanish)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-21 08:19:24 +02:00

3.7 KiB
Raw Permalink Blame History

Engine - Functional Test requirements

Objective

The purpose of Zonemaster tool is to test the quality of a DNS delegation. The tool comprises of three different functional blocks:

  1. Test engine which comprises of necessary source code to run test implementations and report results
  2. Web GUI will enable users to provide input (such as a domain name with different options) and call the test engine and read results from a web browser
  3. CLI will enable users to provide input (such as a domain name with different options) and call the test engine and read results from a text console

The objective of this document is to run functional tests for the two functional blocks Test engine and GUI. As of now CLI is not within the scope of this document.

Scope

The test specification (which is part of the test engine) implemented has already gone/going through the process of unit testing. Unit testing is done to confirm that a unitary code (such as a single test case source code) component provides the correct output for a given input.

Functional tests are intended to verify whether the code (written as part of the test engine) accurately detects the DNS problem's it is meant to detect with neither false positive nor false negative.

Req Test requirement Explanation Status
FR01 A DNS query with a label that exceeds the maximum length - 63 characters RESTRICTION01 Cannot test
FR02 A FQDN that exceeds the maximum length - 255 octets RESTRICTION02 Cannot test
FR03 A host name label with other than letters, digits and '-'character RESTRICTION03 Not Verified
FR04 CNAME RRs collision (If a CNAME RR is present at a node, no other data should be present; (3.6.2) - RFC 1034) CONFIGURATION01 Did not test
FR05 Zone cyclic dependency CONFIGURATION02 Results inconclusive
FR06 Lame delegation CONFIGURATION03 OK
FR07 Delegation Inconsistency CONFIGURATION04 OK
FR08 Test whether the tool correctly treats the name error with "NXDOMAIN" in response BEHAVIOR01 OK
FR09 Test whether the tool correctly treats when "no such data exist" with "NODATA" in response BEHAVIOR02 OK
FR10 Appropriate results when certain protocols are disabled (e.g.IPv6) BEHAVIOR03 OK
FR11 Test whether the tool run only appropriate tests when the default test profile is modified BEHAVIOR04 KO
FR12 Capable of running the test when the delegation parameters are specified BEHAVIOR05 OK
FR13 Able to test non delegated domain BEHAVIOR05 OK
FR14 Check whether timestamps are being displayed BEHAVIOR06 OK
FR15 IDN verification BEHAVIOR07 OK
FR16 Displays verbose information when it is launched with appropriate flags BEHAVIOR08 OK
FR17 Triggers appropriate error code when the zone is misconfigured BEHAVIOR09 OK