# Urlaubsanspruch-Rechner 2026 Next Steps & Testing Guide

**Last Updated:** 2026-01-21

## Overview

This document provides comprehensive manual testing instructions and verification steps for the Urlaubsanspruch-Rechner 2026 update. All automated testing has been completed successfully, and this guide covers manual verification steps.

## Pre-Deployment Checklist

### Code Verification

- [x] All constants verified (BUrlG, JArbSchG, SGB IX)
- [x] All formulas verified (daily, hourly, pro-rating, rounding)
- [x] Test script created and passing (14/14 tests)
- [x] No console.log statements found
- [x] Documentation updated

### Content Verification

- [x] Hero section shows "2026"
- [x] Meta tags updated to "2026"
- [x] Educational content reviewed
- [x] FAQ answers reviewed
- [x] Schema markup verified

## Manual Testing Checklist

### 1. UI Testing

#### Hero Section

- [ ] **Verify H1:** "Urlaubsanspruch-Rechner 2026: Kündigung & Minijob"
- [ ] **Verify description:** Accurate and comprehensive
- [ ] **Verify badge:** "Urlaubsanspruch" badge visible
- [ ] **Visual check:** Layout looks correct on desktop
- [ ] **Visual check:** Layout looks correct on mobile

#### Calculator Form

- [ ] **Default values:** Start date defaults to 2026-01-01
- [ ] **Year selector:** Defaults to 2026
- [ ] **Mode toggle:** Simple/Detailed modes work correctly
- [ ] **Date pickers:** Work correctly on desktop
- [ ] **Date pickers:** Work correctly on mobile
- [ ] **Workdays selector:** 5 Tage / 6 Tage options work
- [ ] **Calculation type:** Daily/Hourly toggle works
- [ ] **Hourly inputs:** Show/hide correctly when hourly selected
- [ ] **Special cases toggles:** Disabled, Youth, Educational Leave work
- [ ] **Contract slider:** Shows/hides correctly, values update
- [ ] **State selector:** All states available
- [ ] **Calculate button:** Triggers calculation correctly

#### Results Display

- [ ] **Results appear:** After clicking "Urlaub berechnen"
- [ ] **Primary result:** Large number display shows correct days
- [ ] **Summary cards:** Legal/Contract vacation cards show correct values
- [ ] **Employment period:** Shows correct date range
- [ ] **Months employed:** Shows correct number
- [ ] **Detailed breakdown:** Calculation steps explanation visible
- [ ] **BUrlG compliance:** Compliance information accurate
- [ ] **Vacation tips:** Personalized tips generated
- [ ] **Export buttons:** PDF and CSV buttons visible

### 2. Calculation Testing

#### Basic Scenarios

**Test Case 1: Full Year, 5-Day Week**

- [ ] Start Date: 2026-01-01
- [ ] End Date: 2026-12-31 (or leave empty)
- [ ] Workdays: 5 Tage
- [ ] Calculation Type: Daily
- [ ] **Expected Result:** 20 days
- [ ] **Verify:** Result matches expected

**Test Case 2: Full Year, 6-Day Week**

- [ ] Start Date: 2026-01-01
- [ ] End Date: 2026-12-31 (or leave empty)
- [ ] Workdays: 6 Tage
- [ ] Calculation Type: Daily
- [ ] **Expected Result:** 24 days
- [ ] **Verify:** Result matches expected

**Test Case 3: Partial Year (6 Months)**

- [ ] Start Date: 2026-01-01
- [ ] End Date: 2026-06-30
- [ ] Workdays: 5 Tage
- [ ] Calculation Type: Daily
- [ ] **Expected Result:** 10 days (20 × 6/12)
- [ ] **Verify:** Result matches expected

**Test Case 4: Partial Year (< 6 Months)**

- [ ] Start Date: 2026-01-01
- [ ] End Date: 2026-03-31
- [ ] Workdays: 5 Tage
- [ ] Calculation Type: Daily
- [ ] **Expected Result:** 5 days (20 × 3/12)
- [ ] **Warning:** Should show warning about 6-month waiting period
- [ ] **Verify:** Result matches expected, warning appears

**Test Case 5: Termination (First Half)**

- [ ] Start Date: 2025-07-01
- [ ] End Date: 2026-03-31
- [ ] Workdays: 5 Tage
- [ ] Calculation Type: Daily
- [ ] Year: 2026
- [ ] **Expected Result:** Pro-rated for 3 months in 2026
- [ ] **Verify:** Result matches expected

**Test Case 6: Termination (Second Half)**

