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