software testing

should software testing be done only at the end of developing the software or should it be done throughout the development process?