A method comprising: generating, by a controller, at least one fault code corresponding to one or more failure modes; in response to the generated at least one fault code: modifying, by the controller, a mode of operation of an engine by operating the engine in a normal mode and then operating the engine in a testing mode; controlling, by the controller, one or more valve actuators of the engine by actuating the one or more valve actuators to a desired position; receiving, by the controller, at least one parameter value corresponding to one or more operational parameters of the engine to determine whether the at least one parameter value is within a predetermined value range; receiving, by the controller, data provided by at least one sensor positioned within the engine to determine whether the data is within a predetermined data range; and isolating, by the controller, a failure mode from the one or more failure modes based on at least one of: modifying the mode of operation by operating the engine in the normal mode and then operating the engine in the testing mode, controlling the one or more valve actuators by actuating the one or more valve actuators to the desired position, receiving the at least one parameter value corresponding to the one or more operational parameters to determine whether the at least one parameter value is within the predetermined value range, and receiving the data provided by the at least one sensor to determine whether the data is within the predetermined data range. generating, by a controller, at least one fault code corresponding to one or more failure modes; in response to the generated at least one fault code: modifying, by the controller, a mode of operation of an engine by operating the engine in a normal mode and then operating the engine in a testing mode; controlling, by the controller, one or more valve actuators of the engine by actuating the one or more valve actuators to a desired position; receiving, by the controller, at least one parameter value corresponding to one or more operational parameters of the engine to determine whether the at least one parameter value is within a predetermined value range; receiving, by the controller, data provided by at least one sensor positioned within the engine to determine whether the data is within a predetermined data range; and modifying, by the controller, a mode of operation of an engine by operating the engine in a normal mode and then operating the engine in a testing mode; controlling, by the controller, one or more valve actuators of the engine by actuating the one or more valve actuators to a desired position; receiving, by the controller, at least one parameter value corresponding to one or more operational parameters of the engine to determine whether the at least one parameter value is within a predetermined value range; receiving, by the controller, data provided by at least one sensor positioned within the engine to determine whether the data is within a predetermined data range; and isolating, by the controller, a failure mode from the one or more failure modes based on at least one of: modifying the mode of operation by operating the engine in the normal mode and then operating the engine in the testing mode, controlling the one or more valve actuators by actuating the one or more valve actuators to the desired position, receiving the at least one parameter value corresponding to the one or more operational parameters to determine whether the at least one parameter value is within the predetermined value range, and receiving the data provided by the at least one sensor to determine whether the data is within the predetermined data range.