The reliability of software is concerned with the probability that software will run without error.
Reliability is easier to test in hardware, but can also be tested in software.
Estimating the reliability of software directly by quantifying its related factors can be difficult. Estimation from information gathered in black box testing is usually used to determine reliability. This estimation is what determines the risk of using the software. Robustness and Stress testing are two variations of reliability testing. Robustness testing is concerned with the correctness of the software when exceptional inputs are used.