Skip to main content

QA Testing Workflow

QA Testing for Document Generation​

This guide provides QA team members with tools, checklists, and workflows for testing OOXML/SFDT document generation effectively—even without deep technical knowledge.


Essential QA Tools​

1. Open XML SDK Productivity Tool ⭐ REQUIRED​

Download: GitHub Releases

Purpose: Visual OOXML structure inspector and validator

What it does:

  • Shows document structure as tree
  • Validates XML against schema
  • Displays validation errors
  • Compares two documents
  • Shows C# code generation

How to use:

  1. Download and install
  2. File → Open → Select your DOCX
  3. View structure in left panel
  4. Click "Validate" button
  5. Review errors in bottom panel

When to use:

  • Document shows "repair" dialog in Word
  • Content missing or corrupted
  • Need to understand document structure
  • Verify fix worked

2. 7-Zip or WinRAR ⭐ REQUIRED​

Download: 7-Zip

Purpose: Explore DOCX as ZIP archive

How to use:

  1. Copy DOCX file
  2. Rename from .docx to .zip
  3. Right-click → 7-Zip → Open Archive
  4. Browse /word/ folder
  5. Check for images in /word/media/

When to use:

  • Images missing
  • Check if image files exist
  • Inspect relationships
  • Manual debugging

3. Microsoft Word (Developer Tab) ⭐ REQUIRED​

Enable Developer Tab:

  1. File → Options → Customize Ribbon
  2. Check "Developer" in right panel
  3. Click OK

Purpose: Inspect content controls, styles

Features:

  • Design Mode: Show content control tags
  • Properties: View SDT properties
  • Protect Document: Test locked controls

When to use:

  • Verify content controls work
  • Check mail merge fields
  • Test form functionality

4. Oxygen XML Editor (Optional)​

Purpose: Advanced XML editing and validation

Features:

  • Syntax highlighting
  • Schema validation
  • XPath testing
  • XML formatting

When to use: Advanced debugging only


QA Testing Checklist​

Level 1: Visual Inspection (5 min)​

Open document in Word and check:

  • Document opens without errors
  • No "repair" dialog appears
  • All text visible and correct
  • All images visible
  • Tables display correctly
  • Formatting looks correct (fonts, colors, sizes)
  • Page breaks in right places
  • Headers/footers appear
  • No unexpected blank pages

If any fail → Record details and report to developer


Level 2: Structure Validation (10 min)​

Use OpenXML SDK Productivity Tool:

  1. Open document in tool
  2. Click "Validate" button
  3. Review errors
  • Zero validation errors
  • All parts present (document.xml, styles.xml, etc.)
  • Relationships all resolved
  • No missing images

Common errors to report:

  • "Element X cannot be child of element Y"
  • "Required element missing"
  • "Attribute required"
  • "Invalid attribute value"

Level 3: Content Verification (15 min)​

Verify content accuracy:

  • All merge fields populated
  • Property data correct
  • Comparable properties list complete
  • All photos present and correct property
  • Tables have all expected rows
  • Calculations correct
  • Dates formatted correctly
  • Currency values formatted ($X,XXX)

Level 4: Functional Testing (10 min)​

Test document functionality:

  • Can copy text
  • Can edit paragraphs (if not locked)
  • Links clickable and go to correct URL
  • Content controls work (if editable)
  • Tables can be resized (if not locked)
  • Print preview looks correct
  • Save as PDF works
  • Can email document

Level 5: Round-Trip Test (15 min)​

Test document stability:

  1. Open document in Word
  2. Make minor edit (add space)
  3. Save
  4. Close and reopen
  5. Verify document still works
  • Reopens without errors
  • No corruption after save
  • Formatting preserved
  • Images still visible

Testing Scenarios for AppraiSys​

Scenario 1: Single Property Report​

Test Steps:

  1. Generate report for single property
  2. Visual inspection
  3. Verify property data
  4. Check comparable properties table
  5. Verify all photos

Expected:

  • Executive summary table
  • Property description
  • 3-6 comparable properties
  • Multiple property photos
  • Appraiser signature section

Scenario 2: Multi-Property Report​

Test Steps:

  1. Generate report with multiple properties
  2. Check section breaks
  3. Verify each property has own section
  4. Check headers different per section

Expected:

  • Clear section separation
  • Each property independently formatted
  • Correct property in each section header

Scenario 3: Image-Heavy Report​

Test Steps:

  1. Generate report with 20+ images
  2. Visual inspection of all images
  3. Check for image size consistency
  4. Verify captions

Expected:

  • All images display
  • Images properly sized
  • Page breaks logical
  • No overlapping content

