QUESTIONS WITH SOLUTIONS GRADED A+
◉ Unit Testing. Answer: Individual components are tested in
isolation under unit test (UUT).
Black box is testing only to specifications, White box is testing based
on code structure
◉ Integration Testing. Answer: Modules are tested in combination to
check interfaces. Best done incrementally.
Bottom Up: start with most basic, easy to exercise all features, can
write a driver for higher levels
Top down: Start at top (main) test interfaces early
◉ System Testing. Answer: Verify that systems as a whole meet the
requirements and specifications.
alpha: tested by developers before release
beta: by "friendly customers" before general release
acceptance: by end customer, they better be happy!
◉ TDD. Answer: Test Driven Development
,◉ Repository = ?. Answer: working tree + store
◉ working tree. Answer: the project itself, an ordinary directory
including files and sub directories. developers retrieve copies to
work on
◉ store. Answer: hidden directory (.git) in root directory of working
tree. Brings in a time component. You should never access .git
directly
◉ Commit. Answer: creates a snapshot, each is identified by a hash
and is almost guaranteed to be unique.
◉ Index. Answer: virtual snapshot stored at .git/index. this is a
gateway for moving changes made in the working tree to the store
◉ Snapshot. Answer: apply your modifications in the working copy
to the repository. changes the repository, "commits" changes
◉ History. Answer: Directed Acyclic Graph of snapshots. Stacking a
snapshot and its predecessors gives a snapshot of the project (aka a
revision or a version)
◉ Branch. Answer: pointer to a commit
,◉ Head. Answer: a special reference, usually pointing to a branch.
think that this is "attached" to a branch
◉ git status. Answer: displays differences between head and index
◉ git add. Answer: updates index based on files in working tree
◉ git commit. Answer: stores current content of index along with a
log message (makes wt == index)
◉ git branch. Answer: creates a new branch pointing to where the
head is
◉ git checkout xxx. Answer: updates index and working tree, points
head to whatever the argument is. only do this if the working tree is
clean
◉ git log. Answer: display snapshots in a store, DAG
◉ merge. Answer: bring history together, bring work from another
branch into the current branch
, ◉ DVC. Answer: Distributed Version Control, multiple people
distributed across a network contributing to a central repository
◉ Dynamically Typed Programming Language. Answer: variables do
not have to have types, objects (which variables point to) do
◉ primitive types in ruby. Answer: numbers, strings, ranges, regular
expressions
◉ numbers. Answer: integers (Fixnum, Bignum)
float: double precision!
◉ strings. Answer: over 75 built in methods
◉ split. Answer: splits a string into an array of strings based on a
separator
◉ chomp. Answer: returns a string with the separator string
removed. if nothing, good for removing whitespace & newlines
◉ ranges. Answer: 1..10 is represented as two values of type fixnum
0..4 includes start and end value
0...4 does not