1. A method for generating an optimized test suite for testing an AUT (Application Under Test) in a software testing system, the method comprising: enabling a user to enter a filtering criteria by the optimization engine, on the optimization engine receiving information related to the AUT; 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.