Coded UI - Test automation Practices from the Field


Published on

CodedUI tests within Visual Studio makes it easy for developers together with tester to create, fully-automated, functional user interface tests. These tests alert the team in an, easy to execute, automated way about regressions. CodedUI tests are easy to create for different UI technologies. But, all kinds of test automation needs an investment. To get a good return on this test automation investment you need to create CodedUI tests in a robust manner which can sustain changes to your application over time.

In this session you will see how maintainable CodedUI tests can be created and how the test infrastructure needs to be configured for efficient execution.

Published in: Technology, Business
1 Comment
  • I'm building 'hand-coded' CUITs, which I write about on my blog.

    Some posts:

    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Coded UI - Test automation Practices from the Field

  1. 1. test automation practices from the fieldCODED UI
  2. 2. Clemens
  3. 3. the fieldcomplex user interfaces big project structuresmultiple environments
  4. 4. complex user interfacechallenges: many controls changing controls complex flow multiple screens changing screens …
  5. 5. complex user interfacepractices: edit the UIMap search and filter reusable ’test’methods reusable test assertions shared steps loose coupling low dependencies
  6. 6. UIMap multiple UIMap’s a map per - screen - scenario - part - team - …
  7. 7. multiple UIMap’sUIMap page object pattern
  8. 8. search filter, search and the tree
  9. 9. reuse UIMap Helper Class
  10. 10. reuse test all controls
  11. 11. shared reuse shared steps in Coded UI
  12. 12. UIMap mix different test projects for tune your manual tests for automation or remove them
  13. 13. Object Repository: Keeps UI Object definitionscuite separate from automation code (no more UIMaps)
  14. 14. complex user interfacetake aways:• reuse steps and assertions• create helper classes• well defined uimap structure• use codeui builder• start from scratch or tune your manual tests• make clear test method names• separate the test intent from the test steps• no related tests• all test must leave the application in the same state
  15. 15. big project structureschallenges: multiple teams chain of distributed projects big teams short test timeframe
  16. 16. big project structurespractices: team collaboration branch strategy code and test versioning test case no double tests
  17. 17. collaborate work together __with work packages __on alm artifacts
  18. 18. branch test same heartbeat as development
  19. 19. branch tests tests test tests tests tests tests tests tests tests tests build build build build
  20. 20. Visual Studio test projects with Coded UI test casebranch
  21. 21. UIMap per branch UIMap’s don’t merge wellbranch
  22. 22. specific test automation branchbranch
  23. 23. ! well maintained regression setbranch
  24. 24. MTM test plans with or without associated automationbranch
  25. 25. MTM test plans with or without associated automationbranch test cases test cases test cases test cases test cases
  26. 26. projects` Team Project Team Team Team Team Team Project Project Project Project Project
  27. 27. double
  28. 28. double
  29. 29. big project structurestake a ways: branch structure /multiple team projects use areas well don’t make it too complex, some things can’t be donetest and developers have the same rhythm
  30. 30. multiple environmentschallenges: test for different environments no virtualized environments short test cycles less time for execution
  31. 31. multiple environmentspractices: execute with out SCVVM test execution responsibilityexecute from build on environments
  32. 32. infra
  33. 33. infra
  34. 34. infra configure for load or environments
  35. 35. execute
  36. 36. build
  37. 37. multiple environmentstake a ways:multiple environments is possible without SCVVM how are the environments used who executes the tests
  38. 38. Test Automation Investment Levels0 No investment in any kind of automation. Just click and test.1 Clean up of the Action log maybe re-execute, for more smooth Fast Forward.2 Basic Coded UI. Only use the default generation, add your own assertion.3 Advanced Coded UI. Customize the Coded UI and UIMap for optimization.
  39. 39. Test Execution Investment Levels4 Execute them on a single environment.5 Execute them on multiple environments.6 Execute them on virtualized environments.7 …
  40. 40. final notes
  41. 41. interesting read / watch ents/maintaining-automated-Services/Test-Automation/ acceptance-tests
  42. 42. soon available
  43. 43. 43