1. A method for generating an optimized test suite for testing an AUT (Application Under Test) in a software testing system, said method comprising: enabling a user to enter a filtering criteria by a optimization engine, on the optimization engine receiving information related to the AUT, wherein the information comprises of at least one of a requirement, an information associated with each of the requirement, a model of the AUT, a relevant test data, at least one target environment for testing in a current testing cycle, a project information, a historical execution of the AUT and a data required to calculate a risk-index for each of the requirement; filtering the requirements by the optimization engine, based on the at least one target environment; selecting the requirements for test execution by the optimization engine based on the risk index; identifying final requirement suite for test execution by the optimization engine; filtering test data by the optimization engine based on current test environment; optimizing the filtered test data by the optimization engine by applying orthogonal array methodology; and triggering generation of test cases and test scripts by the optimization engine for at least one model, wherein at least one model is selected based on the final optimized requirements suite and the filtered and optimized test data of each of the at least one model.