1/74
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
|---|
No study sessions yet.
What are the phases of the Waterfall Model?
requirements → design → implementation → testing → maintenance
When should you use the Waterfall model?
requirements are well defined and set
enhancing an existing system
large-scale projects
What are challenges with the Waterfall model?
Inflexible
Late testing
Delayed work products
What are the types of prototyping?
Throwaway/rapid and evolutionary
What are the advantages of prototyping?
user involvement
identifies issues early
flexible
What are the disadvantages of prototyping?
time-consuming
incomplete functionality
potential miscommunication
When should you use prototyping?
When the requirements are fuzzy
What is a sprint? How long is it typically?
A time-boxed iteration during which a potentially shippable product increment is made
2-4 weeks
Who are the members of a SCRUM team
Product Owner
Scrum Master
Dev Team
What does a product owner do
Defines features/functionalities
Ensures team delivers value to customer
What does a scrum master do
Facilitate scrum process
Act as servant-leader for team
What does a development team consist of
developers, software testers, software architects
What happens during sprint planning?
Dev team works with product owner + stakeholder to develop product backlog (rank items by importance, determine what can be delivered in sprint)
What is a product backlog
Prioritized list of all product requirements/features
What is a sprint backlog
subset of product backlog to be completed in current sprint
What happens during a daily standup
track progress, make plans for next 24 hours, declare sprint backlog items complete
Who decides whether to terminate a sprint or extend the sprint?
product owner
What is an increment
the union of all backlog items completed in previous sprints and all backlog items to be completed in current sprint
What are the 3 types of requirements representation
Informal, semi-formal, formal
What is the most common type of requirements representation
Informal
What does a requirements document include
A definition and specific requirements
What are the considerations for a requirement (7)
singular, feasible, unambiguous, complete, consistent, verifiable, traceable
What are the considerations for a set of requirements
complete, consistent, bounded, affordable
How many steps should you aim for in a use case
3-9
What does a use case diagram look like

What is card sorting and what is it used for
Stakeholders complete set of cards including key info about functionality - Requirements engineer organizes cards
Used to develop CRC class(name, capabilities (high level features), responsibilities (what function/data it implements), collaborators (other classes it works w)) to determine program classes in code
What is designer as apprentice
When the designer becomes the apprentice by assisting/performing user’s tasks under their supervision
What is domain analysis
Assess landscape of related and competing applications
Identify essential + missing functionality, reusable components
What is ethnographic observation
Long periods of observation of human activity where you gather direct/indirect evidence
Describe goal based approaches
Start from mission statement, provide lower level goals → branched into specific high-level reqs → generate lower-level ones
What are the different types of interviews
Unstructured, structured, semi-structured
When is introspection useful
When the requirement engineer’s domain knowledge exceeds the customer’s
When are questionnaires used
In early stages to quickly define scope boundaries
When are questionnaires most useful
When domain is well understood by stakeholders and RE
What are workshops
gatherings of stakeholders to address requirements issues
What does a domain model look like
_
What is a generalization and how is it represented
Organizes concepts with a commonality
Represented by hollow arrow
What does aggregation represent? What symbol is it represented with
Represents a whole-part relationship
Hollow diamond
What are the different types of actors
primary, supporting, off-stage
What does a SSD look like
_
What does a operations contract consist of
Name (function), responsibilities, type, exceptions, pre-conditions, post-conditions
Information Expert
Who should be responsible for a behavior?
Creator
who should create a new object?
Controller
Who handles a system event (use case input)?
What does low coupling do
reduce dependency between classes
What does high cohesion do
Keeps classes focused and manageable
What is the law of demeter
method should only talk to its immediate collaborators
What are examples of GRASP tensions
Controller vs High Cohesion
Polymorphism vs Indirection
What does a class diagram look like
_
What does a class diagram include
attributes, method names, type information (for attributes), navigability (arrows), multiplicity
What is push in Git between
local → remote repo
What is pull in Git between
working directory ← remote repo
What are the advantages of a distributed version control system
Performing actions is extremely fast
Committing new changes can be done locally
A group of changes can be pushed all at once
Everything but pushing/pulling can be done without internet
What are the OO Design steps
Use cases -> SSD -> Domain Model -> Operation Contract -> Interaction Diagram -> Class Diagram
What is included in a test case template
title, author, priority, requirement, pre-condition, steps to execute, estimated duration, expected output
What are state-less vs state-oriented systems
State-less: outcome depends solely on current input
State-oriented: outcome depends on state of system and current input
What are the different testing levels
Unit testing, integration testing, system testing, acceptance testing
Characteristics of testing
security, robustness, performance, usability, reliability
What are the two kinds of statements in control flow testing
assignment and conditional
What are the different types of black box testing
Boundary value testing, equivalence class partitioning, decision table, all-pairs
What are the two white box testing techniques
control flow testing and data flow testing
What is Git
a decentralized version control system
What does a test case include
title, use case, technique, pre-condition, input, steps to execute, expected results
What are the two kinds of basic program statements in control flow testing
Assignment statements and conditional statements
What are the different types of nodes in control flow testing
Start node, decision node, procedure node, terminal node
What are the two kinds of paths in control flow graph
Executable path and infeasible path
What does a quadruple consist of (control flow graph)
E: set of edges
N: set of nodes
s: start node
t: terminal node
What are the different types of coverage (in order least to most thorough)
Statement coverage → branch coverage → simple path coverage → all path coverage
How to calculate cyclomatic complexity
Count # of linearly independent paths
V(G) = E - N + 2P
#of decision points (if, while, for) + 1
How much code coverage should you aim for
70-80%
What are the different types of system tests
Basic, functionality, robustness, inter-operability, performance, scalability, stress, load and stability, reliability, regression, documentation, regulatory
How to calculate Defect Removal Efficiency
DRE = (# defects found in testing) / (# defects found in testing + # defects not found)
What are the three types of data flow anomaly
dd, ur, du
What are some examples of exploratory testing
Landmark, FedEx, Anti Social, Obsessive Compulsive, After-Hours, TOGOF, Museum, All-Nighter, Rained-out, Guidebook, Supporting Actor, Supermodel
What are the two levels of data flow testing
Static: identify data flow anomaly
Dynamic: actual program execution (control flow testing)