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.
12. UIMap mix different test projects for
tune your manual tests
for automation or
remove them
13. Object Repository:
Keeps UI Object definitions
cuite
separate from automation
code (no more UIMaps)
14. complex user interface
take 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
29. big project structures
take a ways:
branch structure /multiple team projects
use areas well
don’t make it too complex,
some things can’t be done
test and developers have the same rhythm
30. multiple environments
challenges:
test for different environments
no virtualized environments
short test cycles
less time for execution
37. multiple environments
take a ways:
multiple environments is possible without
SCVVM
how are the environments used
who executes the tests
38. Test Automation Investment Levels
0 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. Test Execution Investment Levels
4 Execute them on a single environment.
5 Execute them on multiple environments.
6 Execute them on virtualized environments.
7 …