Testing & Validation Strategy¶
Last Updated: February 28, 2026 - 21 bugs tracked (17 fixed), AutoIT validation complete (3 VMs, all 6/6 pass), VM 109 running AutoCAD 2026 + NanoCAD 25, 65-workflow test matrix from doc 31, source-mode validation active
Note: This plan is a working draft. Some technical details (exact file provenance, build parity, vendor timelines, pricing, and Autodesk product capabilities) may need verification as we inventory the full legacy tree and validate behavior in modern environments.
Test Infrastructure (Updated Feb 28, 2026)¶
Proxmox VM Environment 🆕¶
ConstructiVision tower computer converted to Proxmox VM — This is now our primary legacy testing environment.
Component |
Details |
|---|---|
Host |
Proxmox VE 8.x (dedicated server) |
Backup |
Automated ZFS snapshots (can clone/revert) |
Remote Access |
Tailscale VPN + SSH |
Patching |
LegacyUpdate.net for XP/Vista updates |
Windows Test VMs (Updated Feb 28, 2026)¶
VM ID |
Name |
Purpose |
Status |
|---|---|---|---|
102 |
XP-CV-V11 |
CV v11.0 reference — cloned from 103, v11.0 installed. AutoIT validation target. |
Running |
103 |
XP-LEGACY |
MASTER COPY — original 2008 GSCI workstation. v7.0 production. DO NOT MODIFY. |
Running |
104 |
XP-TEST |
CV v7.0 patch — Fresh XP SP3 for testing. Deferred VLX loading deployed (Bug 20). AutoIT 6/6 pass. |
Running |
105 |
Install-Dev |
InstallShield IDE — IS 5.0/6.10 compiler environment (cloned from VM 104). |
Stopped |
106 |
Vista-TEST |
Windows Vista test environment. Security-hardened (SMBv1 disabled, DEP AlwaysOn). |
Stopped |
107 |
Win7-TEST |
Windows 7 test environment. Security-hardened (SMBv1 disabled, DEP AlwaysOn). |
Stopped |
108 |
Win10x32-TEST |
Win10 32-bit — CV auto-loads with config script. Junction-swap deployment. |
Running |
109 |
Win10x64-TEST |
Win10 64-bit CAD Workstation — AC2000 + CV working after Wow6432Node COM fix. |
Running |
201 |
Alpha-TEST1 |
Alpha Testing (Tai) — GSCI engineer, PB11-00x32 deployed via |
Running |
202 |
Alpha-TEST2 |
Alpha Testing (Dat) — GSCI engineer, PB11-00x32 deployed via |
Running |
Note
IP addresses, SSH configuration, and network topology have been moved to internal infrastructure documentation for security. See docs-sensitive/vm-infrastructure/ (requires GitHub login).
Alpha Testing VMs (201-202): GSCI engineers (Tai and Dat) access via SSH + RDP. Deployed with scripts/Deploy-AlphaVM.ps1 which switches sparse-checkout to PB11-00x32, updates junction, and creates desktop shortcuts. See alpha-testing-gsci-plan (sensitive).
VM Security Hardening (Applied Jan 29, 2026)¶
Vista-TEST (106) and Win7-TEST (107) have been hardened with the following security measures:
Security Measure |
Vista |
Win7 |
Notes |
|---|---|---|---|
Windows Firewall (all profiles) |
✅ ON |
✅ ON |
Domain, Private, Public all enabled |
Windows Defender |
✅ Running |
✅ Running |
Built-in AV protection |
Panda Antivirus |
✅ Installed |
✅ Installed |
Additional AV layer |
SMBv1 Disabled |
✅ |
✅ |
EternalBlue/WannaCry protection |
Remote Registry Disabled |
✅ |
✅ |
Prevents remote registry access |
SSDP Discovery Disabled |
✅ |
✅ |
Reduces attack surface |
UPnP Host Disabled |
✅ |
✅ |
Prevents UPnP exploits |
Autorun/Autoplay Disabled |
✅ |
✅ |
Malware vector mitigation |
DEP (AlwaysOn) |
✅ |
✅ |
Data Execution Prevention for all programs |
Guest Account Disabled |
✅ |
✅ |
No anonymous access |
WMP Network Sharing |
N/A |
✅ Disabled |
Closed ports 554/10243 |
Registry Changes Applied:
# SMBv1 Disabled (EternalBlue protection)
HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\SMB1 = 0
# Autorun/Autoplay Disabled
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoDriveTypeAutoRun = 255
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoAutorun = 1
Services Disabled:
RemoteRegistry— Remote RegistrySSDPSRV— SSDP Discoveryupnphost— UPnP Device HostWMPNetworkSvc— Windows Media Player Network Sharing (Win7 only)
DEP Configuration:
bcdedit /set nx AlwaysOn
LegacyUpdate.net Patches Applied¶
Critical security patches installed via LegacyUpdate.net on Vista and Win7 VMs:
Windows Vista (VM 106):
KB Number |
Description |
CVE |
|---|---|---|
KB4012598 |
MS17-010 SMB Remote Code Execution (WannaCry) |
CVE-2017-0143 |
KB4493730 |
SHA-2 Code Signing Support |
— |
KB4474419 |
SHA-2 Update for Secure Boot |
— |
KB4054518 |
.NET Framework 4.7.1 Security Update |
Multiple |
KB3205401 |
Internet Explorer 9 Cumulative Update |
Multiple |
Windows 7 (VM 107):
KB Number |
Description |
CVE |
|---|---|---|
KB4012212 |
MS17-010 SMB Remote Code Execution (WannaCry) |
CVE-2017-0143 |
KB4490628 |
SHA-2 Servicing Stack Update |
— |
KB4474419 |
SHA-2 Code Signing Support |
— |
KB4536952 |
Extended Security Update (ESU) Licensing Prep |
— |
KB5017361 |
ESU September 2022 Security Rollup |
Multiple |
KB5022338 |
ESU January 2023 Final Rollup |
Multiple |
LegacyUpdate Installation:
Download from https://legacyupdate.net
Run installer (auto-detects OS version)
Updates Windows Update agent and certificates
Enables access to Microsoft Update Catalog
Apply all critical/important updates
VM Software Verification (Updated Jan 30, 2026)¶
Remote verification of installed software via SSH — Use these commands to verify software installation across all VMs without manual inspection.
Method 1: Program Files Directory Listing (Recommended)
Lists installed programs by checking Program Files folders:
# Check single VM
ssh vista-106 "dir /b C:\PROGRA~1"
# Check all VMs in sequence
@("xp-103", "xp-104", "vista-106", "win7-107") | ForEach-Object {
Write-Host "`n=== $_ ===" -ForegroundColor Cyan
ssh $_ "dir /b C:\PROGRA~1" 2>$null
}
Method 2: WMIC Product Query (Vista/Win7 only)
Lists MSI-installed products (slower, may miss some software):
ssh vista-106 "wmic product get name"
ssh win7-107 "wmic product get name"
⚠️ Note: WMIC may not work on XP and doesn’t show all installed software (only MSI-based installs).
Standardized Testing Stack (Updated Feb 28, 2026):
XP VMs (102–104) run the full testing toolset including AutoIT for automated menu validation. Vista/Win7 VMs have monitoring tools only.
Tool |
Version |
Purpose |
XP-102 |
XP-103 |
XP-104 |
Vista-106 |
Win7-107 |
|---|---|---|---|---|---|---|---|
Total Uninstall |
6.18.0 |
Install monitoring & clean uninstall |
✅ |
✅ |
✅ |
✅ |
✅ |
Regshot |
1.9.0 |
Registry/file snapshot comparison |
✅ |
✅ |
✅ |
✅ |
✅ |
InCtrl5 |
5.0 |
Before/after install snapshots |
✅ |
✅ |
✅ |
✅ |
✅ |
AutoIt3 |
3.3.16 |
UI automation & menu validation |
✅ |
✅ |
✅ |
— |
— |
Supporting Software:
Tool |
Purpose |
XP-102 |
XP-103 |
XP-104 |
Vista-106 |
Win7-107 |
|---|---|---|---|---|---|---|
Supermium |
Modern browser for legacy OS |
✅ |
✅ |
❌ |
✅ |
✅ |
Panda AV 2010 |
Antivirus protection |
✅ |
✅ |
✅ |
✅ |
✅ |
Bitvise SSH |
Remote command execution |
✅ |
✅ |
✅ |
✅ |
✅ |
Legacy Update |
Windows Update access |
✅ |
✅ |
✅ |
✅ |
✅ |
Total Uninstall Version Selection¶
We evaluated multiple versions to find the newest XP-compatible release:
Version |
File Size |
PE Header |
XP Compatible |
Notes |
|---|---|---|---|---|
5.9.0 |
6.4 MB |
Windows 5.00 |
✅ |
Oldest tested |
6.0.0 |
18.9 MB |
Windows 5.00 |
✅ |
— |
6.18.0 |
26.7 MB |
Windows 5.00 |
✅ |
Best choice — newest XP-compatible |
7.6.2 |
15.2 MB |
Windows 6.00 |
❌ |
Vista+ only |
Winner: Total Uninstall 6.18.0 — The most feature-rich version that still supports Windows XP (PE32 for Windows 5.00).
Tool Locations:
Location |
Contents |
|---|---|
|
Primary install monitoring tool |
|
Portable registry/file snapshot tool |
|
Install monitoring tool |
|
UI automation scripting |
|
SSH server for remote access |
Desktop Shortcuts: All 4 tools have shortcuts on Administrator desktop across all VMs:
Total Uninstall 6.lnk
Nightly Build Deployment (Win10 & Alpha VMs)¶
The Windows 10 test VMs and Alpha testing VMs automatically pull the latest ConstructiVision build from GitHub each night using a scheduled task.
Task Name: ConstructiVision Git Pull
Setting |
Value |
|---|---|
Schedule |
Daily at 22:00 |
Run As |
Administrator (Highest privilege) |
Action |
|
VMs |
108 (Win10x32), 109 (Win10x64), 201 (Alpha-Tai), 202 (Alpha-Dat) |
How it works:
Sparse checkout — Each VM clones the repo with
--filter=blob:none --sparse. Sparse-checkout paths depend on architecture:x32 VMs (108, 201, 202):
src/x32/+src/Project Files/x64 VMs (109):
src/x64/+src/Project Files/
Junction-swap deployment —
CV Update.batmanages a directory junction from Program Files into the sparse checkout. On test VMs with both TB and PB builds, it provides an interactive picker to switch between them:C:\Program Files\ConstructiVision → C:\Repos\Constructivision\src\x32\TB11-01x32 or C:\Repos\Constructivision\src\x32\PB11-00x32On alpha VMs with only PB, it runs in pull-only mode (no picker).
Self-update protection —
CV Update.batcopies itself to%TEMP%before runninggit pull, preventing CMD from reading garbage if the batch file itself is modified by the pull.Nightly pull — The scheduled task runs
CV Update.bat /pullat 22:00, downloading only changed blobs.SSH deploy keys — Each VM has its own read-only SSH deploy key (ed25519, no passphrase) registered on the GitHub repo.
Setup script: Each VM has a reference script at C:\Users\Administrator\Desktop\clone-cv.txt containing the key generation, clone, and junction commands (renamed from .cmd to .txt to prevent accidental execution).
Multi-OS Installer Testing (Week 4-5: Feb 10-24) — COMPLETED¶
Test Objectives (Revised Sprint Plan)¶
Context: Week 3 Nero analysis validated wizard approach. Week 4 (Feb 10) achieved breakthrough: AC2000 + CV3.60 installed on all 3 VMs (XP/Vista/Win7) with no UAC issues. 21 bugs documented across all platforms (see Bug Tracker — Validation Campaign). 41 files identical across all platforms.
Decision Point (Feb 28) — COMPLETED:
✅ PASSED (Feb 10): Installer works on XP/Vista/Win7 as Administrator
✅ PASSED (Feb 17): Win10 32-bit (VM 108) — auto-configured via
Configure-ConstructiVision.ps1✅ PASSED (Feb 17): Win10 64-bit (VM 109) — working after Wow6432Node COM registry fix
✅ Source-mode testing active: TB11 loads .lsp directly, enabling rapid iteration
⏳ Next: NanoCAD compatibility testing (free), then latest AutoCAD (purchase required)
Multi-OS Testing Matrix¶
OS |
VM |
Priority |
Status |
Results (Feb 10) |
|---|---|---|---|---|
Windows XP SP3 |
VM 104 |
Baseline |
✅ PASSED |
AC2000 + CV3.60 installed, 41 files deployed, 8 bugs documented |
Windows Vista SP2 |
VM 106 |
P2 |
✅ PASSED |
No UAC issues (logged in as Administrator), identical file deployment |
Windows 7 SP1 |
VM 107 |
P2 |
✅ PASSED |
No UAC issues (logged in as Administrator), identical file deployment |
Windows 10 32-bit |
VM 108 |
P1 |
✅ PASSED |
AC2000 + CV11 working. Auto-configured via |
Windows 10 64-bit |
VM 109 |
P1 |
✅ PASSED |
Working after Wow6432Node COM registry fix (103 CLSIDs, 104 Interfaces, 6 ProgIDs) |
Key Finding (Feb 10): All 3 tested platforms produce identical file deployments (41 files). Bugs are consistent across all OSes. The installer is more compatible than initially feared — the “95% failure rate” was based on non-Administrator testing.
Key Finding (Feb 17–28): Win10 32-bit (VM 108) and 64-bit (VM 109) both fully working with ConstructiVision v11 in source-mode (TB11). Auto-configuration handled by scripts/Configure-ConstructiVision.ps1. Win10x64 required Wow6432Node COM registry fix. Total bugs across all platforms: 21 (see Bug Tracker — Validation Campaign).
Feb 10 Multi-OS Testing Results 🆕¶
Monitoring Tools Used: Total Uninstall 6.18, Inctrl5 1.0.0.0, Regshot 1.9.0, AutoIT 3.3.16 (menu validation automation on XP VMs)
Test Results Summary:
Metric |
XP SP3 (VM 104) |
Vista SP2 (VM 106) |
Win7 SP1 (VM 107) |
|---|---|---|---|
AC2000 Install |
✅ |
✅ |
✅ |
CV3.60 Install |
✅ |
✅ |
✅ |
Files Deployed |
41 |
41 |
41 |
UAC Issues |
N/A |
✅ None (Admin) |
✅ None (Admin) |
Bugs Found |
8 |
8 (same) |
8 (same) |
acad.exe Crash |
No |
Yes (Bug 6) |
Yes (Bug 6) |
Monitoring Data: test-results/{XP,Vista,Win7}-Monitoring/CV360/ (9 files)
Full Analysis: CV360-Installation-Analysis.md (470 lines)
Snapshots Taken:
ac2000-installed-20260210— AC2000 only, all 3 VMscv360-installed-20260210— AC2000 + CV3.60, all 3 VMs
Why testing is the modernization accelerator¶
Without a regression suite, every modernization step is a guess. With a regression suite, every step becomes: “did output match?”
Source-Mode Testing (TB11)¶
TB11-01x32 is the active test build containing 126 .lsp files and 44 .dcl files loaded directly from source — not compiled into a VLX bundle. This enables a significantly faster test cycle compared to traditional VLX-based testing.
How Source-Mode Loading Works¶
acaddoc.lspruns per-document (every drawing opened) and loads the ConstructiVision menu viacsvmenu.lspcsvmenu.lsploads all.lspmodules from the application directory using(load)callsacad.lspprovidesS::STARTUPbackup: setsACADLSPASDOC=0soacad.lspruns once at startup, whileacaddoc.lsphandles per-document initializationStartup Suite disabled:
NumStartup=0in the AutoCAD profile prevents stale VLX from intercepting the load chain
Benefits for Testing¶
Instant iteration: Edit a
.lspfile → restart AutoCAD → changes take effect immediately. No VLX recompilation required.Targeted debugging: Can isolate individual modules by commenting out
(load)calls incsvmenu.lspProduction parity: PB11-00x32 (production baseline) uses the same source files, ensuring TB11 source-mode findings apply directly to the production build
Deferred VLX Compilation¶
VLX compilation is intentionally deferred until the source-mode validation cycle is complete. Once all menu items pass validation and the bug count stabilizes, the .lsp sources will be compiled into csv.vlx for distribution via Autodesk App Store. See Release & Distribution Plan (Modern Windows + Web) for the distribution plan.
Cross-References¶
This document is part of the ConstructiVision modernization documentation suite:
Document |
Purpose |
|---|---|
Release strategy (App Store PRIMARY, WiX ABORTED) |
|
DFMEA failure mode analysis — every bug must link to a DFMEA entry |
|
Authoritative bug tracker — 21 bugs (17 fixed, 1 workaround, 1 open, 2 deployment) |
|
Tech support workflow → GitHub Issues integration |
|
SDLC process (DFSS-aligned) governing this testing strategy |
Test layers¶
0) Environment compatibility baseline (Sprint Weeks 4-5: Feb 10-24)¶
Operating System Matrix:
OS |
VM Required |
AutoCAD Versions |
Priority |
|---|---|---|---|
Windows XP SP3 |
Yes (32-bit) |
R14, 2000, 2002, 2004, 2005, 2006 |
High (legacy baseline) |
Windows Vista |
Yes |
2007, 2008, 2009 |
Medium (transition era) |
Windows 7 |
Yes |
2010, 2011, 2012, 2013 |
High (still in use) |
Windows 10 |
Host or VM |
2014-2024 |
Critical (primary target) |
Windows 11 |
Host or VM |
2022-2026 |
Critical (future-proof) |
AutoCAD Version Groups:
Group |
AutoCAD Versions |
OS Compatibility |
VLX Format |
|---|---|---|---|
Legacy 32-bit |
R14, 2000, 2002, 2004, 2005, 2006 |
XP, Vista |
VLX (32-bit) |
Transition |
2007, 2008, 2009 |
XP, Vista, 7 |
VLX (32-bit) |
Modern 32/64 |
2010, 2011, 2012, 2013 |
Vista, 7, 8 |
VLX (32/64-bit) |
64-bit Only |
2014-2026 |
7, 8, 10, 11 |
VLX (64-bit) |
Minimum Coverage Test Matrix (Updated Feb 28):
Test |
XP + ACAD 2000 |
Vista + ACAD 2000 |
Win7 + ACAD 2000 |
Win10x32 + ACAD 2000 |
Win10x64 + ACAD 2000/2026/NanoCAD 25 |
|---|---|---|---|---|---|
Installer runs |
✅ |
✅ |
✅ |
✅ |
✅ (Total Uninstall) |
Installer completes |
✅ |
✅ |
✅ |
✅ |
✅ (bypass 16-bit) |
AutoCAD detects CSV |
⚠️ Bug 1,3 |
⚠️ Bug 1,3 |
⚠️ Bug 1,3 |
✅ (auto-config) |
✅ (auto-config + registry fix) |
VLX loads |
✅ (manual) |
✅ (manual) |
✅ (manual) |
✅ (auto) |
✅ (auto) |
Menu appears |
⚠️ Bug 3 |
⚠️ Bug 3 |
⚠️ Bug 3 |
✅ (auto) |
✅ |
Basic command works |
✅ |
✅ |
✅ |
✅ |
✅ (after Wow6432Node fix) |
Dialog opens (DCL) |
✅ |
✅ |
✅ |
✅ |
✅ |
AutoIT validation |
✅ (VM 102/103/104) |
— |
— |
— |
— (manual testing only) |
NanoCAD 25 |
— |
— |
— |
— |
✅ (exploratory, LSP-only) |
AutoCAD 2026 |
— |
— |
— |
— |
✅ (VM 109) |
Uninstaller works |
⬜ |
⬜ |
⬜ |
⬜ |
⬜ |
Note (Feb 28): Win10x32 (VM 108) fully working with auto-configuration script (
scripts/Configure-ConstructiVision.ps1). Win10x64 (VM 109) fully working after Wow6432Node COM registry fix (103 CLSIDs, 104 Interfaces, 6 ProgIDs copied). Both x32 and x64 builds are crash-free. Source-mode testing active with deferred VLX loading viaacaddoc.lsp. VM 109 also running AutoCAD 2026 and NanoCAD 25 for forward-compatibility testing (see ConstructiVision TB11-01x64 — Architecture & Deployment). Total bugs across all platforms: 21 — see Bug Tracker — Validation Campaign.
Iterative Fix Cycle:
Test on Platform → Document Issues → Triage → Fix .lsp → Retest All
Source-mode testing: TB11 loads
.lspfiles directly (not compiled VLX), so fixes are instant — edit.lsp, restart AutoCAD, retest. No recompilation step needed.Regression test on ALL platforms after each fix round
Budget 2 weeks for iterative cycles (may extend)
All bugs tracked in Bug Tracker — Validation Campaign with DFMEA cross-references per 31 — Comprehensive Workflow & Human Factors Analysis
1) Smoke tests (fast, every build)¶
Smoke tests confirm that ConstructiVision loads and responds to basic commands. These run on every code change before deeper validation.
Automated (AutoIT): scripts/cv-menu-validation.au3 Phase 3 exercises the 6 top-level menu entries (csv, slope calculator, create/edit project/drawing, batch utilities) and confirms each dialog opens without error. This is the automated smoke test — if any of the 6 fail, the build is broken. See Software Development Lifecycle Phase 3a for the DFSS context.
Manual (source-mode): On Win10 VMs (108, 109), edit a .lsp file → restart AutoCAD → type csv at command line → confirm Program Options dialog appears. Source-mode loading means zero compilation delay.
Smoke test checklist:
Test |
Method |
Expected Result |
Time |
|---|---|---|---|
AutoCAD launches without crash |
SSH: |
Process running, no |
30s |
|
Type |
Program Options dialog appears |
5s |
All 93 modules loaded |
|
No |
10s |
Menu visible |
Visual check or AutoIT |
“ConstructiVision” menu in menu bar |
5s |
Panel drawing opens |
Open |
Panel displayed with title block |
10s |
Site drawing opens |
Open |
Site drawing displayed |
10s |
1.5) VLX Compilation Verification — COMPLETED (Week 3)¶
Goal: Prove we can rebuild VLX binaries from LSP source and validate against originals.
Status (Feb 28): VLX recompilation verified for v3.60. Source-mode testing (TB11) is now the primary development path — VLX compilation is deferred until the 65-workflow validation cycle (from 31 — Comprehensive Workflow & Human Factors Analysis Section 6) reaches stability. See Source-Mode Testing section above.
Completed verification:
✅ Compiled all LSP files → FAS → VLX using VLIDE (AutoCAD 2000 on VM 102)
✅ Compared compiled VLX size to original (v3.60: 1,103,600 bytes)
✅ Captured function lists via
(atoms-family 1)— original vs compiled✅ Diff confirmed: 109 FAS modules match (from binary analysis in v3.60 Source Recovery — Missing Dependency Fix)
✅ Basic commands verified with compiled VLX
Function List Capture Script:
(defun capture-vlx-functions (vlx-path output-file / baseline new-atoms fp)
(setq baseline (atoms-family 1))
(load vlx-path)
(setq new-atoms (vl-remove-if
'(lambda (x) (member x baseline))
(atoms-family 1)))
(setq fp (open output-file "w"))
(foreach a (vl-sort new-atoms '<)
(write-line (vl-princ-to-string a) fp))
(close fp)
(length new-atoms))
Results:
v3.60 VLX: 109 FAS modules confirmed
v11 (TB11): 126
.lsp+ 44.dclloaded in source-mode — VLX compilation deferredv7.0 VLX: Matches v11 module set (same product lineage, VM 103 baseline)
2) Regression tests (per fix cycle)¶
Regression testing validates that fixes don’t break previously-working functionality. The test matrix is derived from 31 — Comprehensive Workflow & Human Factors Analysis Section 6 (65 independently testable workflows).
Automated regression (AutoIT): After each fix commit, re-run cv-menu-validation.au3 on VMs 102, 103, and 104. Compare screenshots against baseline runs in reports/ocr-output/vm{102,103,104}-final/. The OCR pipeline (scripts/ocr-screenshots.py) extracts dialog text for automated diff.
Manual regression (priority workflows): Run the Priority 1 workflows from the Comprehensive Menu Validation section above:
Category |
Workflows |
Method |
Expected |
|---|---|---|---|
Core Panel |
P-01, P-02, P-03, P-13, P-14/15, P-20, P-21 |
Manual on VM 108/109 |
Panel generates with correct geometry |
Batch & Print |
B-01, B-02, B-07 |
Manual on VM 102 |
Batch completes, |
Engineering |
E-01, E-02 |
Manual on VM 102 |
CSV/MB files exported correctly |
Site Drawing |
S-01, S-05 |
Manual on VM 102 |
Site drawing created, panels attached |
Utility |
U-06 |
Manual on VM 104 |
Registration flow completes |
Cross-VM regression: After fixing any deployment-related bug (like Bugs 19–21), verify the fix on ALL active VMs (102, 104, 108, 109) before marking complete. The DFSS validation loop (doc 35 Phase 3) requires platform-independent verification.
OCR comparison method:
# Capture new screenshots
ssh Administrator@<VM_IP> "at HH:MM /interactive C:\run-validation.bat"
# Copy to developer workstation
scp Administrator@<VM_IP>:"C:\CV-Validation\VM102\*" reports/ocr-output/vm102-regtest/
# Run OCR pipeline
python scripts/ocr-screenshots.py reports/ocr-output/vm102-regtest/
# Diff against baseline
diff reports/ocr-output/vm102-final/ocr-output/summary.txt reports/ocr-output/vm102-regtest/ocr-output/summary.txt
3) Demo tests (release candidate)¶
Before any distribution milestone (App Store submission, alpha handoff), run the complete demo workflow end-to-end on a clean environment.
Demo script (full cycle):
Fresh AutoCAD 2000 launch (no prior CV state)
Load ConstructiVision via
csvmenu.lsp(source-mode) orcsv.vlx(compiled)Create new project → Create new panel drawing → Define panel with openings + weld connections + pick points
Generate panel → verify 3D solid, dimensions, title block
Create site drawing → Attach panel → Print site layout
Batch print all panels in project
Export engineering data (Dayton/Richmond CSV)
Print materials list → verify
matlist.txt
Demo platforms (Updated Feb 28):
Platform |
VM |
AutoCAD |
Status |
|---|---|---|---|
Windows XP SP3 |
VM 102 |
AutoCAD 2000 (v11) |
✅ Baseline — all 6 menu items pass |
Windows XP SP3 |
VM 104 |
AutoCAD 2000 (v3.60) |
✅ Deferred VLX loading (Bug 20 fix) |
Windows 10 32-bit |
VM 108 |
AutoCAD 2000 |
✅ Source-mode, auto-configured |
Windows 10 64-bit |
VM 109 |
AutoCAD 2000 (WoW64) |
✅ After Wow6432Node COM fix |
Windows 10 64-bit |
VM 109 |
AutoCAD 2026 |
⏳ Forward-compatibility testing |
Windows 10 64-bit |
VM 109 |
NanoCAD 25 |
⏳ Exploratory (LSP-only, no VLX/COM) |
Demo acceptance gate (from Software Development Lifecycle §6.4): Zero new Critical/High bugs during demo run. All 8 demo steps complete without user intervention or workarounds.
4) UI Reference Documentation — COMPLETED (Doc 31)¶
The UI reference documentation effort has been completed as 31 — Comprehensive Workflow & Human Factors Analysis (923 lines). This supersedes the original Week 3 placeholder plan.
What doc 31 provides (replacing the original menu-tree/command-reference deliverables):
Doc 31 Section |
Content |
Lines |
|---|---|---|
§3.1 Master Navigation Flow |
Complete menu routing from AutoCAD startup through |
107–200 |
§3.2–3.7 Workflow Maps |
6 detailed workflow maps: Panel creation, Panel editing, Batch processing, Site drawing, Engineering export/import, Materials list |
200–400 |
§4 Manual ↔ Code Cross-Reference |
45-row table mapping every CSV Manual section to DCL file, LSP file(s), menu ID, and status (38 verified, 6 concerns, 1 broken) |
405–465 |
§6 Critical Workflow Test Matrix |
65 independently testable workflows across 5 categories (P-01 to P-24, B-01 to B-08, E-01 to E-06, S-01 to S-07, U-01 to U-06) |
509–590 |
§8 Human Factors Analysis |
Nielsen’s 10 heuristics evaluation, complexity metrics (1,826 input fields, 65 dialogs), error probability analysis |
637–730 |
Appendix A Complete Call Graph |
Full function call graph for all major subsystems |
675–727 |
Appendix B Dialog Inventory |
44 DCL dialogs, ~5,736 controls — largest: |
874–923 |
Original deliverables — status:
→ Superseded by doc 31 §3 + §4 (45-row cross-reference with LSP/DCL mapping)menu-tree.md→ Superseded by AutoIT screenshot captures inui-reference/menu-tree/reports/ocr-output/vm{102,103,104}-final/→ Superseded by doc 31 §6 (65-workflow test matrix with entry points, steps, and exit criteria)command-reference.md
Golden datasets¶
The ConstructiVision Sample Building project serves as the golden dataset for validation. These are actual project files shipped with the product and used in the AutoIT validation runs.
Primary test artifacts (in src/Project Files/ConstructiVision Sample Building/):
File |
Type |
Purpose |
|---|---|---|
|
Panel drawings |
Individual panel definitions with full geometry |
|
Site drawing |
Site layout with grid lines and panel attachments |
|
Project file |
Project configuration and panel list |
Test usage:
AutoIT validation: Phase 1 opens
CSB001.dwg(panel), Phase 5 opensCSBsite1.dwg(site)Manual regression: Create new panel in Sample Building project, verify against existing panels
Batch testing: B-01/B-02 run against all panels in
CSBsite1.dwgEngineering export: E-01/E-02 export from Sample Building panels, verify CSV output
Baseline comparison data:
reports/ocr-output/vm102-final/— v11 reference screenshots (11 images, 6/6 pass)reports/ocr-output/vm103-final/— v7.0 reference screenshots (10 images, 6/6 pass)reports/ocr-output/vm104-final/— v7.0 patch reference screenshots (11 images, 6/6 pass) — successful re-run after Bug 20 fixreports/ocr-output/vm104-feb28/— v7.0 patch failed run (VLX not loaded, Bug 20) — retained for historical reference_extract/vm102-total-uninstall/— VM 102 filesystem + registry snapshot_extract/vm103-total-uninstall/— VM 103 filesystem + registry snapshot
Edge cases: Panels with all 20 features enabled simultaneously (P-20 workflow) stress-test the Boolean pipeline. The wc_dlg dialog with 615 controls across 5 pages is the densest UI path. See 31 — Comprehensive Workflow & Human Factors Analysis §8.3 for error probability analysis.
Output comparison strategy¶
Comparison leverages the OCR pipeline and cross-VM validation to detect regressions.
Automated (OCR text comparison):
Comparison |
Source |
Target |
Method |
|---|---|---|---|
Dialog titles |
|
New run OCR output |
Text diff — titles must match exactly |
Menu item count |
AutoIT |
New run log |
6/6 items must PASS |
Screenshot count |
Baseline: 11 (VM 102), 10 (VM 103), 11 (VM 104) |
New run |
Count must match or exceed baseline |
Manual (structured outputs):
matlist.txt — Materials list text file: compare line-by-line (quantities, hardware counts, concrete yardage)
Engineering CSV (dreng.lsp output) — Field-by-field comparison: panel dimensions, face codes (U/D), brace positions
DWG metadata — Compare layer names, block counts, title block attribute values via AutoLISP inspection
Panel dimensions — Tolerance-based: ± 0.001” for ft-in-fraction values (rangchck.lsp precision)
Cross-version comparison (3-VM):
The 3-VM strategy (VM 102 = v11, VM 103 = v7.0, VM 104 = v7.0 patch) enables version regression detection. All 3 VMs now pass AutoIT 6/6 — dialog content is identical across VMs 102 and 104. VM 103 (v7.0) has expected wording differences on Drawing Setup and Create New Drawing dialogs. The only visual discrepancy is the zoom/center of opened drawings — VM 104 captures the command line area in drawing screenshots while VM 102 captures the drawing viewport, likely due to desktop resolution or AutoCAD window layout differences. Doc 31’s 45-row cross-reference (§4) documents expected behavioral differences between versions.
Acceptance criteria¶
Acceptance criteria are derived from the DFSS Voice of the Customer → CTQ matrix (see Software Development Lifecycle §9.1).
Must match exactly:
Criterion |
Measurement |
Source |
|---|---|---|
All 6 top-level menu commands respond |
AutoIT Phase 3: 6/6 PASS |
|
All 93 modules load without error |
|
AutoCAD command line |
Panel solid generation completes |
|
File existence check |
Engineering export matches baseline |
Field-by-field CSV comparison |
|
Menu registration correct |
|
|
Can vary within tolerance:
Criterion |
Tolerance |
Reason |
|---|---|---|
Panel dimensions |
± 0.001” |
ft-in-fraction parsing precision |
Center of gravity (centgrav.lsp) |
± 0.01 units |
MASSPROP floating-point variation |
Materials list quantities |
Exact match |
Integer counts — no tolerance |
Batch completion time |
± 50% |
VM performance varies |
Acceptable modernization deltas:
Delta |
Status |
Justification |
|---|---|---|
DCL dialog titles differ between v3.60 and v11 |
✅ Expected |
v3.60 used generic “AutoCAD 2000” titles; v7.0+ set explicit dialog labels |
WinHelp ( |
✅ Known (DFMEA #10, RPN=500) |
Help system replacement is a future milestone |
4 menu items route to same dialog |
✅ Known (DFMEA #13, BRK-05) |
|
NanoCAD 25: no VLX/ARX/COM support |
✅ Expected |
LSP-only fork ( |
Tools & automation¶
Active testing tools (deployed and validated):
Tool |
Version |
Location |
Purpose |
|---|---|---|---|
AutoIT |
3.3.16 |
|
Automated UI testing — |
OCR pipeline |
Python + Tesseract |
|
BMP→PNG conversion + text extraction for screenshot comparison |
Total Uninstall |
6.18.0 |
|
Filesystem + registry snapshot before/after install |
Regshot |
1.9.0 |
|
Quick registry diff for targeted changes |
InCtrl5 |
5.0 |
|
Before/after install snapshot comparison |
SSH + |
XP built-in |
All VMs via Bitvise SSH Server |
Remote execution of AutoIT scripts (only method for interactive GUI on XP) |
Configure-ConstructiVision.ps1 |
— |
|
Automated environment setup on Win10 VMs |
Testing infrastructure (from Software Development Lifecycle §3):
Component |
Purpose |
DFSS Phase |
|---|---|---|
AutoIT automation |
Validate $Y$ (menu response) against specification |
Phase 3: Validate |
OCR text extraction |
Detect regressions by comparing dialog text across runs |
Phase 3: Validate |
Total Uninstall snapshots |
Diagnose $X$ (filesystem/registry state) when $Y$ fails |
Phase 4: Analyze |
SSH remote commands |
Measure $X$ on VMs without manual login |
Phase 4: Analyze |
DFMEA table (doc 31 §9) |
Predict failures before testing — prioritize by RPN |
Phase 5: Optimize |
Bug tracker (doc 32) |
Bidirectional traceability: bug → DFMEA → test → fix |
All phases |
Immediate next steps¶
Completed: 5-Week Sprint (Jan 21 – Feb 24) ✅¶
See installer-rebuild-sprint.md for the detailed day-by-day plan. (archived)
Week 1 (Jan 21-27): v3.60 Installer Rebuild¶
Setup InstallShield 5.x in Windows XP VM
Import
setup.rul(4,163 lines decompiled InstallScript)Compile and test installer in XP VM
Create pre/post install snapshots
Run WinDiff to document all system changes
Fix known bugs (registry profile detection, AutoCAD running check)
Week 2 (Jan 27 – Feb 3): v7.0 Reverse Engineering¶
Inspect existing v7.0/v11 desktop installation
Export registry keys and file listings
Compare v3.60 vs v7.0 differences
Document target state specification
Draft v7.0 installer script (deferred — WiX approach aborted)
Weeks 4-5 (Feb 10-24): OS/AutoCAD Compatibility Testing¶
Setup VMs: XP SP3, Vista, Win 7, Win 10 (32-bit and 64-bit)
Install appropriate AutoCAD versions
Run test matrix (8 tests × 5 platforms)
Document all issues found — 21 bugs in Bug Tracker — Validation Campaign
Iterative fix cycles (source-mode .lsp fixes, retest)
Regression test final build on all platforms
Week 6 (Feb 24-28): AutoIT Validation + Documentation¶
Develop
cv-menu-validation.au3(572 lines)Run automated validation on VMs 102, 103, 104 (3 final runs + 8 debug runs)
OCR pipeline — screenshots → text extraction →
reports/ocr-output/Cross-reference AutoIT results with doc 31 workflow matrix
Deploy deferred VLX loading to VM 104 (Bug 20 fix)
VM 109 CAD workstation — AutoCAD 2026 + NanoCAD 25 installed
NanoCAD 25 fork —
nanocad25/subdirectory with reduced 150-file setDoc 35 SDLC document (1,007 lines)
Doc 06 testing strategy overhaul (this document)
Remote Access Setup (parallel, by Feb 14)¶
Enable SSH + RDP for alpha testers (Tai, Dat)
Document access procedures —
scripts/Deploy-AlphaVM.ps1Setup audit logging (deferred)
Next Phase: Sub-Dialog Feature Validation (March 2026)¶
The AutoIT automation covers the 6 top-level menu entries. The remaining 59 of 65 workflows from 31 — Comprehensive Workflow & Human Factors Analysis Section 6 require manual or extended AutoIT testing:
Priority 1 — Critical Workflows (must pass before App Store release):
P-02: Create simple panel with dimensions → verify DWG output
P-03: Panel with openings (windows subtracted from solid)
P-13: Weld connections (wc_dlg — 5 pages, 615 controls)
P-14/P-15: Pick points and brace points (block placement)
P-20: Panel with ALL features enabled simultaneously
P-21: Edit existing panel → modify → regenerate
B-01/B-02: Batch print all / batch redraw all
B-07: Print materials list → verify
matlist.txtoutputE-01/E-02: Dayton/Richmond + Meadow-Burke export → verify CSV/file output
S-01: Create site drawing → verify blank site
U-06: Registration manager (license activation flow)
Priority 2 — High Workflows:
P-04/P-05: Panels with doors / blockouts
P-10: Panel with chamfer (edge chamfers)
P-22: Copy panel as template
S-02: Grid lines (grid_dlg — 208 edit boxes)
S-05: Attach panels to site drawing
E-04/E-05: Import .pan / .pnl files
U-03: WC Edit (connection library update)
Priority 3 — NanoCAD + AutoCAD 2026 Compatibility:
Verify CV .lsp loading in NanoCAD 25 on VM 109
Test panel creation workflow in NanoCAD 25 (LSP-only, no COM)
Test CV source-mode loading in AutoCAD 2026 on VM 109
Document NanoCAD-vs-AutoCAD behavioral differences
Validate 150-file
nanocad25/fork against 187-fileacad2000/set
Priority 4 — VLX Compilation & Distribution:
Compile TB11 source →
csv.vlxonce sub-dialog validation stabilizesPackage as
.bundlefor Autodesk App Store (see Release & Distribution Plan (Modern Windows + Web))Test
.bundleinstallation on clean VMCreate NanoCAD distribution package (LSP-only, no VLX)
Priority 5 — GitHub Native Fleet & Deployment Integration:
GitHub provides several native features that could replace or augment the current custom tooling. These are future enhancements, not blockers for the March 2026 release.
GitHub Environments — Define named environments (VM102-XP, VM104-XP, VM108-Win10, etc.) with deployment history. Shows which VM has which commit deployed. Native feature, no custom code needed beyond workflow configuration.
Deployment API — After
CV Update.batpulls, POST a deployment status to GitHub (commit hash, VM name, success/fail). Shows on the repo’s “Deployments” tab. Win10 VMs can useghCLI directly; XP VMs would needcurlwith a PAT token or relay through dev machine.GitHub Check Runs — Attach validation test results (OCR summaries) to specific commits. Shows pass/fail inline on commit pages. Requires a GitHub App or PAT-based API call after validation runs.
GitHub Projects (v2) — Kanban/table board for “Fleet Status” or “Validation Results” with custom fields and automation. Manual unless scripted.
Self-hosted Actions runners — Install runner agent on Win10 VMs (108, 109, 201, 202) to execute workflows on push and report online/offline status. Requires .NET Core — NOT viable for XP VMs (102, 103, 104).
Note
XP limitation: GitHub CLI (gh), self-hosted runners, and modern HTTPS certificate chains all require runtimes unavailable on Windows XP. XP VMs (102–104) will always need relay through the dev machine or a proxy VM for API-based reporting. Win10 VMs (108, 109, 201, 202) can use these features directly.
Deliverables¶
Completed (Sprint Jan 21 – Feb 28):
✅
reports/ocr-output/vm{102,103,104}-final/— AutoIT validation screenshots + logs✅
reports/ocr-output/*/ocr-output/summary.txt— OCR text extraction✅
scripts/cv-menu-validation.au3— Automated UI validation script (572 lines)✅
scripts/ocr-screenshots.py— BMP→PNG + Tesseract OCR pipeline✅ 31 — Comprehensive Workflow & Human Factors Analysis — 45-row cross-reference + 65-workflow test matrix + 44-dialog inventory
✅ Bug Tracker — Validation Campaign — 21 bugs with DFMEA cross-references
✅ Software Development Lifecycle — SDLC process (1,007 lines)
Remaining:
⏳ Sub-dialog feature validation report (59 workflows from doc 31 Section 6)
⏳ NanoCAD 25 compatibility report
⏳ AutoCAD 2026 compatibility report
⏳ VLX compilation report (deferred until source-mode validation complete)
⏳
.bundlepackaging for Autodesk App Store