- [ ] Start Date: 2025-01-01
- [ ] End Date: 2026-08-31
- [ ] Workdays: 5 Tage
- [ ] Calculation Type: Daily
- [ ] Year: 2026
- [ ] **Expected Result:** Full entitlement (20 days) if 6+ months in 2026
- [ ] **Verify:** Result matches expected

#### Special Cases

**Test Case 7: Youth Employee (Age 15)**

- [ ] Start Date: 2026-01-01
- [ ] End Date: 2026-12-31
- [ ] Workdays: 5 Tage
- [ ] Youth: Enabled, Age 15
- [ ] **Expected Result:** 30 days
- [ ] **Verify:** Result matches expected

**Test Case 8: Youth Employee (Age 16)**

- [ ] Start Date: 2026-01-01
- [ ] End Date: 2026-12-31
- [ ] Workdays: 5 Tage
- [ ] Youth: Enabled, Age 16
- [ ] **Expected Result:** 27 days
- [ ] **Verify:** Result matches expected

**Test Case 9: Disabled Employee**

- [ ] Start Date: 2026-01-01
- [ ] End Date: 2026-12-31
- [ ] Workdays: 5 Tage
- [ ] Disabled: Enabled
- [ ] **Expected Result:** 25 days (20 + 5)
- [ ] **Verify:** Result matches expected

**Test Case 10: Contract Override**

- [ ] Start Date: 2026-01-01
- [ ] End Date: 2026-12-31
- [ ] Workdays: 5 Tage
- [ ] Contract: 30 days
- [ ] **Expected Result:** 30 days (contract higher than legal 20)
- [ ] **Verify:** Result matches expected

**Test Case 11: Hourly Calculation**

- [ ] Start Date: 2026-01-01
- [ ] End Date: 2026-12-31
- [ ] Calculation Type: Hourly
- [ ] Weekly Hours: 40
- [ ] Daily Hours: 8
- [ ] **Expected Result:** 20 days (equivalent to 5-day week)
- [ ] **Verify:** Result matches expected

**Test Case 12: Part-Time (3 Days/Week)**

- [ ] Start Date: 2026-01-01
- [ ] End Date: 2026-12-31
- [ ] Workdays: 3 Tage
- [ ] **Expected Result:** 12 days (24 × 3/6)
- [ ] **Verify:** Result matches expected

**Test Case 13: Rounding Edge Case (0.5 Days)**

- [ ] Start Date: 2026-01-01
- [ ] End Date: 2026-06-15 (exactly 5.5 months)
- [ ] Workdays: 5 Tage
- [ ] **Expected Result:** 10 days (20 × 5.5/12 = 9.17 → rounded up to 10)
- [ ] **Verify:** Result matches expected, rounds up correctly

**Test Case 14: Edge Case (< 0.5 Days)**

- [ ] Start Date: 2026-12-20
- [ ] End Date: 2026-12-31
- [ ] Workdays: 5 Tage
- [ ] **Expected Result:** 0 days (< 0.5 days)
- [ ] **Verify:** Result matches expected

### 3. Export Testing

#### PDF Export

- [ ] **Click PDF button:** Button triggers export
- [ ] **Email modal:** Shows if email not collected
- [ ] **Email collection:** Email form works correctly
- [ ] **PDF generation:** PDF generates successfully
- [ ] **PDF content:** Includes all calculation details
- [ ] **PDF content:** Includes BUrlG compliance info
- [ ] **PDF content:** Includes vacation tips
- [ ] **PDF download:** Downloads correctly

#### CSV Export

- [ ] **Click CSV button:** Button triggers export
- [ ] **Email modal:** Shows if email not collected
- [ ] **Email collection:** Email form works correctly
- [ ] **CSV generation:** CSV generates successfully
- [ ] **CSV content:** Includes all input data
- [ ] **CSV content:** Includes calculation results
- [ ] **CSV download:** Downloads correctly

### 4. Browser Testing

#### Desktop Browsers

**Chrome (Latest):**

- [ ] Page loads correctly
- [ ] Calculator form works
- [ ] Calculations accurate
- [ ] Export functions work
- [ ] No console errors

**Firefox (Latest):**

- [ ] Page loads correctly
- [ ] Calculator form works
- [ ] Calculations accurate
- [ ] Export functions work
- [ ] No console errors

**Safari (Latest):**

- [ ] Page loads correctly
- [ ] Calculator form works
- [ ] Calculations accurate
- [ ] Export functions work
- [ ] No console errors

**Edge (Latest):**

- [ ] Page loads correctly
- [ ] Calculator form works
- [ ] Calculations accurate
- [ ] Export functions work
- [ ] No console errors

