Software test automation involves developing automated test scripts to test software. There are several benefits to test automation including saving time, freeing up test engineers from repetitive tasks, improving reliability of tests, and enabling certain types of testing. Effective test automation requires identifying what to automate based on factors like test type, prone to change areas, and standards. It also requires skills in test case design, frameworks, programming languages, and reporting. Proper design and requirements are needed for the test automation framework and tools. The test automation process should follow the same development lifecycle model as the product.