software test automation using visual studio - codedui · automation framework • developing...

23
1 Software Test Automation Using Visual Studio - CodedUI

Upload: others

Post on 28-May-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Software Test Automation Using Visual Studio - CodedUI · Automation Framework • Developing scripts that are maintainable requires a framework • Main risks without a good framework

1

Software Test Automation Using Visual Studio - CodedUI

Page 2: Software Test Automation Using Visual Studio - CodedUI · Automation Framework • Developing scripts that are maintainable requires a framework • Main risks without a good framework

2

Agenda

• What is CodedUI

• Benefits & Limitations

• Supported Platforms

• Quick Walkthrough

• A recommended framework

• Working together with TFS

Page 3: Software Test Automation Using Visual Studio - CodedUI · Automation Framework • Developing scripts that are maintainable requires a framework • Main risks without a good framework

3

What is CodedUI

• Important key feature in Visual Studio 2010 Premium and Ultimate versions

• Helps users to create their own automation test scripts for testing application user interfaces

Page 4: Software Test Automation Using Visual Studio - CodedUI · Automation Framework • Developing scripts that are maintainable requires a framework • Main risks without a good framework

4

Benefits

• Good support for Microsoft technologies (e.g. Dot net)

• Friendly UI for automation testers to create scripts

• Easily integrated into TFS server and controlled by Test Manager

Page 5: Software Test Automation Using Visual Studio - CodedUI · Automation Framework • Developing scripts that are maintainable requires a framework • Main risks without a good framework

5

Limitations

• Too much code may be generated by CodedUI for describing the UI control

• Sometimes the same code may be generated more than once by CodedUI.

• Does not support some platforms

–Chrome/Opera/Safari

–Flash/Java

Page 6: Software Test Automation Using Visual Studio - CodedUI · Automation Framework • Developing scripts that are maintainable requires a framework • Main risks without a good framework

6

Supported Platforms

Platform Release Post Release

Notes

IE7/IE8 – HTML/AJAX IE9 support (partial) added with VS\MTM 2010 SP1

Windows Form 2.0+ Built in .NET controls fully support

WPF 3.5+ Built in .NET controls fully support

SharePoint 2007&2010

Windows Win32

MFC

FireFox 3.5&3.6 – HTML/AJAX Support Released in feature pack 2

Silverlight 4.0 Support Released in feature pack 2

Dynamics(Ax) Partial supported

Citrix/Terminal Service The client need to be on remote machine

Office Client Apps

IE6 Opportunity for partners to add this using the extensibility support Chrome/Opera/Safari

Flash/Java

SAP

Fully Supported

Partial Solution. Further work required in future to complete

Best efforts with known issues. Users can work around in these cases in code. No major ongoing investment

Currently no support but on the roadmap for future release

Currently no support and none planned for now

Page 7: Software Test Automation Using Visual Studio - CodedUI · Automation Framework • Developing scripts that are maintainable requires a framework • Main risks without a good framework

7

CodedUI Walkthrough

Example Test Case: 1. Go to ‘www.google.com’ 2. Enter ‘XBOSoft’ into Search text field and click Search button 3. Verify the first link in the search result page is ‘XBOSoft’ Automation Steps: 1. Create a new project 2. Start recording 3. Insert ascertain point 4. Running scripts 5. Check result

Page 8: Software Test Automation Using Visual Studio - CodedUI · Automation Framework • Developing scripts that are maintainable requires a framework • Main risks without a good framework

8

CodedUI Walkthrough

Create a new CodedUI project

Page 9: Software Test Automation Using Visual Studio - CodedUI · Automation Framework • Developing scripts that are maintainable requires a framework • Main risks without a good framework

9

CodedUI Walkthrough

Select using record method: 2 options Record actions from scratch: Choose this method when using CodedUI alone and there are

no existing recorded scripts.

Use existing action recording: This method is usually applied when you have recorded some steps or actions via test manager. The user can import recorded scripts directly and refine or edit them.

Page 10: Software Test Automation Using Visual Studio - CodedUI · Automation Framework • Developing scripts that are maintainable requires a framework • Main risks without a good framework

10

CodedUI Walkthrough

Define a good action method name: • The name will be applied as a function name in C# code

• Make the name simple and clear

• Using Pascal case: The first letter for each word should be capitalized

Page 11: Software Test Automation Using Visual Studio - CodedUI · Automation Framework • Developing scripts that are maintainable requires a framework • Main risks without a good framework

11

CodedUI Walkthrough

Add assertion ( Check point )

• Purpose: check the property (Inner Text) of the control (The link) is equal

to the expected value (‘XBOSoft)

