Search code examples
testingtest-plantest-frameworktestautomationfxgui-test-framework

Test Automation Framework for different types of products


I have read some basic definition of what Test Automation Framework is but I wish to know in easy words and more practical example.

Lets say.

I own a company that makes different kinds of products made on different platforms for different purposes. E.g. Spotify Web Version, Google Map apps on ipad /Android and Ebay.com on several platforms.

Now since all these products are of different nature and prurpose on different platform. How do we implement a test Automation framework that covers all these.

PS: Aim of question is to understand what is actually meant by framework in test automation and how can it be implemented for products worlds apart?


Solution

  • Test Automation framework is a set of guidelines like coding standards , test-data handling , object repository treatment etc... which when followed during automation scripting produce beneficial outcomes like increase code re-usage , higher portability , reduced script maintenance cost etc.

    Mind you these are just guidelines and not rules; they are not mandatory and you can still script without following the guidelines. But you will miss out on the advantages of having a Framework.

    Most widely known framework are :

    Data driven framework DDF- testing app with multiple set of data (segregates test data from test script)

    Keyword/Action driven framework – not only segregates test data from test script but also keep some set of reusable code (keyword/ action perform on web element like click, send keys, select, navigate, wait etc) in external files.

    TDD- test driven development- where testing drives the development of product. Iterative approach in which :Add test- watch test fails- write code to pass the test- run test again till it passes- refactor.

    BDD-It is Business Driven Development approach. Focused on business behavior; the “Why” behind the code. It makes use of a simple, domain-specific scripting language in which collaboration is easy between Business & Technology teams. Test Automation using BDD focuses on validating the acceptance criteria of User Stories.

    I would recommend you to go with Hybrid Testing Framework, which is a combination of more than one above mentioned frameworks. The best thing about such a setup is that it leverages the benefits of all kinds of associated frameworks. For re-usability purpose go ahead with combo of BDD with DDF or BDD with Keyword.

    For detail undestanding: https://www.cs.colorado.edu/~kena/classes/5828/s12/presentation-materials/ghanakotagayatri.pdf