Scenario 4: Report with Merged Cells​

Test Steps:

  1. Generate report with complex tables
  2. Inspect cell merging
  3. Verify borders continuous
  4. Check text alignment in merged cells

Expected:

  • Merged cells display correctly
  • No broken borders
  • Text properly centered/aligned

Common Issues and How to Report​

Issue: Document Shows "Repair" Dialog​

What it looks like:

"Word found unreadable content in [filename]. Do you want to recover the contents of this document?"

What to capture:

  1. Screenshot of error
  2. Document ID / report ID
  3. Steps to reproduce
  4. What was clicked when error appeared

What to report:

**Title**: Document requires repair dialog
**Report ID**: [ID]
**Steps**:
1. Generate report
2. Open in Word
3. Repair dialog appears
**Expected**: Opens without repair
**Actual**: Requires repair
**Screenshot**: [attach]

Issue: Images Not Showing​

What it looks like:

  • Empty boxes where images should be
  • Red X placeholder
  • "Image cannot be displayed"

What to check:

  1. Open DOCX as ZIP (rename to .zip)
  2. Look in /word/media/ folder
  3. Are image files present?

What to report:

**Title**: Property images not displaying
**Report ID**: [ID]
**Images present in ZIP**: Yes/No
**Number of images missing**: X
**Screenshot**: [attach]

Issue: Tables Look Wrong​

What it looks like:

  • Cells wrong width
  • Text cut off
  • Borders missing
  • Cells misaligned

What to capture:

  1. Screenshot of expected layout
  2. Screenshot of actual layout
  3. Table location in document

What to report:

**Title**: Table layout incorrect
**Report ID**: [ID]
**Location**: Page X, Section Y
**Issue**: Cells wrong width / borders missing / etc.
**Screenshots**: [before/after or expected/actual]

Issue: Missing Content​

What it looks like:

  • Sections missing
  • Paragraphs missing
  • Tables incomplete

What to check:

  1. Is data present in source system?
  2. Does template have correct fields?
  3. Did mail merge complete?

What to report:

**Title**: Missing content in report
**Report ID**: [ID]
**Missing**: Property description / Table rows / etc.
**Data exists in system**: Yes/No
**Screenshot**: [attach]

Using OpenXML SDK Tool - Step by Step​

Task: Validate a Document​

Steps:

  1. Open OpenXML SDK Productivity Tool
  2. File → Open → Select DOCX
  3. Wait for document to load
  4. Click "Validate" in toolbar
  5. Review "Document Validation Results" panel

Interpreting Results:

✅ Success:

Validation complete. No errors found.

→ Document is structurally valid

❌ Errors:

Error: Element 'table' cannot be a child of element 'run'
Path: /document/body/p[2]/r[1]

What this means:

  • Table incorrectly placed inside run
  • Location: 2nd paragraph, 1st run
  • Developer needs to fix table placement

What to report: Copy entire error message


Task: Compare Two Documents​

When to use: After bug fix, compare original vs fixed

Steps:

  1. Tools → Compare Files
  2. Select "Original File" (broken document)
  3. Select "Revised File" (fixed document)
  4. Click "Compare"
  5. Review differences

What to look for:

  • Green = Added elements (good if fix)
  • Red = Removed elements (check if expected)
  • Yellow = Modified elements

Task: View Document Structure​

Steps:

  1. Open document in tool
  2. Left panel shows tree structure
  3. Expand document → body
  4. Browse paragraphs, tables, etc.

What to check:

  • Paragraphs contain runs contain text
  • Tables contain rows contain cells contain paragraphs
  • No unexpected nesting

Red flags:

  • Run containing table (wrong!)
  • Paragraph containing table (wrong!)
  • Cell without paragraph (wrong!)

Manual XML Inspection (Advanced)​

When to Use​

  • OpenXML SDK tool won't open document
  • Need to see raw XML
  • Developer asks for specific XML snippet

Steps​

  1. Copy DOCX file
  2. Rename to .zip
  3. Extract with 7-Zip
  4. Navigate to /word/document.xml
  5. Open in text editor (Notepad++)
  6. Search for issue location

What to Look For​

Good paragraph:

<w:p>
<w:r>
<w:t>Text</w:t>
</w:r>
</w:p>

Bad paragraph (missing run):

<w:p>
<w:t>Text</w:t> <!-- ERROR: Text directly in paragraph -->
</w:p>

Good table:

<w:body>
<w:tbl> <!-- Table at body level -->
...
</w:tbl>
</w:body>

Bad table:

<w:p>
<w:r>
<w:tbl> <!-- ERROR: Table in run -->
...
</w:tbl>
</w:r>
</w:p>

