Automated Functional Testing
With a pretty solid framework in place, I'm starting to use my automation code for functional testing. I've been able to adapt completed test to accomplish specific goals.
For example, I recently made a new test to add new products to our system. Each product has several options that can be configured. I was able to make a test to programmatically add several hundreds new items, in multiple configurations, and get the test done in a single day.
Using what I already had, I was able to copy and paste 50% of the code as my base. I then used the standard commands already used to populate the form the way I needed.
From my testing, it took me about 30 seconds to populate the form and click the different options. The code does it in 5 seconds. That is also 30 seconds at my best. If I were to have to sit there for 4 hours straight, not only would I stare blankly into the abyss, I would make dozens of mistakes and it would take longer and longer to complete.
I let it run for about 4 hours during the test period and made hundreds of new products, each one slightly different in name and options selected. By the time is was finished, just about every combination possible had been created. That's a pretty good test run.