Agile and Test Automation - Part 2
So in our last article https://www.opkey.com/blog-detail.php/Agile-and-Test-Automation-Part-1 we saw the challenges that we face in the Agile world for test automation. Testing is no longer a phase, it is a continuous activity in the Agile way of software development. A successful Test Automation tool for Agile must conform to all of the following features.
Let me explain each of these one by one.
A large amount of productive time is lost in documentation, from the point of jotting down the requirements, to converting them into use cases, test cases, code and automation scripts. By using the techniques of BDD, and ATDD approach this can be greatly reduced. Teams have moved from isolated work environments to collaborative environments, which allow them to generate a live document which can be shared and accessed across teams. It also provides a collaborative platform which at any given snapshot of time provides all stakeholders a clear picture of the software being created. No wonder, this is a inevitable component of agile teams.
As we have understood from the earlier article in the series, that testing is not a phase it is a continuous activity. We should try to automate as many processes, and testing is a great candidate for it. The approach of test driven development, allows us to start writing our automation cases, even if we do not have the application at hand. And the solution should allow us to create the test scenarios sans the application. So as our application component will be available, we will have the scripts ready. We should be able to perform effective testing in each sprint.
Application lifecycle management tools, and build tools are integral part of agile processes. The build creation process is automated using tools like Jenkins, Hudson. The mapping of the requirement to the bug is done with help of tools like JIRA, ALM etc. We need to ensure that our test automation solution allows to be fit in with these Dev-ops solution and becomes an integral part of it for an effective ROI of agile process.
OpKey, an award winning tool agnostic test automation Platform provides all the above and more feature thus making it an ideal choice for application which are developed in agile processes. Let us see with the help of the following diagram, how seamless OpKey fits into any dev-ops process.
Let us understand how our solution OpKey fits into the agile processes.
For Testing Teams
a) The Business analyst or the project manager generates the user stories in JIRA
b) Using OpKey, the tester generates the acceptances tests using Gherkin as a language and maps these tests to the user stories. OpKey allows multiple people to work together to generate acceptance tests.
c) The tests are then executed on systems, where OpKey agents are available. While executing the tests, we can chose what all test automation tools we want to use for our tests. The results are then pushed back to OpKey
For Development Teams
a) We can create tests in OpKey for Build acceptance testing.
b) Using the OpKey Jenkins plugin, the test suite is configured to execute based on the event generated by Jenkin, for example on code check in, or a nightly build creation run.
c) The tests are executed on OpKey agent, and the results are pushed back to OpKey and the stories result gets updated in Jira as well.
In our next article, we will have a look at the individual features of OpKey which supports agile processes.