This acronym describes the process phases: Concept, Requirements, Design, Development, Test, and Maintenance.
What is the SDLC (Software Development Life Cycle)?
This type of requirement describes what a system should do, as opposed to how well it performs.
What is a functional requirement?
This is the software-testing equivalent of the SDLC -- its phases include planning, test case design, environment setup, execution, and closure.
What is the STLC (Software Testing Life Cycle)?
This clean-code principle advises "You Aren't Gonna Need It" -- don't build functionality until it's actually required.
What is YAGNI?
This Agile Manifesto core value favors "individuals and interactions" over this alternative.
What are processes and tools?
Which SDLC phase produces the "Software Requirements Specification" as its output?
What is the Requirements phase?
This type of requirement describes performance, security, and usability qualities rather than specific features.
What is a non-functional requirement?
This type of testing checks individual components or functions in isolation from the rest of the system.
What is unit testing?
This is the implied cost of extra rework caused by choosing a quick, easy solution now instead of a better long-term one.
What is technical debt?
This is a fixed time-box (often 1-4 weeks) during which a Scrum team completes a defined set of work.
What is a Sprint?
This SDLC phase's output is a "software design description" that shows how the software will meet requirements.
What is the Design phase?
This architecture pattern separates an application into Model, View, and Controller components.
What is MVC?
This concept asks "are we building the product right?" -- checking that it matches its specifications.
What is verification?
This OOP principle involves bundling data and methods together while restricting direct access to some of an object's components.
What is encapsulation?
In SQL, this command is used to retrieve data from a database table.
What is SELECT?
This SDLC phase's output is "test reports" that demonstrate requirements are satisfied.
What is the Test (Testing) phase?
UML diagrams that show static structure, like class diagrams, belong to this category (as opposed to behavioral diagrams).
What are structural diagrams?
This concept asks "are we building the right product?" -- checking that it meets the user's actual needs.
What is validation?
This design guideline suggests building objects by combining simpler ones rather than creating deep inheritance hierarchies.
What is composition over inheritance?
This type of database key is a field that references the primary key of another table, creating a relationship between them.
What is a foreign key?
Beyond writing code, a software engineer also does requirements gathering, design, testing, deployment, and this ongoing final SDLC activity.
What is maintenance?
This term describes the gap between a real-world problem and its software solution -- good design aims to minimize it.
What is intellectual distance?
Besides unit testing, name this type of testing that checks how multiple components work together after being combined.
What is integration testing?
Refactoring means restructuring existing code to improve readability and maintainability without changing this.
What is the code's external behavior?
Git is the version control system itself, while this is a cloud platform used to host Git repositories.
What is GitHub?