Term
Define a defect or bug in terms of software testing |
|
Definition
A flaw in a component which can cause the component or system to fail to perform its required function |
|
|
Term
What does testing show and what does it not show? |
|
Definition
Testing shows the presence of bugs, but not the absence of bugs. Testing cannot prove correctness of a program. |
|
|
Term
Is exhaustive testing ever feasible? |
|
Definition
Very rarely. Only when the input parameters are limited. Usually cannot do it because it would take longer to compute then the life of the system. |
|
|
Term
What can be used to focus testing efforts? |
|
Definition
risk analysis and prioritisation |
|
|
Term
When should testing activities ideally start |
|
Definition
|
|
Term
What are the 7 principles of testing? |
|
Definition
testing shows the presence of defects exhaustive testing is impossible test early, test often defects are liable to cluster in components dynamic testing finds fewer defects testing is context dependent the absence of errors is a fallacy |
|
|
Term
What should you do when monitoring the testing process? |
|
Definition
measure and analyse rest results monitor and document test coverage provide information on the process initiate corrective actions |
|
|
Term
Explain the positive effect of degrees of independence when testing |
|
Definition
mindset of testing is different when testing and developing; creator of some code has an affinity to the code which makes it harder for them to find fault |
|
|
Term
what is verification during testing? |
|
Definition
are we building the product right? |
|
|
Term
what is validation during testing? |
|
Definition
are we building the right product? |
|
|
Term
how does testing in the waterfall model inhibit the development process? |
|
Definition
the testing only happens at the end, which means that fixing bugs takes a lot longer than doing iterative testing |
|
|
Term
what are the four test levels of the V model? |
|
Definition
component/unit testing integration testing system testing acceptance testing |
|
|
Term
what is test driven development? |
|
Definition
start with an empty program and build unit tests - all tests should fail. create the program that makes all the tests pass. functionality created one piece at a time |
|
|
Term
name the two types of testing |
|
Definition
black box testing white box testing |
|
|
Term
what is black box testing? |
|
Definition
views the program as a unit of what it does, not how apply inputs to program and expects outputs |
|
|
Term
what is white box testing? |
|
Definition
views the program structure, not just outputs design tests based on the internal code structure |
|
|
Term
what is input domain modelling? |
|
Definition
construction of an abstract view of the input space for the unit under test |
|
|
Term
what is equivalence partitioning? |
|
Definition
choosing one input from each possible logical partitions from the input domain |
|
|
Term
what is boundary value analysis? |
|
Definition
takes an input domain that has equivalence partitioning applied to it and suggests that tests on the boundaries of each partition should be tested, as the errors are most likely to be there |
|
|
Term
name the combination strategies used in conjunction with input domain modelling? |
|
Definition
each choice coverage pair wise coverage base choice coverage decision tables |
|
|
Term
what is each-choice coverage? |
|
Definition
ensure that for each parameter each type of value is used in at least one test case e.g. (-5, -5), (0,0), (5,5) is valid for a two integer partitions with positive, zero and negative value types |
|
|
Term
what is pair-wise coverage? |
|
Definition
a value from each block for each parameter must be combined with a value from every block for each other parameter |
|
|
Term
what is base-choice coverage? |
|
Definition
a variation of each-choice coverage where you employ domain specific knowledge to identify an important base block |
|
|
Term
What is node coverage in white box testing? |
|
Definition
A test set is produced in union of the nodes visited contains every node of the graph that is possible to reach. |
|
|
Term
What is edge coverage in white box testing? |
|
Definition
A test set where every path of length zero or one is visited (by including length zero also get node coverage) |
|
|
Term
What is prime path coverage in white box testing? |
|
Definition
A test set where which includes all simple paths which do not appear as a proper subpath of any other simple paths |
|
|
Term
How can you find a prime path? |
|
Definition
Start with paths of length 0, then length 1, etc. This generates all simple paths. Non-prime paths (i.e. one with subpaths of other paths) can be removed. |
|
|
Term
What is the syntax for a path that cannot be further extended because it has reached the final node? |
|
Definition
|
|
Term
What is the syntax for a path which cannot be extended because it is a cycle? |
|
Definition
|
|
Term
What does the method which gets executed before each JUnit test look like? |
|
Definition
@Before public void setUp() throws Exception { |
|
|
Term
What does the method which gets executed after each JUnit test look like? |
|
Definition
@After public void tearDown() throws Exception { |
|
|
Term
What does a normal test look like? |
|
Definition
@Test public void test1() { f1 = new Fraction(10,10); assertEquals("Expect num=1", 1, f1.getNumerator()); } |
|
|
Term
What does a test which SHOULD throw an exception look like? |
|
Definition
@Test (expected = ArithmeticException.class) public void test5() { f1 = new Fraction(-3,0); } |
|
|
Term
What has happened if a JUnit test passes? |
|
Definition
The test has executed without fail() or assertEquals() (and its equivalents) being called and without any exceptions being thrown |
|
|
Term
What is the name of the JUnit method which checks for something to be true and fails the test if its is not? What parameters does it take? |
|
Definition
assertEquals(message, expected value, actual value) |
|
|
Term
What precedes every test method? |
|
Definition
|
|
Term
What precedes the setUp method? |
|
Definition
|
|