What Is a Software Test?
Fleeting- External reference: https://en.wikipedia.org/wiki/Software_testing
- External reference: https://en.wikipedia.org/wiki/Test_oracle
test oracle (or just oracle) is a provider of information that describes correct output based on the input of a test case
comparing actual results of the system under test (SUT) with the expected results as provided by the oracle
Determining the correct output for a given input (and a set of program or system states) is known as the oracle problem or test oracle problem
Software testing is the act of checking whether software satisfies expectations
Examples of oracles include: specifications, contracts,[4] comparable products, past versions of the same product, inferences about intended or expected purpose, user or customer expectations, relevant standards, applicable laws.
Software testing is often used to answer the question: Does the software do what it is supposed to do and what it needs to do?
Software testing should follow a “pyramid” approach wherein most of your tests should be unit tests, followed by integration tests and finally end to end (e2e) tests should have the lowest proportion.
Not all defects cause a failure. For example, a defect in dead code will not be considered a failure.
White-box testing (also known as clear box testing, glass box testing, transparent box testing, and structural testing) verifies the internal structures or workings of a program, as opposed to the functionality exposed to the end-user
While white-box testing can be applied at the unit, integration, and system levels of the software testing process, it is usually done at the unit level.[