1 / 8

Intoduction to Unit Testing

Learn about the basics of unit testing using JUnit framework. Understand the benefits, limitations, and best practices of unit testing. SE-2030 Dr. Mark L. Hornick.

kburt
Download Presentation

Intoduction to Unit Testing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Intoduction to Unit Testing Using JUnit to structure Unit Testing SE-2030 Dr. Mark L. Hornick

  2. How did you test your code? SE-2030 Dr. Mark L. Hornick

  3. 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 • Write a separate “test” program that is designed to exercise the classes and methods of the “production” app A problem with this might be gathering the results of the exercises and determining whether each one passed or failed. SE-2030 Dr. Mark L. Hornick

  4. 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 Dr. Mark L. Hornick

  5. Naïve Demo SE-2030 Dr. Mark L. Hornick

  6. What is JUnit? • JUnit is an open source Java testing framework used to write and run repeatable tests. • It is built into Eclipse (and ItelliJ etc) • JUnit is designed to automatically call “test” methods that in turn test the “real” code. • It can compare actual results the “test” received from a real method vs. the results it expected, and report deviations. • It does not guarantee that the methods it calls actually perform meaningful tests • You must write meaningful tests • You must write “enough” tests to cover all possible situations SE-2030 Dr. Mark L. Hornick

  7. 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 These topics are covered in more detail in SE2832 SE-2030 Dr. Mark L. Hornick

  8. Demonstration SE-2030 Dr. Mark L. Hornick

More Related