Survey on Manual and Automation Testing strategies and Tools for a Software Application