9

My manager asked me to look into how we can utilize automated UI testing to gain productivity and help testers automate basic functionality of the system.

I developed few test suites and cases using selenium ide and they are working perfectly, now I am stuck at recommendation stage. Currently, we don't do any unit testing or integration testing, in fact, all testing is done manually.

We started following dev ops too but with help of a consultant who is not available to help now. Where does automated UI testing stands in Dev Ops cycle?

Would it be developers job to create basic selenium ide test cases and then pass them to testers and if they find any new test case they would add it to test suite ideally without help from devs or minimum.

But can't be sure how this all will fit in if we code a framework using C# which will interact with these cases.

So back to the main question, how automated UI fits in Dev Ops cycle?

migrated from stackoverflow.com Jun 26 '17 at 8:50

This question came from our site for professional and enthusiast programmers.

  • Possibly better suited for devops.stackexchange.com – Bookeater Jun 26 '17 at 14:57
  • @Bookeater thank you, I didn't even it existed ! – Mathematics Jun 27 '17 at 6:37
  • I don't mind it to be migrated if moderators feel that right :) – Mathematics Jun 27 '17 at 7:07
  • It's still in beta, but many experts present. However response here is pretty good also :-) – Bookeater Jun 29 '17 at 19:40
6

In this context, a goal you most likely want to achieve is one of Continuous Integration (CI).

To that end, from the developer side, every check-in will trigger a build (to perform certain checks and see if it passes). Then you will usually have a nightly build that gives you an up-to-date test environment every morning.

Now, this pipeline should include automated tests. You mention C#, so your best bet is likely Selenium WebDriver (.Net bindings) used in MSTest framework. This framework, because it's from Microsoft, is very easily integrated in the VSTS build process.

So you can run tests automatically after each (nightly) build.

On another note, some more recommendations you can make: read up on the test pyramid and try to convince your team of the importance of unit and integration tests.

Also, usually you'll have testers think of the scenarios rather than developers. However, in the case of automated testing they might assist for the technical aspect (setting up framework and boilerplate code).

  • If I understood it correctly, that means we will have our GUI tests running side by side or parallel with our non GUI unit tests, thanks – Mathematics Jun 27 '17 at 6:44
  • Yes. You can trigger both when launching/deploying a build. This should drastically improve quality, given that failed tests are investigated and acted upon. – FDM Jun 27 '17 at 7:17
3

Would it be developers job to create basic selenium ide test cases and then pass them to testers and if they find any new test case they would add it to test suite ideally without help from devs or minimum.

  • Depends on how your company is structured. Having said it, it is uncommon for developers to come up with basic Selenium IDE tests. At least, I have never seen it myself. In terms of testing, developers tend to develop their own unit test cases only.

So back to the main question, how automated UI fits in Dev Ops cycle?

  • Automated UI testing tools are best utilized for simpler / smaller testing project only. As they are very susceptible to elements' attributes changes.
  • Automated UI testing tools are commonly used for proof of concepts purpose instead of being used for a maintainable, scalable and robust testing project.

  • For a maintainable, scalable and robust UI testing project, you have no choice but going for Selenium Webdriver or something similar.

3

If you look at the continuous delivery principles this would be the "Automated acceptance tests" step. Your continuous integration server should run these tests on each commit and give feedback as soon as possible.

Who shall write these tests depends on your setup and cycle, but I would favor developers to add atleast a happy-path test on the ui-level of the test-pyramid.

Don't use Selenium IDE to run your tests for a serious complex product/project, read this thourhgly: https://stackoverflow.com/questions/19683100/why-do-we-use-webdriver-instead-of-selenium-ide

  • 1
    great link, "why don't use Se IDE" should be required reading, together with "why to avoid XPath". – Peter M. - stands for Monica Jun 26 '17 at 15:18
  • Agreed, can you post to link to that too here? :) – Niels van Reijmersdal Jun 26 '17 at 16:05

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