Testing software to a high standard is quite challenging. This is due to the broad variety of knowledge areas that are impacted in some way as well as the broad range of necessary abilities.