Here we discuss concepts around two areas, QA and Automation. Our focus should first be on building a good understanding of what we need to focus on to improve Quality of a software product and what role automation plays in it. Then we talk about software programming best practices and design patterns that help in implementing a sound automation framework.