Testing Strategy

# Testing Strategy This project uses a **Test-Driven Documentation** approach. We verify that the site meets quality standards using automated testing pipelines. ## 1. Automated Testing (CI/CD) The GitHub Actions workflow (`.github/workflows/jekyll.yml`) runs the following checks on every push: ### HTML Proofer We use `html-proofer` to validate the generated site (`_site`). It checks for: - **Broken Internal Links**: Ensures no 404s. - **Image Accessibility**: Ensures all `` tags have `alt` attributes. - **HTML Validity**: Checks for basic HTML syntax errors. - **Unsafe Content**: Warns against HTTP images. **Command:** ```bash htmlproofer ./_site --disable-external --check-html --check-img-http --allow-hash-href ``` ## 2. Manual Verification Checklist Before deploying, ensure: - [ ] **Accessibility**: Use Chrome Lighthouse to check for ARIA labels on all interactive elements. - [ ] **Performance**: Ensure images are `loading="lazy"`. - [ ] **Responsiveness**: Check the Mobile Menu behavior. - [ ] **Security**: Verify `rel="noopener noreferrer"` on external links. - [ ] **Logic**: Verify JavaScript features like the "Quantum Flux" animation work without console errors. ## 3. Local Testing To run tests locally: 1. Build the site: ```bash bundle exec jekyll build ``` 2. Run HTML Proofer: ```bash bundle exec htmlproofer ./_site ```