Sunday, October 18, 2009

Midterm Review Questions

Here are some questions I thought would be helpful in reviewing for the midterm:

1. What is the difference between "white box" and "black box" testing?

Black Box: Design a set of test cases to see if inputs match the desired outputs. Can also catch errors of omission. No access to source code required.
White Box: Use of coverage tools (CheckStyle, ect) to find bugs. Can catch code that has been writen.

2. Why is Subversion so helpful to software development?

Allows for multiple versions to be stored in a database.
Supports optimistic locking and all files are available for check out so that multiple users can edit the same file at one time.

3. What is the purpose of Ant?

Ant provides cross platform coverage tools that execute specific xml targets which performs a white box testing of the specified code.

4. What does the task "ant -f verify.build.xml" do?

This command runs all available tools (CheckStyle, FindBugs, JUnit, ect) as well as the build.xml target and fails the build if one of the tools fails.

5. What is emma and what is its output?

Emma outputs statistics about which lines of code were executed and which ones were skipped. Breaks down the statistics by package and source files.

6. What are the 3 prime directives?

1. The system accomplishes a useful task.
2. An external user can successfully install and use the system.
3. An external developer can successfully understand and enhance the system.

7. What is the GNU project?

It is a Linux based open source operating system which strives to function with open and non open source software.

8. What are the difference in implementation of automated and manual quality assurance?

Manual: Actual writing of tests cases with JUnit, manually reviewing source code.
Automated: Uses coverage tools (CheckStyle, PMD, ect) to run tests on code.

9. How do you download someone else's code from Google Hosting?

Under the "Source" tab on Google Hosting you have two options:
1. You are part of the project so you checkout the https:// link to be able to work on and update the code.
2. You are not part of the project so you download the http:// link in order to view and modify the code but not be able to update the actual hosted code.

10. Write the FizzBuzz program.


0 comments:

Post a Comment