4

Working primarily as UI test automation engineer, what further steps one should take to be more valuable & useful to the Dev team.

How one take automation to a level where it becomes an handy tool for testing for the entire team , not just the QA?

Edit: I am looking for more practical examples where one solved an real problem using automation in such an unconventional way in his/her project ,and was well received by the entire team and actually proved helpful.

3 Answers 3

4

Test automation is more than automating tests.

I recommend you reading James Bach "Agile Test Automation" article:

Test automation progresses when supported by dedicated programmers (toolsmiths).

Toolsmiths are directed by testers.

Tools generated by toolsmiths might be useful for

  • Test generation (data and script generators). Tools might create specialized: data such as randomized email messages, or populate databases, or generate combinations of parameters that we’d like to cover with our tests.

  • System configuration. Tools might preserve or reproduce system parameters, set systems to a particular state, or create or restore
    “ghosted” disk drives.

  • Simulators. Tools might simulate sub-systems or environmental conditions that are not available (or not yet available) for testing, or are too expensive to provide live on demand.

  • Test execution (harnesses and test scripts). Tools might operate the software itself, either simulating a user working through the GUI, or bypassing the GUI and using an alternative testable interface.

  • Probes. Tools might make visible what would otherwise be invisible to humans. T hey might statically analyze a product, parse a log file, or monitor system parameters.

  • Oracles. An oracle is any mechanism by which we detect failure or success. Tools might automatically detect certain kinds of error conditions in a product.

  • Activity recording & coverage analysis. Tools might watch testing as it happens and retrospectively report what was and was not tested. They might record actions for later replay in other tests.

  • Test management. Tools might record test results; organize test ideas or metrics.

In Agile teams such tools can be used by both testers and devs.

3

To make it valuable for the entire team I would suggest to:

  • Integrate your tests into CI process. So you need to take a role of devops or help your devops to do that
  • Design your tests in BDD style (however not all the tests are ideally suitable for that) so that they are understandable by all the team and analysts or business users could take part in test design
  • Integrate reporting framework and design your tests in the way that allows to compile several types of reports for the same test run with different level of details and with emphasizing different aspects and metrics depending on the target audience (test manager, project manager, product owner, etc.)
  • Introduce the documentation for your test code. That will allow other people to easily add tests or maintain existing tests
3

As a QA, things I implemented and now giving benefits for the entire team are:

Test Data generation - Devs and Users had less amount of test data in thier specific environments. We were not allowed to restore the data from Prod because it had client sensitive data. So I have learned and introduced a test data generation tool - Genrocket which generates necessary test data.

Environment status - our team had more than one Dev, Test and Prd servers. I have created a monitoring tool which checks and report the health of the application with the combination of RestAssured and Selenium. This eventually helped team to maintain an up and running application across all environments.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.