CSE 3901 UPDATED ACTUAL EXAM
QUESTIONS AND CORRECT ANSWERS
●● 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
QUESTIONS AND CORRECT ANSWERS
●● 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