CSE2305 - Object-Oriented Software Engineering
Self Assesment Questions
For each question choose the single response which best answers the question, or which completes the statement most accurately.
| Question 199: | The testing phase of software development doesn't require: |
| testing that the implementation compiles correctly. |
| testing that the implementation matches the design. |
| testing that the implementation matches the requirements. |
| testing that the components of the implementation work separately and together. |
| testing that the implementation interacts correctly with the environment. |
| Question 200: | "In situ" testing is another name for: |
| Verifying that all code components fit together correctly. |
| Verifying that the code runs correctly on any platform. |
| Verifying that the code runs correctly on the specific platform it was developed on. |
| Verifying that the code runs correctly on the specific platform it is to be deployed on. |
| Verifying that the code obeys the software engineering dictum: "cum in situ doon ava quoppa te". |
| Question 201: | The difference between verification and validation is : |
| They are different names for what is essentially the same process. |
| Verification tests validation: it asks testers to verify that code is valid. |
| Verification relates to implementation whereas validation is principally concerned with design. |
| Verification asks if we are building the right product, whereas validation asks if the product was built right. |
| Verification tests class diagrams, whereas validation looks at actual code. |
| Question 202: | A good test program: |
| Finds a different error each time it is run. |
| Finds the same error by several different methods. |
| Has a low probability of finding a known error. |
| Is a reversal of what Sommerville calls "code intuition". |
| None of the above. |
| Question 203: | Logical errors are typically found: |
| Where you least expect them. |
| In the code that is least commonly executed. |
| by the compiler at compile time. |
| at random points in the code. |
| only in copy constructors. |
| Question 204: | Testing that looks at predicate conditions in code is known as: |
| Black box testing. |
| Execution path testing. |
| Comparison testing. |
| Data flow testing. |
| Conditional testing. |
| Question 205: | Unstructured loops are best tested: |
| Using Black box testing. |
| By unrolling each loop and testing it individually. |
| By setting the outer-most loop to its maximum and minimum values and then simple loop testing the inner loops. |
| They are best not tested, rather redesigned to eliminate the unstructured conditions. |
| C++ doesn't support unstructured loops, only |
| Question 206: | The following recursive insertion function is flawed. void recInsert(DataType d) { recInsert(d); } Which choice most accurately describes the flaw(s): |
| The iterative loop is missing. |
| The function does nothing. |
| The function calls itself endlessly. |
| The function will be "optimized away". |
| The function parameter is not defined. |
| Question 207: | A dynamic Array class is templated as follows: template <class DataType> class DArray { /* ETC */ }; What is the correct syntax for declaring a dynamic array of integers using the above template? |
| DArray <DataType> intArray; |
| DArray <int> intArray; |
| typedef DArray intArray; |
| int <DArray> intArray; |
| DArray intArray; |
Last updated: October 20, 2005