Assignment First



1) Big Bang Approach
In the Big bang all modules are tested as a cohesive unit. The advantages are that there is no need for unit testing, and multiple test cases, the disadvantages are that there will be the need to generate multiple stubs and drivers. Fault isolation also will not be easy.
Consider the case scenario where code 1 is basically a prompt to the user to enter some details, code 2 is the will do some modification of the data and pass it onto another function, say code or method 3 will save the data to a document file. When big bang testing is done, all three functions are tested at once. Here if a fault was to occur, one would have a hard time finding whether it was code 2 or 3 that failed.
2) Incremental Approach
a)Top Down Approach
In the top down approach, the skeletal framework will first be tested and then the sub functions. Let us consider code 1, 2 and 3 defined above as the sub functions, and then there is a main function which is basically to just have access to the document, but not modify, update or delete it. Then the main function would be tested with stubs for 1,2 and 3, and then 1,2 and 3 will be tested. In the top down approach a basic working program could be presented to the users and this is an advantage
b)Bottom Up Approach
A bottom up approach will start with the testing of 1,2 and 3 and then the main function will be tested. The disadvantages in the bottom up is that the time for a badic working program would be delayed.

c) Sandwich Approach – Combination of Top Down and Bottom Up
A sandwich testing will use both bottom up and top down testing. The stubs will be created for main code and they will be tested, parallel to the testing of the sub codes 1,2 and 3. Advantage is that the code testing time is reduced considerably.