1. A computer-assisted method for software testing and validation, the method comprising: generating, by a processor of a computing device, an abstract model defined by data embedded in a software application under test (SAUT), said generating comprising: identifying, by the processor, the embedded data within at least one region of the SAUT by parsing the at least one region of the SAUT, wherein the embedded data comprises a tag identifying a test region; and constructing a test region object representing the test region, wherein the test region object stores hierarchical information defining a hierarchy comprising: (i) a location of the test region within the SAUT, (ii) a parent region that the test region is contained within, (iii) one or more sub-regions contained within the test region, and (iv) one or more test objects associated with the test region; and executing, by the processor, a test script, wherein the test script navigates the abstract model thereby invoking an action of the test region and/or verifying an output of the test region, wherein the abstract model enables the test script to navigate the abstract model by one or both of (a) directly accessing the test region using the tag thereby locating the test region regardless of location of the test region within the abstract model, and/or (b) using the hierarchical information to navigate up or down the hierarchy re-executing, by the processor, the test script to test an altered test region, wherein the altered test region has been altered by at least one of relocating and redefining the altered test region of the SAUT, the altering resulting in a change of expression of the abstract model of the altered test region without affecting other test regions within the SAUT, wherein the test script is unaffected by updates or changes outside the altered test region.