1. A method comprising: building, by a computing device, a pseudo-random dynamic instruction stream that comprises instructions configured to perform a transaction execution; testing, by the computing device, the transaction execution in a uni-processing system based on the instruction stream; and outputting, by the computing device, a status of the test to one or more output devices; determining, by the computing device, that an abort occurs in the transaction execution based on the testing; wherein the abort is intentionally caused by the instruction stream or the abort is due to events that are external to the test case associated with the testing; restoring a state of architected resources to a state just prior to the transaction execution based on the occurrence of the abort; wherein the restoring comprises: saving to a first buffer the state just prior to the transaction execution; updating a second buffer during the transaction execution; copying non-transactional stores from the second buffer to the first buffer; copying non-restored registers from the second buffer to the first buffer; and copying the first buffer to the second buffer subsequent to copying the non-transactional stores from the second buffer to the first buffer and copying the non-restored registers from the second buffer to the first buffer.