Computer Science

Question 4: Software Testing. Consider The Following Simple (And Nonsensical) Pseudocode Subroutine.

   

Whatever (in x, y; out z)

begin

x  <— x * 2;

if x > 0 then

y <— y + 200;

else

y <— 5 * y;

endif;

while x > y do

x <— x 10;

endwhile;

z <— y x;

end;

  

a. List and briefly discuss three goals of performing software testing. Why do we test software systems?

b. Describe briefly how you would apply Functional (Black Box) Testing to this subroutine. Why would you perform functional testing?

c. Describe briefly how you would apply Structural (White Box) Testing to this subroutine. Why would you perform structural testing?