#### Mobile Browsers

**iOS Safari:**

- [ ] Page loads correctly
- [ ] Responsive design works
- [ ] Date pickers work (native)
- [ ] Calculator form usable
- [ ] Calculations accurate
- [ ] Export functions work

**Android Chrome:**

- [ ] Page loads correctly
- [ ] Responsive design works
- [ ] Date pickers work (native)
- [ ] Calculator form usable
- [ ] Calculations accurate
- [ ] Export functions work

### 5. Schema Validation

#### Google Rich Results Test

- [ ] **URL:** https://www.ordio.com/tools/urlaubsanspruch-rechner
- [ ] **WebApplication schema:** Validates correctly
- [ ] **FAQPage schema:** Validates correctly
- [ ] **Calculator schema:** Validates correctly
- [ ] **BreadcrumbList schema:** Validates correctly
- [ ] **No errors:** No schema errors reported

#### Schema Content Verification

- [ ] **FAQ questions:** Match page content exactly
- [ ] **FAQ answers:** Match page content exactly
- [ ] **WebApplication name:** "Urlaubsanspruch-Rechner"
- [ ] **WebApplication description:** Accurate
- [ ] **Feature list:** Includes all key features
- [ ] **Rating:** Shows correct rating (if applicable)

### 6. Performance Testing

#### PageSpeed Insights

- [ ] **Mobile score:** > 90
- [ ] **Desktop score:** > 90
- [ ] **LCP:** < 2.5s
- [ ] **FID:** < 100ms
- [ ] **CLS:** < 0.1

#### Network Performance

- [ ] **Page load time:** < 3s
- [ ] **JavaScript load:** No blocking scripts
- [ ] **CSS load:** Critical CSS inline
- [ ] **Images:** Optimized (WebP if applicable)

### 7. Accessibility Testing

#### WCAG Compliance

- [ ] **Keyboard navigation:** All interactive elements accessible
- [ ] **Screen reader:** Form labels readable
- [ ] **Color contrast:** Meets WCAG AA standards
- [ ] **Focus indicators:** Visible on all interactive elements
- [ ] **Alt text:** All images have alt text

#### Manual Accessibility Checks

- [ ] **Tab order:** Logical and intuitive
- [ ] **Form labels:** Associated with inputs
- [ ] **Error messages:** Accessible and clear
- [ ] **Results display:** Accessible format

## Deployment Checklist

### Pre-Deployment

- [x] All automated tests passing
- [x] Code review complete
- [x] Documentation updated
- [ ] Manual testing complete (use checklist above)
- [ ] Schema validation complete
- [ ] Performance testing complete
- [ ] Accessibility testing complete

### Deployment Steps

1. **Backup:** Create backup of current production files
2. **Deploy:** Deploy verified files to production
3. **Verify:** Check production URL loads correctly
4. **Test:** Run smoke tests on production
5. **Monitor:** Monitor for errors in first 24 hours

### Post-Deployment

- [ ] **Monitor errors:** Check error logs for issues
- [ ] **Monitor analytics:** Check for unusual patterns
- [ ] **User feedback:** Monitor for user-reported issues
- [ ] **Performance:** Monitor page load times

## Rollback Plan

If issues are discovered:

1. **Identify issue:** Document exact problem
2. **Assess impact:** Determine severity
3. **Rollback:** Restore previous version if critical
4. **Fix:** Address issue in development
5. **Re-test:** Verify fix before re-deployment

## Success Criteria

### Must Have

- ✅ All constants verified
- ✅ All formulas verified
- ✅ Test script passing (14/14)
- ✅ No console.log statements
- ✅ Documentation updated

### Should Have

- [ ] Manual testing complete
- [ ] Schema validation passing
- [ ] Performance targets met
- [ ] Accessibility compliance verified

### Nice to Have

- [ ] User acceptance testing complete
- [ ] Analytics tracking verified
- [ ] Error monitoring configured

## Notes

- **No code changes required:** All constants and formulas were already correct
- **Test script created:** Comprehensive test script available for future regression testing
- **Documentation updated:** All documentation reflects 2026 verification status
- **Ready for production:** Tool is ready for production use after manual testing

## Related Documents

- `URLAUBSANSPRUCH_RECHNER_2026_UPDATE_SUMMARY.md` - Complete update summary
- `urlaubsanspruch-rechner-documentation.md` - Full tool documentation
- `test-urlaubsanspruch-calculations.js` - Automated test script
- `FINAL_2026_RESEARCH_REPORT.md` - Research findings
