Patent ID: 8850418

Claim:
A method for providing reversible enhancement functions in a software system utilizing an enhancement package and switch framework, the method comprising: constructing, with an electronic processor, a reversible test client by copying a main test client from an electronic storage medium, wherein the reversible test client including data created during a test is removable after the test; enhancing the reversible test client with an identifier, such that it can be distinguished from other types of clients; responsive to receiving a request to activate an enhancement function in the main test client: activating the enhancement function, activating an associated switch, responsive to activation of the enhancement function, activating a switchable business configuration set associated with the associated switch, wherein the activating includes installing at least one associated data or code set, the installation to be accessible to all clients, and setting a status for each enhancement function associated with the switchable business configuration set from inactive to active; responsive to receiving a request to activate an enhancement function in the reversible test client: activating a switch associated with the enhancement function without activating the enhancement function, responsive to activation of the switch associated with the enhancement function, activating a switchable business configuration set associated with the switch, wherein the activating includes installing at least one associated data or code set in only the reversible test client, and setting the status for each enhancement function associated with the switchable business configuration set from “inactive” to “activated in test mode,” wherein in the “activated in test mode” status the enhancement function continues to be inactive for all other clients, including the main test client, and active for the reversible test client; receiving input indicating if an activation in the reversible test client should be accepted or rejected; and responsive to the input indicating accepted: deleting the reversible test client, making the at least one associated data or code set accessible to all clients, and setting the status for each enhancement function form “activated in test mode” to activate.