This portfolio demonstrates a complete quality-assurance workflow for a sample online booking system:
- Requirements analysis and software test planning
- Manual and REST API test design
- Requirements traceability
- PostgreSQL database validation
- Postman API execution
- Defect investigation and reporting
- Newman command-line automation
- GitHub Actions continuous integration
- JSON and JUnit reporting
- Secure credential handling
- Public-safe technical evidence
The REST API phase uses the public Restful Booker demonstration API. The database phase uses a separate, locally created PostgreSQL portfolio database.
The public API does not provide authorized access to its underlying database. API and database results are therefore documented as separate testing activities rather than as direct API-to-database reconciliation.
| Metric | Result |
|---|---|
| SQL validation and analysis queries | 19 |
| Automated database-summary checks | 13 of 13 passed |
| Database-constraint negative tests | 6 of 6 passed |
| Production-style integrity failures | 0 |
| Metric | Result |
|---|---|
| Manual/API test cases executed | 25 |
| Test cases passed | 18 |
| Test cases failed | 7 |
| Requests executed | 26 |
| Assertions executed | 61 |
| Assertions passed | 51 |
| Known assertion failures | 10 |
| Runtime errors | 0 |
| Confirmed API defects | 3 |
| Metric | Result |
|---|---|
| CI requests executed | 19 |
| CI test scripts executed | 19 |
| CI pre-request scripts executed | 2 |
| CI assertions executed | 45 |
| CI assertions passed | 45 |
| CI assertions failed | 0 |
| CI runtime errors | 0 |
| GitHub Actions quality gate | Pass |
| Automated report formats | JSON and JUnit |
| Workflow artifact groups | 2 |
The stable CI smoke/regression collection is the strict passing quality
gate. The final workflow completed successfully on main with all 45 CI
assertions passing.
The complete 26-request validation suite remains separate for requirement and known-defect reporting. Its 10 documented failed assertions remain visible without overriding the successful CI quality gate.
Newman uses test-scripts to describe post-response scripts. The
project's documented manual/API baseline remains 25 test cases.
- Software Test Plan
- Requirements Baseline
- Requirements Traceability Matrix — Excel
- Requirements Traceability Matrix — CSV
- Test Cases — Excel
- Test Cases — CSV
- Defect Reports — Excel
- Defect Reports — CSV
- DEF-API-001 — Invalid Date Sequence
- DEF-API-002 — Nonpositive Total Price
- DEF-API-003 — Missing Required Fields Return HTTP 500
- Postman Documentation
- Complete Public-Safe Collection
- Stable CI Collection
- CI Coverage Mapping
- Sanitized Environment Template
- Automation Documentation
- GitHub Actions Workflow
- Day 4 Database Execution Report
- Day 5 API Execution Report
- Day 6 Newman and GitHub Actions Report
- API, Database and Automation Executive Summary
- Screenshot Evidence Index
- Day 6 CI Troubleshooting Case Study
- Project Development Journal
- Project Changelog
- Designed and executed 25 manual/API test cases.
- Built a 26-request complete Postman collection with 61 assertions.
- Documented seven failed test cases and three confirmed API defects.
- Created 19 SQL validation queries, 13 automated database checks and six database-constraint negative tests.
- Installed Newman as a project dependency with a committed lockfile.
- Created a stable 19-request CI smoke/regression collection.
- Executed 45 CI assertions with zero failures.
- Protected credentials with GitHub repository secrets.
- Generated JSON and JUnit reports as workflow artifacts.
- Investigated and corrected an initial CI design failure without weakening valid defect assertions.
- Preserved clear boundaries between the public API and local database.
The repository contains two public-safe Postman collections:
| Collection | Purpose | Actual Baseline | CI Role |
|---|---|---|---|
| Complete validation collection | Full positive, negative, boundary, authorization and defect coverage | 26 requests, 61 assertions, 10 known failures | Reporting suite |
| Stable CI smoke/regression collection | Health check plus 18 passing Day 5 scenarios selected for CI | 19 requests, 45 assertions, zero failures | Strict quality gate |
The CI collection excludes the seven requests associated with confirmed Day 5 requirement mismatches:
TC-BOOK-002
TC-BOOK-003
TC-BOOK-004
TC-BOOK-005
TC-BOOK-006
TC-VAL-002
TC-UPD-005
Those scenarios remain unchanged in the complete collection.
The smoke/regression suite determines the final workflow result. The
complete suite runs with continue-on-error so its known failures remain
visible and its JSON and JUnit reports are still uploaded.
| Defect | Finding | Related Test Cases | Severity |
|---|---|---|---|
| DEF-API-001 | Checkout before check-in accepted during creation and update | TC-BOOK-004; TC-UPD-005 | High |
| DEF-API-002 | Zero and negative total prices accepted | TC-BOOK-005; TC-VAL-002 | High |
| DEF-API-003 | Missing required fields return HTTP 500 | TC-BOOK-002; TC-BOOK-003; TC-BOOK-006 | Medium |
The severity and priority classifications are based on the assumed portfolio requirement baseline. Restful Booker is a demonstration API.
- Requirements analysis
- Test planning and traceability
- Functional, positive, negative and boundary testing
- Authentication and authorization testing
- Status-code, response-body and response-time validation
- Defect reporting
- Test-execution reporting
- Postman collection design
- Environment and dynamic-variable workflows
- Node.js and npm
- Newman command-line execution
- GitHub Actions
- YAML workflow configuration
- CI quality-gate design
- Repository-secret management
- JSON and JUnit reporting
- Workflow artifact management
- CI troubleshooting and root-cause analysis
- PostgreSQL and SQL
- Schema and relationship validation
- Required-field, duplicate and orphan detection
- Date and price validation
- Staging-data quality checks
- Database-constraint negative testing
The complete collection preserves the full requirement and defect baseline.
The CI collection must complete:
19 requests
19 test scripts
2 pre-request scripts
45 assertions
0 failures
0 runtime errors
Detailed instructions:
- Booking authentication and CRUD workflows
- Positive, negative and boundary API testing
- Required-field, date and price validation
- PostgreSQL data-integrity testing
- Traceability and defect reporting
- Local and CI Newman execution
- Secure automated reporting
- Production penetration testing
- High-volume load and stress testing
- Production deployment
- Payment-card processing
- Production customer information
- Direct API-to-database reconciliation without authorized access
- Public Postman credentials remain blank.
- Local credentials remain in an ignored environment file.
- CI credentials use
BOOKER_USERNAMEandBOOKER_PASSWORDrepository secrets. - Active tokens are not committed.
- Generated local Newman results remain ignored.
- Public screenshots and exports are sanitized.
- Workflow permissions are limited to repository-content read access.
- Restful Booker is a public demonstration service.
- Booking data may reset.
- Dynamic IDs and response times may vary.
- The requirement baseline is assumed for portfolio testing.
- The local PostgreSQL database is separate from the public API.
- The CI collection excludes seven known-failure scenarios by design.
- The complete collection remains authoritative for defect coverage.
- Workflow artifacts expire according to the configured retention period.
Repository Structure
api-database-testing-portfolio/
├── .github/
│ └── workflows/
│ └── newman-api-tests.yml
├── .gitignore
├── CHANGELOG.md
├── LICENSE
├── README.md
├── package.json
├── package-lock.json
├── automation/
│ └── README.md
├── docs/
│ ├── README.md
│ ├── day6-ci-coverage-mapping.md
│ ├── day6-ci-troubleshooting-case-study.md
│ └── project-development-journal.md
├── test-plan/
├── test-cases/
├── defect-reports/
├── requirements-traceability/
├── postman/
├── sql/
├── reports/
└── screenshots/
├── day4-database/
├── day5-api-execution/
├── day5-defects/
└── day6-automation/
Completed Milestones
- Requirements baseline and software test plan
- 25 detailed manual/API test cases
- Requirements Traceability Matrix
- Professional folder documentation
- Local schema and synthetic data
- 19 SQL validation and analysis queries
- 13 automated validation-summary checks
- Six database-constraint negative tests
- Database execution report and evidence
- Complete 26-request validation collection
- 61 automated assertions
- 18 passed and seven failed test cases
- Three confirmed API defects
- Public-safe exports and evidence
- Newman installed as a project dependency
- Complete collection executed through Newman
- Stable 19-request CI collection created
- 45 CI assertions passed
- GitHub repository secrets configured
- GitHub Actions workflow completed successfully
- JSON and JUnit reports generated
- Two artifact groups preserved
- Pull request merged into
main - Final
mainworkflow verified - Documentation aligned to the actual CI result
v1.1.1 — Portfolio Hardening and Metadata Alignment
The v1.1.1 patch release aligns project metadata and final
post-release documentation while preserving the verified API,
database and CI baselines.
Previous releases:
- v1.1.0 — Day 6 Newman and GitHub Actions Automation
- v1.0.0 — Day 5 Manual, API and Database Testing Baseline
- Day 1 — Repository foundation
- Day 2 — Requirements and test planning
- Day 3 — Test cases, RTM and defect drafts
- Day 4 — PostgreSQL validation
- Day 5 — Postman execution and confirmed defects
- Day 6 — Newman, CI collection design and GitHub Actions automation
View the complete project development journal
Dhruba Aryal
QA, REST API, Database and CI Test Automation Portfolio
This project is licensed under the MIT License. See LICENSE.