1/58
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
CI/CD Pipelines
Continuous Integration and Continuous Deployment pipelines automate building, testing, and releasing code changes to ensure rapid and reliable software delivery.
Test-Driven Development (TDD)
A development approach where tests are written before the code itself to guide design and ensure correctness.
Release Management
The process of planning, scheduling, and controlling software builds and releases into production.
Rollback Plan
A predefined procedure to revert a software deployment in case of failure.
Regression Testing
Re-running previously completed tests after changes to ensure existing functionality still works.
Environment Parity
Ensuring development, testing, staging, and production environments are as similar as possible to prevent bugs.
Backlog
A prioritized list of work items, including features, bugs, and tasks that the development team maintains.
Short Sprints
Time-boxed iterations (typically 1–2 weeks) used in Agile to deliver incremental software updates.
Scrum Meetings
Daily stand-up meetings where team members discuss progress, plans, and blockers.
Jenkins
An open-source automation server used for continuous integration and deployment.
Docker
A containerization platform that packages applications and dependencies into portable containers.
Branching Strategy
A defined method for organizing code branches (e.g., GitFlow, trunk-based) to enable parallel development.
Parallel Development
Simultaneous development of multiple features or bug fixes using branching.
User Story Mapping
A visual exercise for arranging user stories to understand system functionality and prioritize development.
Traceability Matrix
A document that maps and traces user requirements with test cases to ensure coverage.
Unit Testing
Testing individual components or functions in isolation to verify they work as intended.
System Testing
Testing the complete system as a whole to ensure all requirements are met.
Acceptance Testing
Final testing to determine if the software meets business requirements and is ready for deployment.
SDLC (Software Development Life Cycle)
A structured process for developing software through defined stages: Planning, Design, Development, Testing, Deployment, and Maintenance.
Requirements Analysis
Gathering and analyzing user and system requirements to define what the software should do.
SRS (Software Requirements Specification)
A detailed document outlining the software's functions, features, constraints, and interface.
HLD (High-Level Design)
Describes the overall system architecture, major components, and data flow—like a blueprint.
LLD (Low-Level Design)
Provides detailed internal logic, including database schema, algorithms, class diagrams, etc.
Integration Testing
Testing how different components of the software interact with each other.
Waterfall Model
A linear and sequential SDLC model where each phase must be completed before the next begins.
Agile
An iterative development method that emphasizes flexibility, collaboration, and frequent feedback.
DevOps
A cultural and technical movement combining Development and Operations to achieve continuous integration, testing, and delivery.
CI/CD (Continuous Integration / Continuous Deployment)
Automated process of integrating code frequently (CI) and deploying it to production automatically (CD).
Version Control (e.g., Git)
A system that tracks changes in code, enabling multiple developers to collaborate and roll back changes if needed.
Jira
A project management and issue-tracking tool commonly used in Agile environments.
Lucidchart
A diagramming tool used for flowcharts, system architecture, and database design visualization.
Selenium
A tool for automating web browser testing.
TestRail
A test case management tool used to document and manage testing efforts.
Sprint
A short, time-boxed period (usually 1–2 weeks) in Agile during which a specific set of work is completed.
Retrospective
A meeting at the end of a sprint where the team reflects on what went well and what could improve.
Branching (Git)
Creating a separate line of development in code so features can be built independently.
Staging Environment
A copy of the production environment where final testing occurs before deployment.
Rollback
Reverting to a previous stable version of the software after a failed deployment.
Planning Phase
The initial SDLC phase where project scope, feasibility, resources, and risks are assessed.
Design Phase
The stage where the software architecture is defined, including high-level and low-level design.
Development Phase
The coding phase where developers write and integrate the software components.
Testing Phase
The phase focused on identifying and fixing bugs through various testing levels.
Deployment Phase
Releasing the software to users, typically after thorough testing and approval.
Maintenance Phase
Ongoing support after deployment to fix bugs, improve performance, or add features.
Use Case
A scenario that describes how a user interacts with the system to achieve a goal.
Architecture Diagram
A visual representation of the system structure and component relationships.
Class Diagram
A UML diagram that shows the classes, attributes, methods, and relationships in OOP.
Database Schema
A blueprint that defines the structure of a database, including tables and relationships.
Bug Report
A documented issue in the software that includes steps to reproduce, expected vs. actual results.
Traceability
The ability to link requirements through design, implementation, and testing.
Functional Requirements
Specifications of what the software should do.
Non-Functional Requirements
Constraints on how the system performs tasks, e.g., performance, security.
Feedback Loop
A mechanism for gathering and responding to feedback to improve the software.
Automated Testing
Tests that run automatically to validate code, often used in CI/CD pipelines.
Continuous Delivery
A DevOps practice where software can be released to production at any time.
Feature Branch
A separate code branch created to develop a specific feature.
Production Environment
The live environment where users interact with the deployed software.
Retrospective Meeting
Agile meeting held at the end of a sprint to review successes and areas for improvement.