CS 325: Software Engineering March 31, 2015 Software Testing Black-Box Testing White-Box Testing Regression Testing

  • Published on
    24-Dec-2015

  • View
    212

  • Download
    0

Embed Size (px)

Transcript

<ul><li> Slide 1 </li> <li> Slide 2 </li> <li> CS 325: Software Engineering March 31, 2015 Software Testing Black-Box Testing White-Box Testing Regression Testing </li> <li> Slide 3 </li> <li> CS 325 March 31, 2015 Page 203 Black-Box Testing Recall that black-box testing is used to determine whether a software system meets its functional specifications. Black-box testing comes in multiple flavors: Equivalence Partitioning Divide the input and output domains into disjoint subsets and test one selection from each subset Boundary Value Analysis Set up the Equivalence Partitioning subsets; test selections at and near their boundaries Cause-Effect Analysis Map the different combinations of system input values to their corresponding resultant output values </li> <li> Slide 4 </li> <li> CS 325 March 31, 2015 Page 204 Black-Box Testing: Equivalence Partitioning For the function below, equivalence partitioning would involve three input pairs: one producing underflow, one producing uinderflow, and one producing neither. int safe_add( int a, int b ) { int c = a + b; int c = a + b; if ( (a &gt;= 0) &amp;&amp; (b &gt;= 0) &amp;&amp; (c = 0) &amp;&amp; (b &gt;= 0) &amp;&amp; (c &lt; 0) ) cout = 0) &amp;&amp; (b &gt;= 0) &amp;&amp; (c = 0) &amp;&amp; (b &gt;= 0) &amp;&amp; (c &lt; 0) ) cout </li></ul>