Round-Trip Testing​

Purpose​

Verify document remains stable after:

  • Opening and saving
  • Converting DOCX → SFDT → DOCX
  • Making edits

Test Procedure​

Phase 1: DOCX Stability

  1. Generate report (save as original.docx)
  2. Open in Word
  3. Make minor edit (add period)
  4. Save as edited.docx
  5. Close Word
  6. Reopen edited.docx
  7. Verify no errors, content intact

Phase 2: Format Conversion

  1. Start with original.docx
  2. System converts to SFDT (internal)
  3. System converts back to DOCX
  4. Save as roundtrip.docx
  5. Compare original.docx vs roundtrip.docx

What to check:

  • Both open without errors
  • Content identical
  • Formatting identical
  • Images identical
  • No extra blank paragraphs

Known issues (report if seen):

  • Extra blank paragraphs (Syncfusion bug)
  • Image sizes different
  • Font changes
  • Spacing changes

Bug Report Template​

## Bug Report: [Short Description]

**Report/Document ID**: [ID from system]

**Date/Time Generated**: [timestamp]

**Issue Category**:
- [ ] Document corruption
- [ ] Missing content
- [ ] Formatting wrong
- [ ] Images missing
- [ ] Table layout
- [ ] Other: ___________

**Steps to Reproduce**:
1. [Step 1]
2. [Step 2]
3. [Step 3]

**Expected Result**:
[What should happen]

**Actual Result**:
[What actually happened]

**Screenshots**:
[Attach screenshots]

**Validation Errors** (if any):

[Paste errors from OpenXML SDK tool]


**Browser/Word Version**:
- Word: [version]
- Browser (if web generated): [browser and version]

**Additional Notes**:
[Any other relevant information]

QA Testing Schedule​

Daily Testing​

  • Smoke test: Generate 1 sample report
  • Visual inspection

Weekly Testing​

  • Full test suite (all scenarios)
  • Round-trip testing
  • Performance testing (generation time)

Per Release​

  • Regression testing (all scenarios)
  • All document types
  • Edge cases
  • Validation with OpenXML SDK tool

Quick Troubleshooting Guide​

Problem: "Word found unreadable content"​

Likely cause: OOXML structure error

Check:

  1. Open in OpenXML SDK tool
  2. Run validator
  3. Report error message to developer

Problem: Images not showing​

Check:

  1. Open DOCX as ZIP
  2. Look in /word/media/
  3. Are files there?
    • Yes: Relationship problem
    • No: Image not embedded

Problem: Table cells wrong size​

Likely cause: Grid definition mismatch

Check:

  1. Does table look reasonable in design?
  2. Is content cut off?
  3. Capture screenshot
  4. Report to developer with expected layout

Problem: Extra blank pages​

Likely cause: Section breaks or empty paragraphs

Check:

  1. Turn on formatting marks (Word: Home → Show/Hide ¶)
  2. Look for section breaks
  3. Look for multiple paragraph marks
  4. Report location to developer

Problem: Content controls not editable​

Check:

  1. Developer tab → Design Mode
  2. Click content control
  3. Properties button
  4. Check "Lock" settings
    • Should be unlocked for editing
    • Report if locked when shouldn't be

Certification Checklist​

QA team member can certify report if:

  • Visual inspection passed
  • Validation shows zero errors
  • Content verified correct
  • Functional testing passed
  • Round-trip test passed (if required)
  • No known bugs present

Sign-off:

  • Tested by: [Name]
  • Date: [Date]
  • Report ID: [ID]
  • Status: ✅ Certified / ⚠️ Issues Found

Training Exercises​

Exercise 1: Tool Familiarization​

  1. Download sample DOCX
  2. Open in OpenXML SDK tool
  3. Explore document structure
  4. Run validation
  5. Generate C# code (view only)

Time: 15 minutes


Exercise 2: Find the Error​

Given a broken DOCX:

  1. Open in Word (should show repair dialog)
  2. Open in OpenXML SDK tool
  3. Find validation error
  4. Identify problem in structure
  5. Report using template

Time: 20 minutes


Exercise 3: Round-Trip Test​

  1. Generate test report
  2. Perform round-trip test
  3. Compare original vs result
  4. Document any differences
  5. Determine if acceptable

Time: 20 minutes


Next Steps​

For QA Team:

  • Install required tools
  • Practice with sample documents
  • Complete training exercises
  • Start daily smoke testing

Related Documentation:


💡 Remember: You don't need to understand OOXML deeply to test effectively. Focus on visual inspection, validation tools, and clear bug reports!