Tuesday, February 5, 2013

The Enterprise can learn a lot about testing from developers


Alt Title:  Why we chose to integrate Cucumber support for Enterprise automation

Cucumber is often used by a test driven developer to insure proper code functionality.   He can write test cases and then code while using the test cases to insure the code works as designed.  This also insures a couple of things for the developer.  First it insures that he understands the business functionality; Second his code can be systematically tested to insure it still meets the business functionality over time.  Because of the simplicity of cucumber, the developer can quickly develop these test cases.   But the enterprise could also realize a lot of benefits if they adopt cucumber as well.

Here are the reasons to adopt cucumber:

Test cases can be understood by all key stakeholders:  A key challenge with writing automation scripts in the enterprise is not that they can’t be written but can’t be understood by anyone except the person who authored it.  In a world of complex business functionality with even more complex implementation, the QA developed test cases really add another layer of complexity to the SDLC.  More often than not, Automation Tests have a shelf life that lasts the duration of a single release – a massive drain on the organization when you consider building automation takes 6-10x of the time of a comparable manual test.  Furthermore, a lot gets lost in translation through the various stages of the SDLC from MRD> BRD >PRD > Test Cases (and Steps) >Automation Build out> Execution> Reporting> etc. etc. etc.

Test cases also take specialized skills to develop and they involve specific technology tools and knowledge like, Watir, Selenium, VBScript (for the HP/Mercury QTP crowd).  With Cucumber effectively allows all 3 parties to at least understand the test cases.

There are a lot of more subtle side benefits that can accrue when you adopt cucumber. 

Test cases are understood over time:  The easy readability makes it easy for a new developer or QA member to alter and adjust the test case as needed.  This is a big bonus for an organization.

Easy to adopt agile: It is easier to adopt agile methodologies within the organization.  Because cucumber tests can actually be developed during the sprint not like the test cases developed in Watir, VBScript, Selenium.   If the enterprise wants to adopt agile methodologies they need to eliminate road blocks, speed is a key road block.   We have found that when we work with our clients they are constantly dealing with incumbent processes that are hard to change. 

Test case building blocks: Cucumber makes it easy to develop a library of test case steps because the structure of the language has a natural separation of test case steps and the underlying implementation.  Because of that there is a tendency to develop reusable steps while in watir test cases are often written in long script files without clear functional steps identified.

Can be used across all target platforms:
Mobile browser testing is complex compared to desktop based functional testing.  In the pc browser, elements can be identified easily with the large range of automated testing tools that are available, but in the nascent mobile market there are few tools and for now and in the foreseeable future.  Cucumber eliminates the dependency on the browser DOM by focusing and the user interactions from a visual and functional perspective.

Overall cucumber is easy to adopt within the enterprise and the potential return on investment is large enough to easily warrant its inclusion within the SDLC.



Image Of Michael Irschick

About the Author

Michael Irschick, Product Manager, brings over 20 years of technical product development experience to 3Qi Labs including Systems Architect, Development and Technology Manager for Wells Fargo as well as Founder/Director for both Penguin Systems and Primitive Logic. As a product manager at 3Qilabs, Michael has molded integral portions of 3Qi Lab's approach to application development providing an expert understanding of how to leverage automation, testing best practices and specialized services to improve the quality of our web-based regression, mobile web, and native device app testing products.
More posts by on 3qilabs by 
Visit Website

No comments:

Post a Comment