Agile Engineering
practices training and
courses

Agile Engineering
practices training and
courses

5 days

Test Automation BootCamp - dotNET

One of the challenges of being a professional tester in an agile team is being able to contribute to the general automation effort of the QA. However many testers are lacking the skills that are required in order to do that.
This training is aimed to close the knowledge, and in this 5 days journey, participants will learn the needed test automation tools and skills that will enable them to become active contributors to the automation effort.

 

Target Audience

This is an entry-level class and appropriate for professional testers who wants to learn just enough skills in order to become automation engineers and who seek knowledge and understanding about test automation concepts and techniques.

 

Prerequisites

  • Experience working as part of a software project.
  • Participants must have at least one year’s of manual testing experience.

 

Objectives

  • Writing automated tests over the GUI using Selenium
  • Learning principles of effective Test Automation
  • Gather needed programming skills
  • Experience various techniques of writing automated tests
  • Learn how to test complex application
  • Understand the difference between various levels of test automation.
  • Use various tools and frameworks for testing over the GUI, under the GUI, via the web…
  • Learn how to leverage frameworks to ease authoring of tests
  • Real Life examples.

 

Topics

Module 1: Introduction to .NET and C# and test Automation

  • What is .NET?
  • The Common Language Runtime (CLR)
  • Introduction to C#
  • Namespace and Assemblies basics
  • Introduction to Visual Studio 2013
  • Creating a simple C# Console Application
  • Introduction to SpecFLow
  • Introduction to Selenium

 

Module 2: C# Language Fundamentals

  • Procedures and Statements
  • Data Types
  • Declaring Variables
  • Assignments
  • Conversions
  • Arithmetic and Other Operators
  • Control Constructs (Conditionals, Loops)
  • Exceptions

 

Module 3: Types

  • Fields, Properties and Methods
  • Method Overloading
  • Default and Optional Arguments
  • Accessibility Modifiers
  • Automatic Properties
  • Construction and Assignment
  • Abstract classes and Interfaces
  • Attributes

 

Module 4: Automation Testing Levels

  • Testing through the user interface
  • Web testing
  • Client Server Testing
  • Testing over the Server
  • Working with a DB
  • Understanding Test first Approaches

 

Module 5: Arrays, Collections and Strings

  • The String Type
  • String Members
  • Arrays
  • Initializing Arrays
  • The Array Class
  • Standard Collections: ArrayList, Stack, Queue, Hashtable
  • Generic Collections:

 

Module 6: SpecFlow Basic

  • Given/When/Then format
  • Gherkin Syntax
  • Regular Expression
  • Running and debugging tests
  • Understanding feature files
  • Working with Tables
  • Creating scenarios outlines
  • Writing bindings and Steps code

 

Module 7: Web Testing using Selenium

  • Creating basic Tests for web applications
  • Using recorder for UI structure discovery
  • Modeling the application for testing
  • Running tests
  • Combining Selenium with SpecFlow

 

Module 8: Data Streams and Files

  • Working with basic text files
  • The File and FileInfo Classes
  • The Path Class
  • The Directory and DirectoryInfo Classes
  • Stream Readers and Writers
  • Using strings as streams

 

Module 9: Final Project – Writing test automation for a real system

  • Design automation test approach
  • Create Test suites and scenarios
  • Tackle real live system issue
  • Write full automation to the application over the GUI
  • Tackle testing via the API

 

This is a general syllabus and in case of an in-house training, it is possible to make the necessary adjustments to make it more appropriate for your organization’s specific needs.