The main types of software testing are usability testing, functional testing, and non-functional testing. Usability testing ensures that software is easy to use, functional testing checks that the software performs as intended, and non-functional testing evaluates attributes like reliability, performance, and security. Other types were not discussed because they are considered variations of these three main categories.