Sanity testing is the surface level testing where QA engineer verifies that all the menus, functions, commands available in the product are working fine.
Smoke Testing, also known as “Build Verification Testing”, is a type of software testing that comprises of a non-exhaustive set of tests that aim at ensuring that the most important functions work in the application
Regression Testing is defined as a type of software testing to confirm that a recent program or code change has not adversely affected existing features. Regression Testing is nothing but full or partial selection of already executed test cases which are re-executed to ensure existing functionalities work fine.
Automated testing tools are capable of executing tests, reporting results and comparing results with earlier test runs. Tests carried out with these tools can be executed repeatedly, at any time of the day.
Performance testing is in general, a testing practice performed to determine how a system responds in terms of responsiveness and stability under a particular workload. It can also serve to investigate measure, validate or verify other quality attributes of the system, such as scalability, reliability and resource usage.