TYPES OF SOFTWARE TESTING