The computing environment for web applications is dynamic and complex as internet is heterogeneous, distributed, multi-platform, multimedia, multilingual and cooperative wide area network. The web software itself is also dynamic and rapidly evolving. This complex and dynamic computing environment, complex user requirements, new features and constraints make the testing of web-based software a challenging task. Traditional testing techniques are not sufficient because they do not address the challenges associated with the web-based applications. This study reviews the techniques for the testing of web based applications and gives a strategy to use the testing techniques meeting the challenges of testing web-based software.