My Innovative Solution to Agile: Automation-Assisted Showcase
Make every showcase a successful one.
This is included in my “My Innovative Solution to Test Automation and Continuous Testing” series.
In 2015, I worked (as the test lead) on one project that took the showcase quite seriously (at least the project manager planned to). The showcases for the first two sprints went quite well. The highlight of the showcase was, of course, a demonstration of implemented (or changed) user stories by business analysts. However, the business analysts’ demonstration started showing signs of struggling since Sprint #3.
The reason was simple. The user stories implemented were simple and straightforward ones, such as: ‘user login’, ‘user sign up’, ‘applicant can fill the form’, …, etc, which are easy to demonstrate. Along with the development, the user stories (of new sprints) are dependent on previous ones. For example, “Manager can reject the application” needs a newly submitted application first. Therefore, the business analysts had to spend growing time preparing test data for the showcase demonstrations. It seemed still manageable.
However, showcase #5 went quite badly. The problem was not test-data preparation, rather, the business analyst forgot one user’s password when switching users. Then, he panicked, which made things worse. He eventually made it through, but it was no good, at least compared to the previous showcases.
After this failed showcase (not really the business analyst’s fault), all team members realized it was going to get worse, as upcoming user stories would be much more complex (i.e. more steps and multiple switching users). The project manager was upset because ‘unable to showcase’ would undermine ‘his perfect Agile’.
Seeing that, I said: “We could use automated test scripts to assist showcases”. The team members were aware of the value of our automated tests: verify the user stories (Done, Done) and regression testing, but for showcases?
I continued: “I could create a set of new automated (not test) scripts purposely for the sprint’s showcase. Because it is really a subset of existing automated tests (I developed for the sprint), I could create them very quickly, in minutes”.
The PM was in doubt, but he still welcomed the suggestion. I told the PM: “You can come to my desk in half an hour, I will show you”.
It took me less than 30 minutes. I demonstrated the same scenarios in the failed showcase to the PM. The PM loved it.
Implementation
Create a new folder “showcases” under the ui-tests folder.
Clone the automated tests for the current sprint’s user stories over.
Renamed script files based on the convention:
sprint#-order#-%NAME%
as below.
Modify the automation script, usually removing assertions, unnecessary test scenarios, adding some delays, … etc. The purpose is to make more-focused and simple automation scripts.
Verify, and run it multiple times.
These automation scripts are mostly likely one-use only, so you don’t need to worry about future maintenance, however, still need to make it stable.Rehearsal with a business analyst
In fact, if business analysts like, they can dogit pull
, and run the showcase automation scripts in TestWise on their machines.
How does Automation-Assisted Showcase work?
The business analyst started with a brief description of one user story.
On signal, I triggered a run of automated scripts (not automated test scripts) to complete the test data preparation steps. All audiences could see the quick actions in a browser.
The Business analyst continued to demonstrate new features, manually. This is possible due to TestWise’s feature: “Keep the Browser Open after Executing an Individual Test”.
From that on, I participated in every sprint showcase: I ran automation scripts, and then the business analyst took over. Every showcase since was considered successful. The automation script not only made the demonstration error-free, but more importantly, the customers were much more engaged with more feedback (faster and more focused, they didn’t need to wait minutes for test preparation steps).
There is another good effect, the customers were really impressed with the automation after seeing it in the showcases (driving their app). This helped build their trust in our technical capability. For example, the CIO told the PM, “During the warranty period, you can go ahead deploying a new update to production after providing a green BuildWise build report (a run of whole automated End-to-End tests, like the one below)”.
For the details of implementing ‘automated-assisted showcases’, check out this article.
Related reading: