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 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.
No comments:
Post a Comment