Page 12: Software Test Automation Using Visual Studio - CodedUI · Automation Framework • Developing scripts that are maintainable requires a framework • Main risks without a good framework

12

CodedUI Walkthrough

Generated script

• The different test steps integrate into a test case

• Each test step may include multiple actions & assertion points

Page 13: Software Test Automation Using Visual Studio - CodedUI · Automation Framework • Developing scripts that are maintainable requires a framework • Main risks without a good framework

13

CodedUI Walkthrough

Replay the recorded script and check the execution result

Part A: Point out which

control caused the error and

the information of the

control.

Part B: Click the link to jump

to the error line of code.

Page 14: Software Test Automation Using Visual Studio - CodedUI · Automation Framework • Developing scripts that are maintainable requires a framework • Main risks without a good framework

14

The Need for an Automation Framework

• Developing scripts that are maintainable requires a framework

• Main risks without a good framework include:

Risk Affect

Duplicate scripts Lower quality of the code.

Repeated hard code

Cost a lot of time if there is a need to change the hard code.

Unmanaged UI controls

One control may be recorded by many times. Tester has difficulties on finding the correct controls.

No clear boundary among functions

Testers get confused about their responsibility therefore some functions may be forgotten

Page 15: Software Test Automation Using Visual Studio - CodedUI · Automation Framework • Developing scripts that are maintainable requires a framework • Main risks without a good framework

15

Framework

Main advantages with suitable framework:

• Flexibility: easy to scale up & down based on the project budget and application complexity

• Maintainability: allow testers to maintain and update the existing scripts easily

• Extendibility: enable efficient integration of new scripts

Page 16: Software Test Automation Using Visual Studio - CodedUI · Automation Framework • Developing scripts that are maintainable requires a framework • Main risks without a good framework

16

XBO’s Framework Template

Key Steps

• Create a test case folder and add test case files based on modules

• Use the UIMap class to store controls and actions

• Create a class for common functions (methods) used in the entire project

• Put hard code (constants) into the project properties setting file

• Create a common setting file used to stored hard coded (constant) values in properties setting file

Page 17: Software Test Automation Using Visual Studio - CodedUI · Automation Framework • Developing scripts that are maintainable requires a framework • Main risks without a good framework

17

XBO’s Framework Features

Scale up and down:

• Data driven tests

• Stores information in XML file

• Multiple UI Maps vs. Single UI Maps

• Running tests on multiple machines via integration with TFS (Team Foundation Server)

Page 18: Software Test Automation Using Visual Studio - CodedUI · Automation Framework • Developing scripts that are maintainable requires a framework • Main risks without a good framework

18

Integration With TFS

What is TFS: • Visual Studio Team Foundation Server 2010 (TFS) is MSFT’s collaboration platform

• TFS automates the software delivery process

• Provides tools to effectively manage software development projects throughout the IT lifecycle.

What is Test Manager: • A application in the visual studio to help testers plan their testing effort such as creating test

plan, test suite, test case and test steps.

Page 19: Software Test Automation Using Visual Studio - CodedUI · Automation Framework • Developing scripts that are maintainable requires a framework • Main risks without a good framework

19

Integration With TFS

Record automation scripts directly in test manager – while executing the test case

manually you can also record the manual steps as a automation scripts.

• Right panel is SUT (System Under Test) where you perform the manual steps.

• Left panel is the action recorder which is used to record the steps.

Action Recorder SUT

Page 20: Software Test Automation Using Visual Studio - CodedUI · Automation Framework • Developing scripts that are maintainable requires a framework • Main risks without a good framework

20

Integration With TFS Connect automation scripts with the test cases in TFS

Page 21: Software Test Automation Using Visual Studio - CodedUI · Automation Framework • Developing scripts that are maintainable requires a framework • Main risks without a good framework

21

Integration With TFS

Test Controller & Test Agent

• Using a Test Controller & Test Agent, the codedUI automation scripts can be executed remotely on one or more machines.

– Test Controller initiates the tests and collects the results

– Test Agent is the machine running the automation scripts

Page 22: Software Test Automation Using Visual Studio - CodedUI · Automation Framework • Developing scripts that are maintainable requires a framework • Main risks without a good framework

22

Integration With TFS

• Execute automation scripts via test agent

• Use Test Manager to control the execution options of the test case and then the remote test agent will start execute the test cases.

Sending the execution command from Test Manager Execute the automation script on Test Agent

Page 23: Software Test Automation Using Visual Studio - CodedUI · Automation Framework • Developing scripts that are maintainable requires a framework • Main risks without a good framework

23

Conclusion

• Powerful automation testing tool

• Easy to get started

• Can be integrated into TFS

• A suitable framework is necessary

• Does not support all popular platforms