What is the main difference between black-box testing and white-box testing