Yu Prelim Elect

30 flashcardsby DiandreiE
Study these flashcardsFree · spaced repetition · iPhone, Android, Mac & web

All cards

1
Figuring out what the system must do in terms of requirements and behavior
Software Analysis
2
Figuring out how the system will achieve its goals through architecture and interfaces
Software Design
3
The tactical mechanism that translates analysis into design constraints
TDD Implementation
4
The traditional lifecycle fallacy where analysts, architects, and developers work in isolation, inheriting unverified specs and leading to Architectural Drift
"Throw It Over the Wall" Lifecycle
5
The framework that shifts analysis and design to Day Zero, translating abstract requirements into executable design contracts
Test-Driven Development (TDD)
6
The TDD phase that involves writing a failing test to force complete understanding of the requirement and expose vague conditions
P1 (RED) / The Analysis Constraint
7
The TDD phase that involves writing the simplest functional logic to pass the analysis constraint and establish a functional baseline
P2 (GREEN) / Deferring Architecture Safely
8
The TDD phase that involves cleaning code structure and applying design principles without altering external behavior
P3 (REFACTOR) / Pure Software Design
9
The testing technique that maps out every mathematical permutation of multiple interacting inputs to uncover hidden gaps
Matrix and Decision Table Testing / Exhaustive Associative Analysis
10
The testing approach applied when an application’s response depends heavily on its historical context, validating events and actions
State Transition Testing
11
The architectural strategy of explicitly asserting in automated tests that correct error types are thrown instead of the software crashing
Exception Assertions
12
The practice of validating components in absolute isolation
Unit Testing
13
The practice of verifying data transfer, communication interfaces between modules, and connections to real environments like databases
Integration Testing
14
The integration strategy of verifying control layers first and substituting missing low-level modules with dummy codes
Top-Down Strategy
15
Dummy codes used in Top-Down testing to simulate the behavior of an undeveloped lower-level module
Stubs
16
The integration strategy of verifying primitive logic and hardware drivers first by relying on orchestrating programs
Bottom-Up Strategy
17
Programs used in Bottom-Up testing to simulate a calling component
Drivers
18
The anti-pattern of merging all software components at the very end of development and hoping for success
Big Bang Approach
19
The infrastructure flaw that introduces unreliability, test conflicts, and false negatives in modern integration testing
Shared staging databases
20
Lightweight tools leveraging Docker to launch ephemeral, real databases in system memory that are automatically destroyed after a test
Testcontainers
21
The type of test double that is programmed with expectations and verifies that a specific method was called during a test
Mocks
22
The type of test double that provides a working implementation but takes a shortcut that makes it unsuitable for production environments
Fakes
23
The type of test double that simply records information about how it was called so it can be verified later
Spies
24
The testing approach that focuses on the internal structure, design, and coding of the software
White-Box Testing
25
The testing approach that focuses on the functional requirements of the software without looking at the internal code
Black-Box Testing
26
The testing technique that divides input data into valid and invalid groups to reduce the number of redundant test cases
Equivalence Partitioning
27
The testing technique that focuses on testing the extreme edges of input ranges where errors are most likely to occur
Boundary Value Analysis
28
The type of testing that ensures recent code changes have not adversely affected existing, working features
Regression Testing
29
The phase of testing that evaluates the software's compliance with business requirements and determines if it is ready for delivery
Acceptance Testing
30
The metric that measures the percentage of application code lines executed by automated tests
Code Coverage
Study all 30 cards for free