This repository contains the complete implementation of the Software Quality Assurance (SQA) Continuous Assessment Labs for my Master's Degree Programme.
The project demonstrates a full Software Quality Assurance lifecycle, covering testing, version control, release management, and performance validation using industry-standard tools and workflows.
The labs simulate a real-world banking software development environment, applying professional engineering practices throughout the development lifecycle.
This repository was created to demonstrate practical implementation of Software Quality Assurance principles including:
✅ Unit Testing
✅ Integration Testing
✅ Version Control & Configuration Management
✅ Git Branching Strategy (GitFlow Simulation)
✅ Release Management & Version Tagging
✅ Performance & Load Testing
The project showcases how testing, version control, and performance validation integrate within a real software development workflow.
.
├── Lab01/ # Unit Testing – Banking Fee Calculator
├── Lab02/ # Integration Testing – Customer Onboarding System
├── Lab03/ # Git Fundamentals – Repository Management
├── Lab04/ # GitFlow Branching – Release Simulation
├── Lab05/ # JMeter Performance Testing
├── Lab06/ # Capstone – Full SQA Workflow
│
├── README.md
│
├── main # Stable production branch
├── develop # Integration branch
├── lab01 # Lab 01 implementation branch
├── lab02 # Lab 02 implementation branch
├── lab03 # Lab 03 implementation branch
Each lab progressively introduces deeper SQA practices, culminating in a capstone project integrating all previous concepts.
Implementation of a banking fee calculator module validated through structured unit testing.
- Component-level testing
- Boundary value analysis
- Exception handling
- Defensive programming
- Node.js
- Jest
📍 Focus: Functional correctness of isolated components.
Testing interactions between multiple modules within a customer onboarding system.
- Module interaction validation
- End-to-end behavior testing
- Error propagation analysis
📍 Focus: System behavior across integrated components.
Introduction to professional version control practices.
- Repository initialization
- Commit management
- Branch creation
- Merge operations
- Git history visualization
📍 Focus: Source code management discipline.
Simulation of an enterprise GitFlow workflow used in banking software releases.
- Feature branch development
- Integration into
develop - Release branch creation
- Production merge into
main - Version tagging
📍 Focus: Structured release management.
Load testing of a simulated service using Apache JMeter.
- Load testing with concurrent users
- Ramp-up configuration
- Performance monitoring
- Result analysis
📍 Focus: System performance and scalability.
The capstone lab integrates all previous labs into a complete SQA pipeline.
A Loan Calculator Banking Module implementing:
- Monthly loan payment calculation
- Total interest computation
- Loan eligibility validation
- Amortization schedule generation
1️⃣ Feature development 2️⃣ Unit testing 3️⃣ Integration testing 4️⃣ GitFlow release management 5️⃣ Performance testing using JMeter
📍 Focus: Complete SQA lifecycle simulation.
This repository follows a structured GitFlow-inspired workflow.
main
└── develop
├── lab01
├── lab02
├── lab03
├── lab04
├── lab05
└── lab06
| Branch | Purpose |
|---|---|
main |
Production-ready stable code |
develop |
Integration branch |
labXX |
Lab implementation branches |
This approach reflects professional source control practices used in enterprise development teams.
Semantic Versioning is used for releases.
vMAJOR.MINOR.PATCH
Example:
v1.0.0_[MATRICULE]
This tag represents the final capstone release after completing the full SQA workflow.
| Category | Tools |
|---|---|
| Programming Language | Node.js (JavaScript) |
| Testing Framework | Jest |
| Version Control | Git |
| Repository Hosting | GitHub |
| Performance Testing | Apache JMeter |
| Local Server | Node HTTP Server |
All tools used are open-source and free, as required by the course guidelines.
This project demonstrates the ability to:
- Implement structured unit and integration testing
- Apply professional Git version control workflows
- Manage feature development using GitFlow
- Simulate enterprise software release cycles
- Conduct performance testing and analysis
- Maintain clean, documented, and testable code
This repository was developed as part of the Software Quality Assurance (SQA) Continuous Assessment practical labs for the Master's Degree Programme.
The assessment emphasizes hands-on engineering practices aligned with real-world software quality processes.
Master of Technology (MTech) Software Engineering
Software Quality Assurance – Continuous Assessment Implementation