From this course, you can learn how to become Software Development Engineer in Test and get all the necessary practical skills.
There are a lot of other courses on this topic. So, why would you choose exactly this course? Here are just a few reasons:
– Coding examples
To learn to program is not enough just watching videos and reading books. You also need to have a lot of practice. In this training course, you will review multiple practical tasks and coding examples which will help you learn and understand C# better.
– Open source code
We hide nothing from our students! Including the source code for the home task solutions and source code of examples that were shared during the lesson. Having the source code you can just copy and paste it to run it on your local computer to understand how things work better.
You are allowed to use all source code examples for learning purposes. This helps significantly to configure the environment and make tests work, especially in case students didn’t work with any testing framework in the past.
– Q&A support
The significant difference between the online and offline learning process is the instructor’s availability. If you are in one room with a tutor he always can help you to get understand the specific concept or to help fix your code on your computer.
In this course, we are supporting students with answers to any questions flagged in the Q&A section. In case there will be recurring questions – separate video lessons will be created to show how to address the issue.
So with this course you are not just getting video materials, code exercises, source code, access to the free mobile application without limits (which is still pretty cool, huh? 🙂 ), but you also get tutor support and answers to your questions along with this course.
– Relevant knowledge
After our team investigated other C# courses on Udemy we realized that most of them have nothing in common with real life. The information which is shared there is very old and significantly out of date. For example, the instructor teaches a framework which is not been used already for 15 years. Or instructors do stress on the programming design which is not used anymore at all!
The instructor of this course is a consultant in a top-rated IT outsourcing company and helps to bring cutting-edge solutions in IT for all his clients. Feel free to check the LinkedIn page of the instructor and check skills endorsement. More than 19 thousand people across all over the world (BTW most of them are from the top 100 companies of the world) evaluated the skills of Andrii Piatakha.
With this course, you can be sure that you will spend your time learning the right things from one of the best IT consultants in the world.
– Free mobile App without limits for our students
Knowing C# is one skill. Be able to pass interviews in the company – that is another skill 🙂 Nowadays a lot of companies use tests to select candidates on the first level of interview. We developed applications to practice skills specifically for such purposes.
In this course, we will provide you link to download our FREE mobile app for android. (soon it will be also available for iOS platforms)
The instructor of this course comes up with hundreds of tests that are used to test the knowledge of candidates. With this application, you will be well-prepared for the interview.
Also, only for our students – there is no limit on attempts to pass certification. In the course, we will tell you how to set up a special bonus code that will remove restrictions for our students inside the app.
– High concentration of useful material in each lesson
Sometimes you can notice that watching 5 minutes of our lesson is equivalent to watching another 30 minutes lesson.
This is because time spent for preparation for the lesson (script for the lesson, lesson structure) and video editing (to cut boring pieces of the lesson or time when the program loads) sometimes 10 times as much (sometimes even 20) as the final lesson duration after video editing.
Also, each topic is separated from another. In case some concept will be explained in the next lesson and you don’t need to worry about understanding this in the scope of this lesson – the instructor will make an announcement when a specific topic will be covered.
Go and try it yourself! We will appreciate your feedback.
So don’t wait! Take a look at the lessons’ preview if you still have doubts!
Buy this course today, and you will get all updates for FREE!
For those who successfully passed this training course, or for students who were recognized for asking amazing questions, there is a special offer from the IT-Bulls company! The creator of this course is IT-Bulls company CEO and Founder. We are always in search of talents to run our amazing startups together with you. Probably you always dreamed about running your startup? In this course, you will be able to find the team who will teach you how to do that and (in particular cases) will be glad to help with implementation!
Hope you enjoy this course! And remember, we appreciate all your feedback! Your feedback will help us to become even better! Your feedback will help us to create to best C# course ever!
See you at the lessons! 🙂
C# Development Environment Setup
-
1Introduction
Here is our agenda for today:
Learn what are the main benefits of this course.
See what are the future opportunities after the course's completion.
-
2Communication Plan
Where to ask questions?
When to ask questions?
Communication channels:
Comments under the video
Linkedin
Facebook
Instagram
Feedback form on the IT-Bulls.com
-
3Tips to Improve Your Course Taking Experience
C# Programming - Basic Control Structures
C# Programming - More Advanced Constructs
C# Programming - Object Oriented Concepts
Add Visual Studio Solution To GitHub
Test Environment Setup
-
30API and Web Service
Today we will learn:
What is API?
What is a web service?
Why are web services needed?
Where web services are used?
What are pros and cons of API?
-
31API Types Overview
Today we will learn:
What are the main existing API types?
What is REST API?
What is SOAP API?
What are the differences between REST and SOAP?
-
32REST API Overview
Today we will learn:
What is REST API?
What are its architectural properties?
Why is it needed in Web Applications?
Advantages of REST API
-
33HTTP methods
Today we will learn:
What is an HTTP method?
What are several main features of an HTTP method?
What are the main methods of REST API?
Why is each of them needed?
-
34HTTP Status Codes
Today we will learn:
What is an HTTP status code?
What are the main types of API status codes?
Why each of them is needed?
What is the connection between HTTP methods and status codes?
HTTP Method GET - Postman
-
35Postman Introduction
Here is our agenda for today:
We will talk with you a bit about Postman history.
Consider main components of Postman.
Understand why we should learn Postman.
Afterwards we will discuss the role of the Postman in software testing process.
-
36Postman Installation
Today we will learn:
What is API testing tool?
What are the most popular API testing tools?
Why Postman?
How to install Postam to your machine?
How to perform basic configuration of Postman?
-
37Trello Account Creation
Today we will learn:
What is Trello?
Why is it selected for API testing?
How to create a test account in Trello?
How to set up Trello board for the course?
-
38Authorization Token Creation in Trello
Today we will learn:
What is authorization in API?
Why is authorization needed?
Why will we need auth token in Trello?
How to generate auth token?
Where to store the generated token value?
-
39Authorization Token Creation in Trello - New Trello Version
Today we will learn how to create API Key and Token for updated version of Trello
HTTP Method POST - Postman
-
40GET Method Overview
Today we will learn:
What is GET method?
When is GET method needed?
Why is GET method needed?
What are the main features of GET method?
-
41GET Method in Postman
Today we will learn:
How can we create a GET method in Postman?
How can we execute a GET method in Postman?
How does the GET method response look like?
How do different GET methods look like?
-
42GET Method in Postman - Hometask
The home task for today's lesson is the following:
Sign in to Trello
Open Trello API docs page.
Find Get Lists on a board request.
Execute this request for your Test board.
Find Get Cards in a List, Get a Card.
Execute these requests for any of the lists on your Test board.
-
43JSON Schema Validation
Today we will learn:
What is JSON schema?
Why is JSON schema needed?
How can we validate a GET response schema?
Which tool can be used to generate a JSON schema?
Which tool can be used to validate a JSON schema?
-
44JSON Schema Validation - Hometask
The home task for today's lesson is the following:
Open https://jsonschema.net/ and https://jsonschemalint.com/ sites.
Execute Get Cards request from our previous home task.
Generate and validate JSON Schema for response array.
Execute Get Specific Card request from our previous home task.
Generate and validate JSON Schema for response object.
-
45GET Method Validation in Postman
Today we will learn:
What is validation test?
How can we validate a GET endpoint?
What are common status codes for GET methods validation?
How to validate a GET endpoint in Postman?
-
46GET Method Validation in Postman - Hometask
The home task for today's lesson is the following:
Execute Get Specific Card request with valid data.
See that response status code and body are valid.
Validate card id path parameter with invalid format and value.
Validate unauthorized permission attempt.
Validate key, token, and fields query parameters.
HTTP Method PUT - Postman
-
47POST Method Overview
Today we will learn:
What is POST method?
When is POST method needed?
Why is POST method needed?
What are the main features of POST method?
-
48POST Method in Postman
Today we will learn:
How can we create a POST request in Postman?
How can we execute a POST request in Postman?
How does the POST request’s response look like?
How to check POST request results?
-
49POST Method in Postman - Hometask
The home task for today's lesson is the following:
Sign in to Trello and open Trello API docs page.
Find Create a new Card request.
Execute this request for your list.
Pass card name and idList fields in two different ways.
Check that card is added to list via API and UI.
-
50POST Method Validation in Postman
Today we will learn:
How can we validate a POST endpoint?
What are status codes in POST methods validation?
How to validate a POST endpoint in Postman?
How to check that new resource is not created via API?
-
51POST Method Validation in Postman - Hometask
The home task for today's lesson is the following:
Execute Create a New Card request with valid data.
See that response status code and body are valid.
Validate idList query parameter with invalid format and value.
Do not provide idList query parameter at all.
Validate unauthorized permission attempt.
Validate key, and token query parameters.
HTTP Method DELETE - Postman
-
52PUT Method Overview
Today we will learn:
What is PUT method?
When is PUT method needed?
Why is PUT method needed?
What are the main features of PUT method?
-
53PUT Method in Postman
Today we will learn:
How can we create a PUT method in Postman?
How can we execute a PUT method in Postman?
How does the PUT method response look like?
How should we check PUT method work?
-
54PUT Method in Postman - Hometask
The home task for today's lesson is the following:
Sign in to Trello and open Trello API docs page.
Find Update a Card request.
Execute this request for your test card.
Pass card updated name field in two different ways.
Check that card is updated via API and UI.
-
55PUT Method Validation in Postman
Today we will learn:
How can we validate a PUT endpoint?
What are common status codes for PUT methods validation?
How to validate a PUT endpoint in Postman?
How to check resource not updated via API?
-
56PUT Method Validation in Postman - Hometask
The home task for today's lesson is the following:
Execute Update a Card request with valid data.
See that response status code and body are valid.
Validate ID path parameter with invalid format and value.
Do not provide ID path parameter at all.
Validate unauthorized permission attempt.
Validate key, and token query parameters.
Postman Tips
-
57DELETE method overview
Today we will learn:
What is DELETE method?
When is DELETE method needed?
Why is DELETE method needed?
What are the main features of DELETE method?
-
58DELETE Method in Postman
Today we will learn:
How can we create a DELETE method in Postman?
How can we execute a DELETE method in Postman?
How does the DELETE method response look like?
How should we check DELETE method?
-
59DELETE Method in Postman - Hometask
The home task for today's lesson is the following:
Sign in to Trello.
Open Trello API docs page.
Find Delete a Card request.
Execute this request for your Test board.
Verify that the card was deleted via API and UI.
-
60DELETE Method Validation in Postman
Today we will learn:
How can we validate a DELETE endpoint?
What are common status codes for DELETE methods validation?
How to validate a DELETE endpoint in Postman?
How to check resource not deleted via Postman?
-
61DELETE Method Validation in Postman - Hometask
The home task for today's lesson is the following:
Execute DELETE Specific Card request with valid data.
See that response status code and body are valid.
Validate card id path parameter with invalid format and value.
Validate unauthorized permission attempt.
Validate key, and token query parameters.
Automated Test in Postman
Development Environment Setup
Simple application with Rest Sharp
-
64Visual Studio Installation
Today we will learn:
What is IDE?
What are the most popular IDEs for C# development?
Why Visual Studio?
How to install Visual Studio to your machine?
How to perform basic configuration of Visual Studio?
-
65Dot Net Installation
Today we will learn:
.NET main features
.NET Versions – Which one to use?
How to check current .NET version.
How .NET binary could be installed
How to configure .NET environment variable
HTTP Method GET - Rest Sharp
-
66Rest Sharp Introduction
Here is our agenda for today:
We will talk with you a bit about Rest Sharp history.
Consider main components of Rest Sharp.
Understand why we should learn Rest Sharp.
Discuss the role of the Rest Sharp in the software testing process.
-
67First application with Rest Sharp
Here is our agenda for today:
We will create a test project
Learn the basics of NuGet Packages
Set Rest Sharp client's base URL
Send GET request for Trello API base URL
Log information sent in the request
-
68First application with Rest Sharp - Hometask
Your home task is to implement a simple test application for ‘google.com’ ping. What you should do is:
Create a project in Visual Studio
Add Rest Sharp dependency to client project.
Create a class with Main() method
Define google.com as your request base URL
Execute GET request for this URL
-
69First assertion with Rest Sharp
Here is our agenda for today:
Check the response status code
Add new dependency to the project
See how to log the response received
-
70First assertion with Rest Sharp - Hometask
Your home task is to add assertion to a simple test application for ‘google.com’ ping. What you should do is:
Open your project
Add statement printing your response to Console
Save the result of request execution to a separate variable
Check status code for your API call as the final line of code in the method
-
71First test with Rest Sharp
Here is our agenda for today:
Create NUnit test project
Get rid of RestSharpRunner class.
Create the first test class.
Generate first NUnit test method.
Set Rest Client in [OneTimeSetup] hook.
-
72First test with Rest Sharp - Hometask
Your home task is to migrate your simple test application for ‘google dot com’ ping to test method. What you should do is:
Create a new NUnit 3 test project.
Copy the content of main method.
Remove RestSharpRunner class.
Create a test class with test method.
Set IRestClient inside a [OneTimeSetup] hook.
Test Framework Refactoring
-
73GET Method with Rest Sharp
Here is our agenda for today:
We will add two test methods to our project.
Learn how to add query params to the request.
See how to use path params in requests.
Verify response body part.
-
74GET Method with Rest Sharp - Hometask
Your home task is to cover GET Cards and GET Card API endpoints with happy path tests. What you should do is:
Add two test methods for each endpoint in your project.
Add authorization query params to each request.
Add {list_ID} and {card_ID} path params to requests.
Verify received card’s name.
-
75JSON Schema Validation with Newtonsoft Json
Here is our agenda for today:
We will add Newtonsoft Json Schema dependency.
Reduce the fields number returned by our GET endpoints.
Create Json files with our schemas stored.
Add JSON Schema validations
-
76JSON Schema Validation with Newtonsoft Json - Hometask
Your home task is to add JSON Schema validation for GET Cards and GET Specific Card Trello API requests. What you should do is:
Add Newtonsoft Json Schema dependency to your project.
Reduce fields count returned by GET endpoints to ID and name.
Create two files to store JSON schemas for your responses.
Put your schemas there.
Set Copy to Output Directory property’s value to Always Copy.
Add lines of code for each test method with JSON Schemas validation.
-
77GET Method Validation with Rest Sharp
Here is our agenda for today:
We will add one more test class to our automation framework.
Create invalid board ID validation test.
Work on test checking GET Board endpoint access without authorization.
Automate check if trying to access someone’s personal data by another user credentials.
-
78GET Method Validation with Rest Sharp - Hometask
Your home task is to add validation tests for GET Specific Card Trello API requests. What you should do is:
Create a separate test class for validation tests.
Add a test method checking unauthorized permission request.
Create an automated test to access a card with invalid ID.
Build a verification method trying to access specific card with another user credentials.