Automating a test procedure is a powerful tool for testers, whether the goal is to complete a general sweep of a product or to test a specific feature. A programmer is capable of automating almost anything, from detecting text and buttons in an app, to assessing the correctness of the layout of a web page, to checking a product’s error handling. But the return on the investment of time and resources must be kept in mind for automation to be a worthwhile effort.