Search code examples
automationautomated-testskeywordgallio

Keyword-driven test automation in distributed systems


Has anyone had experience of keyword-driven automation testing for multiple, distributed systems?

http://en.wikipedia.org/wiki/Keyword-driven_testing

In terms of automation frameworks, I've used TDD, code-driven testing (Nunit, xUnit etc), and GUI testing, but in a new role have come across this now.

Wiki is VERY light on detail, so was after some answers on how people have used it, what successes (AND what problems / failures!), whether they've built their own or used tools (Gallio driving a C# framework with Excel spreadsheets for input here), and whether they've done other testing in parallel. Example - our devs are writing unit tests in BizUnit, it seems a shame not to somehow integrate those into a continual test reporting tool, if they're decent tests.


Solution

  • Keyword driven tests usually are application independent frameworks for automation of testing. These tests are developed using a vocabulary of generic objects which occur in UI applications. Keyword driven tests are independent of the test automation tool used to execute them.

    Integrating your tests with the build process should not be a difficult task. Usually it just means that once a build is complete, the framework should pick up the final executable and install the product. Once installed it should start executing the tests. Execution of the tests depends on the type of application (web based or desktop based, or console based). You need to be more specific on the needs and can post to forums which deal with these sort of issues :-)

    Testing in parallel would mean that you either run different instances of the suite on separate servers, with the Excel sheet defining which test to run and which to skip on a particular system. Usually in keyword driven, the input file should have some way to work on which tests to execute in a simple fashion.

    Also, it depends on the application itself, would be good if you define what exactly you mean by testing in parallel.