Last week I made a workflow mistake--not my first. Actually, part of this I will attribute to a confusing setting in Nintex; the other part is purely mine. The setting involved a task field "% Complete", I used it like I did in SharePoint. I was looking for all tasks NOT Complet; which I interpreted to mean less than 100. Nintex wasn't viewing it that way, it was seeing %complete as a fraction of 1--1 being completed--any decimal value would be not complete. So for the first part of the error, I extracted the complete with the incomplete.
The second part of the error was strictly bad programming, I was in a loop and forgot to initialize a variable that I was holding text and text got copied where it shouldn't have been--mea culpa!
I had thought to template the list before I started my operation so that I could and did restore the data.
The question is how many times do you use a test environment?
We have one--but it is never set up the way we need to test. Most times I execute Workflows on production---sometimes on complex workflows I will use a test list on production.
I'm betting that the Production environment is used 90% of the time. Since Nintex is a tool for the average SharePoint user who may not even know how to get to a test environment.