Professional Documents
Culture Documents
Chap 5
Chap 5
Chap 5
SE-2030 1
Dr. Mark L. Hornick
How did you test your code?
SE-2030 2
Dr. Mark L. Hornick
How can you test your app?
Run the app with inputs that should produce a known
output, and verify the actual output
One problem with this approach may be that you can’t make
your app accept “bad” inputs; thus you may not be able to force
all possible if-then-else blocks of the app’s classes’ methods to
execute
SE-2030 3
Dr. Mark L. Hornick
What is Unit Testing?
Creating special-purpose test code that exercises
specific classes of your application is called Unit
Testing
Unit Testing is also known as “Class Testing”
Such test code usually exercises one method of a
class at a time whenever possible.
The tests usually include exercising the methods
in “boundary conditions” by force-feeding the
methods “bad” arguments, such as nulls.
SE-2030 4
Dr. Mark L. Hornick
Naïve Demo
SE-2030 5
Dr. Mark L. Hornick
What is JUnit?
JUnit is an open source Java testing framework used to write
and run repeatable tests.
SE-2030 6
Dr. Mark L. Hornick
What are some limitations of
JUnit testing?
Not well-suited for testing user interfaces (other
approaches are needed)
Does not ensure that all code is actually tested
(other tools are needed to measure code
coverage)
Is not well-suited for testing an entire application
Complexities related to testing private methods
SE-2030 8
Dr. Mark L. Hornick