The process of developing/executing a script to evaluate an application is automation testing..
Challenges in Automation can be
1.Selection of the tool.
2.How to automate the test.
We can overcome the challenges by
1.selecting the proper tool based on test capability/Cost/Ease of Creating test/Ease of playback and execution/maintenance/Result Reporting
2.Chosing proper framework for the process.
I just wanna know if this is what exactly you need!!