# Testing

Source: https://wisconsin.twango.dev/fa24-cs300/u1-java-programming/using-objects/testing

# Testing

Testing is a crucial part of software development. It is the process of evaluating a system or its components with the intent to find whether it satisfies the specified requirements or not. Testing is executing a system in order to identify any gaps, errors, or missing requirements in contrary to the actual requirements.

When testing, consider the following:

- What are the typical inputs to the system? What would the typical outputs be?
- What are inputs that are not allowed? What should the system do in these cases?
- What are the edge cases? What should the system do in these cases?

<blockquote class="twitter-tweet"><p lang="en" dir="ltr">A QA engineer walks into a bar. Orders a beer. Orders 0 beers. Orders 99999999999 beers. Orders a lizard. Orders -1 beers. Orders a ueicbksjdhd. <br><br>First real customer walks in and asks where the bathroom is. The bar bursts into flames, killing everyone.</p>&mdash; Brenan Keller (@brenankeller) <a href="https://twitter.com/brenankeller/status/1068615953989087232?ref_src=twsrc%5Etfw">November 30, 2018</a></blockquote>

## Source

The existing course note was retained and normalized during the merge.

Related: [[u1-java-programming/using-objects/index|Topic index]].
