Why Keyword Driven Test Automation is not way forward for Agile
https://en.wikipedia.org/wiki/Iterative_and_incremental_development

Why Keyword Driven Test Automation is not way forward for Agile

This post is the first article in a three article series where I discuss about approaching test automation and why conventional methods might not be the way forward, specifically in agile environments.

Keyword driven test automation frameworks are a great way to accelerate test automation, and to utilize testing resources with limited or no scripting knowledge to create automation scripts.

Although Keyword driven frameworks can help accelerate in certain situations, there are certain aspects of Keyword driven approach which makes it unusable or inappropriate for organizations following an agile development approach.

Popular approach to Keyword driven frameworks need to have a set of keywords defined either based on:

  • the application functionality or
  • the low level/action level of the automation engine

We will discuss each of the above approaches in separate posts, since there are basic differences in the issues these approaches present and handling them as part of future maintenance

Keyword driven frameworks/tools which need the keywords defined, which will later be used/called to create test scripts, require the application functionality clearly defined in terms of different flows it contains. Once all the flows of the application are identified, the Keywords are defined and later implemented. This approach to automation ends up investing too much time upfront identifying the application flows, and any change to the application flows would require not only updating the implementation of the Keywords themselves, but also all the test scripts that are impacted by the application changes.

This ends up being too much of maintenance activity with too little traceability to the actual user stories(and changes). Although the assumption is that Keyword driven frameworks can be utilized by non-technical resources in the team to create the tests(and to reduce the costs related technical resources), it might not be as cost effective.

Another issue with this approach is that the test teams still need to maintain two different assets(manual test cases and automation tests) since although the keywords(and test scripts) are readable, they are not readable enough most of the times, and leave too many gray areas for assumption to use them as manual tests.

Now the test teams have to trace changes to user stories(and application behavior) to update Manual test cases and automation test scripts, which as evident is too much of maintenance activity.

Since this is a Shift Right approach(instead of Shift Left), the automation is always behind the sprints(or development) not considering a change in application functionality. Once a major change in application functionality occurs, maintenance activity kicks in, taking lot of time to make fixes and have them working again(this means automation falls way behind the development)

I will in the next post, discuss about the Keyword driven test automation with tools/frameworks that provide a way to create test scripts with low level/action level steps(based on underlying automation engine) and what issues it presents in Agile environment.

I would love to hear from you, What in your experience, have been the disadvantages of using Keyword driven frameworks in an Agile environment?

Disclaimer: The opinions in the post are purely based on my personal experiences and do not represent that of my employer.

Vishnu N C

Founder @ TheAlpha.dev | Building Next-Gen Intelligence Engine

9 å¹´

Thank you for sharing your opinion @Siraj. In my next two posts I will be discussing further on what I believe are the disadvantages and what approaches can be taken to overcome them. Will appreciate your comments based on them too.

赞
回复
Vishnu N C

Founder @ TheAlpha.dev | Building Next-Gen Intelligence Engine

9 å¹´

Thank you @Manish for sharing your experiences.

赞
回复
Siraj khan

Software Quality Assurance Specialist

9 å¹´

Good post !! But I have been assuming keyword driven framework would reduce time and effort with any impact/change on application itself as the whole actions and commands are written completely outside of the script , rather relying on the code which is hard coded in scripts. Though I respect the authors opinion but would like to discuss how far my opinion is true !!

赞
回复
Manish Mishra

Sr Technical Account Manager

9 å¹´

One of effective approach that we have applied in our Test strategy is to move away from API based tools to image based ones. Sikuli and Eggplant are the core tools towards that strategy. Significant reduction in maintenance effort is visible leading to faster ROI. The challenges previously to such approach were OCR was not very effective but has changed now.

赞
回复
Dr. Subhendu Pattnaik

CMO @ Covasant | Ex-Forrester Principal Analyst & CMO Advisor Asia Pacific | IIM Indore Fellow (PhD) | Top 50 Brand Leaders Asia | Keynote Speaker

9 å¹´

Awesome post. Look forward to the subsequent posts in the sequel.

赞
回复

要查看或添加评论,请登录

Vishnu N C的更多文章

社区洞察

其他会员也浏览了