Data Analysis with MongoDB Aggregation Framework Training Course


14 hours (usually 2 days including breaks)


  • An understanding of data analysis concepts
  • Experience with MongoDB


  • Data analysts
  • Data scientists


The MongoDB Aggregation Framework is a simplified and sequential approach to querying, transforming, and processing data in MongoDB.

This instructor-led, live training (online or onsite) is aimed at data analysts and data scientists who wish to use the MongoDB Aggregation Framework to perform data analysis while simplifying complex operations and aggregation pipelines.

By the end of this training, participants will be able to:

  • Install and configure MongoDB for data analysis.
  • Understand the concepts and stages of the MongoDB Aggregation Framework.
  • Learn about the basic structure, syntax, and operations for aggregation.
  • Learn how to handle advanced operations in aggregation.
  • Apply some optimization tools and techniques to improve aggregation performance.

Format of the Course

  • Interactive lecture and discussion.
  • Lots of exercises and practice.
  • Hands-on implementation in a live-lab environment.

Course Customization Options

  • To request a customized training for this course, please contact us to arrange.

Course Outline


  • What is MongoDB’s Aggregation Framework?
  • Aggregation Framework vs Map-Reduce

Understanding Aggregation Concepts

  • Aggregation pipelines
  • MongoDB aggregation stages
  • Use cases and examples

Getting Started

  • Installing and configuring MongoDB
  • Exploring MongoDB Compass and Studio 3T
  • Basic CRUD operations

Aggregation Basics

  • Structure and syntax
  • Query conditions ($match)
  • Inclusion and exclusion of fields ($project)
  • Grouping documents ($group)
  • Working with arrays ($unwind)
  • $lookup and $graphLookup stages
  • Expression operators

Advanced Operations in Aggregation

  • Categorizing documents ($bucket)
  • Multi-faceted aggregations ($facet)
  • Accumulator expressions ($accumulator)
  • Writing results to a collection ($merge)

Optimizing Aggregation Pipelines

  • Projection optimization
  • Pipeline sequence optimization
  • Pipeline coalescence optimization
  • Indexes and document filters


Summary and Next Steps

Selenium WebDriver Coding Exercises for Interviews

Locate Web Elements. Learn how to find the elements and locate their state, take action and record the results.

WebDriver Methods. Try and take these exercises to test your skills learned. Each test has separate requirements which are being provided in the lecture.

Object-Oriented Programming Put your knowledge with these really fun exercises where you’ll be required to create focus and assert on the elements.

Page Objects. Play this game and learn which page objects are good or bad based on relevant page classes, components, and properties.

Automation Best Practices. See an even diagram of how common web applications behave

45 Minute Production Level Framework and Paralelization


  • You should have some flavor of Visual Studio installed, the Community edition is fine.
  • You should have a basic understanding of C# and Visual Studio
  • You should have ChromeDriver and Chrome browser installed


This course will guide you through the important Selenium WebDriver interview exercises. The goal is to help you brush up on your skills before heading out to a Java interview.

You’ll Learn:

Locating Web Elements.

  • 1-7 Steps of Selenium Script Quiz
  • Locators in Code Exercise
  • Inspection Quiz
  • Locators in Code Exercise Answer
  • Locating Web Elements Exam
  • Locating Web Elements Exam Answer

WebDriver Methods.

  • Action Quiz
  • Action Quiz Answer
  • Coding Exercises for ​​Methods

Object Oriented Programming

  • OOP Quiz
  • OOP Exam

Page Objects.

  • Page Objects Quiz
  • Page Objects Exercise
  • Page Objects Exercise Answer

Automation Best Practices.

  • Automation Pyramid Exercises

45 Minute Production Level Framework.

  • ATDA Quiz
  • ATDA Quiz Answer Pt 1
  • ATDA Quiz Answer P2
  • ATDA Quiz Answer P3
  • Add Inventory Component Quiz
  • Cleaning Up Code Quiz


  • Parallelization exercise
  • Refactoring exercise

Ready to start?

What our students are saying?

Wonderful content and things explained in a nutshell. Overwhelmed by Author’s dedication to put things in such a way that any novice or manual tester can follow and understand and definitely be on-boarded as a Selenium Automation Engineer next day at work. Thanks a million times for creating these courses! One Stop for Automation.”- Rupashree Geethaaviji Ananthakrishna

“I am familiar with Nikolay from a course I saw on TestAutomation and have the highest regard for him. Glad to see him on Udemy.” – Annamalai Viswanathan

One Of the Best courses on Selenium With C#. Cheers Nikolay!!” – Saransh Vaid

Who this course is for:

  • Automation Engineers looking to improve their Selenium knowledge
  • QA individuals looking to get started with Selenium

Course content

7 sections • 22 lectures • 1h 58m total lengthExpand all sections

Introduction1 lecture • 1min

  • Introduction00:36

Locating Web Elements5 lectures • 19min

  • Inspection Quiz02:42
  • Locators in Code Exercise08:19
  • Locators in Code Exercise Answer04:01
  • Locating Web Elements Exam01:51
  • Locating Web Elements Exam Answer01:46

WebDriver Methods3 lectures • 27min

  • Actions Quiz04:29
  • Actions Quiz Answer13:26
  • Coding Exercises for Methods08:37

Object Oriented Programming2 lectures • 15min

  • OOP Quiz04:00
  • OOP Exam11:14

Page Objects3 lectures • 17min

  • Page Objects Quiz05:03
  • Page Objects Exercise03:49
  • Page Objects Exercise Answer08:30

Automation Best Practices1 lecture • 16min

  • Automation Pyramid Exercises16:20

45 Minute Production Level Framework7 lectures • 23min

  • ATDA Quiz01:46
  • ATDA Quiz Answer Part 103:03
  • ATDA Quiz Answer Part 206:14
  • ATDA Quiz Answer Part 305:02
  • Add Inventory Component Quiz01:38
  • Cleaning Up Code Quiz04:57

A Python project with coding framework and unit testing

Python basics and real world coding framework – organizing code, logging, error handling, config file, unit testing


  • Basic programming skills and SQL knowledge required


Learn how to code and unit test Python applications in a real world project. Go beyond the basics by solving a practical use case step by step. This course is designed for Python beginners who want to transition for academic background to a real world developer role !

Course Project :

You will be building a Python application to read data from files and store the data into PostgreSQL database. You will be creating REST endpoints using which external users will interact with your application data. All the industry standard best practices in terms of logging, error handling, config file, code structuring will be used in the application.

Course structure :

  • Python (3.9) and PyCharm IDE installation
  • Python basics – Get started with basic Python data types including List, Tuple and Dictionary
  • Organizing code with Classes and Modules – Understand core concepts of classes and packages
  • Python logging – Implement logging using basic config and file config
  • Python error handling – Learn how to handle exceptions.
  • Python PostgreSQL database interaction – Understand how to read and write to PostgreSQL using psycopg2
  • Create REST API using Python – Learn to create APIs using Python Flask framework
  • Reading configuration from property file – Learn how to avoid hardcoding of configurable properties
  • Unit testing – Learn to test your application using unittest package
  • Unit testing – Learn to test your application using PyTest package

You will learn the above concepts by building a real world file processing application. No prior Python knowledge required.

Prerequisites :

  • Basic programming skills
  • Basic knowledge of SQL queries

Who this course is for:

  • Python beginners who are getting ready for real world developer role

Course content

8 sections • 31 lectures • 1h 55m total lengthExpand all sections

Introduction5 lectures • 7min

  • Introduction01:37
  • What is Python?01:02
  • Installing Python00:46
  • Installing PyCharm02:28
  • Creating a project in the main Python environment01:19

Python getting started3 lectures • 16min

  • Python basics09:27
  • Python dictionary04:42
  • Python List and Tuple02:20

Organizing code, logging and error handling6 lectures • 27min

  • Structuring code with classes and functions08:12
  • Initializing variables with a constructor04:37
  • Logging using basic config03:48
  • Logging using file config04:13
  • Having multiple loggers in an application03:47
  • Error handling with try and except blocks02:36

Reading configuration and database interaction5 lectures • 21min

  • Reading properties from a configuration file03:16
  • Installing PostgreSQL03:55
  • Reading from and writing to Postgres08:58
  • Organizing code further03:16
  • Handling the unique key constraint error01:50

Reading data from a JSON file and storing it in database2 lectures • 8min

  • Reading data from a JSON file02:34
  • Writing JSON file data to PostgreSQL05:39

Creating REST APIs4 lectures • 15min

  • What is REST?01:13
  • Understanding how REST will be used in the application01:01
  • Creating a REST API to fetch course list07:37
  • Creating a REST API to store course information05:24

Unit testing3 lectures • 14min

  • Python unittest package03:35
  • Data and error testing04:49
  • Unit testing with PyTest05:24

Where to go from here?3 lectures • 6min

  • Where to go from here?00:07
  • Preview – Data Engineering – Hadoop and Spark03:16
  • Preview – Machine Learning Deep Learning Model deployment introduction02:54

Beginners Guide to Unit Testing with NUnit and C#

Write simple unit tests in C# using the NUnit framework


  • Basic Skills in C#


This course is all about writing unit tests using C# programming language and NUnit as a unit testing framework. Today unit testing is an absolutely required skill from any professional developer. Companies expect from developers to know how to write unit tests.

Learning unit testing puts a powerful and very useful tool at your fingertips. Being familiar with unit testing you can write reliable and maintainable applications. It is very hard to lead a project which is not covered by unit tests.

Content and Overview

This course is primarily aimed at beginner developers.

We start with basics of unit testing. What is a unit test? What unit testing frameworks exist? How to run and debug unit tests. After getting acquainted with the basics, we will get to the NUnit framework. Here you’ll learn how to install the framework, set the runner. Then you’ll learn the basics of assertions and arrange-act-assert triplet. Other key features of NUnit are also covered:

  • Running tests from the console
  • Setup and teardown unit tests
  • Parameterized tests
  • Grouping and ignoring

Who this course is for:

  • Anyone who wants to learn the basic of unit testing

Course content

2 sections • 34 lectures • 1h 52m total lengthExpand all sections

Getting Started16 lectures • 47min

  • About the Course00:27
  • Download Source Code and Slides00:04
  • Join .NET Community of Students00:02
  • BONUS00:35
  • Outline00:58
  • What is a Unit Test?03:11
  • Unit-Testing Frameworks03:25
  • First Unit Test08:49
  • Naming Conventions04:34
  • Running and Debugging Tests in Visual Studio05:02
  • Benefits of Unit Testing03:35
  • Who should write unit tests and When?02:51
  • Programmer’s Oath03:29
  • Exercise: Degree Converter01:29
  • Solution: Degree Converter06:54
  • Conclusion01:15

NUnit Framework18 lectures • 1hr 6min

  • Outline01:06
  • Assert. Introduction05:29
  • Assert. Demo10:27
  • Arrange-Act-Assert (AAA)01:01
  • Running a Test from the Console01:51
  • SetUp and TearDown05:09
  • SetUp and TearDown on Higher Levels02:13
  • Parameterized Tests03:40
  • Grouping and Ignoring02:14
  • Code Coverage01:42
  • Exercise: FizzBuzz01:07
  • Solution: FizzBuzz05:05
  • Exercise: Roman Numerals02:27
  • Solution: Roman Numerals09:27
  • Exercise: Stack00:59
  • Solution: Stack09:02
  • Conclusion01:24
  • BONUS-Video01:18

Selenium TestNG working with Java

Understanding what is TestNG

Solve all hurdles coming with TestNG while learning on Selenium


  • Basic knowledge of Java


********************Selenium TestNG Course**************************************

Course cover real world examples and coding them while teaching

Student will be very comfortable to use TestNG after this course

Instructor Support is available if any help is required


Learning Selenium and preparing good Automation Test Frameworks we need to have good knowledge of TestNG. Better understanding of TestTG results better Frameworks.

TestNG is a testing framework for the Java programming language inspired by JUnit and NUnit. The design goal of TestNG is to cover a wider range of test categories: unit, functional, end-to-end, integration, etc., with more powerful and easy-to-use functionalities.

This course not only covers most features of testNG but also ANT, Fancy Reporting, generating Logs and other Framework features.

This tutorial is designed for Software Professionals, who are willing to learn TestNG Framework.

Who this course is for:

  • Tester who want to learn Selenium
  • Selenium Automation testers who want understand all about TestNG
  • Automation Testers want to use TestNG Framework
  • Manual Testers want to switch to Automation

Course content

2 sections • 28 lectures • 5h 38m total lengthExpand all sections

Introduction1 lecture • 4min

  • Introductory Video04:10

Learn TestNG27 lectures • 4hr 38min

  • What is TestNG | Install TestNG14:43
  • Annotations in TestNG Part 117:07
  • Annotations in TestNG Part 1 Script2 pages
  • Annotations in TestNG Part 216:31
  • Annotations in TestNG Part 2 Script2 pages
  • Running Test in Batch16:20
  • testng.xml code1 page
  • Running Multiple Batch Files10:27
  • TestNG Pass, Fail & Skip Tests15:30
  • TestNG Prioritization & dependsOnMethods13:20
  • TestNG Prioritization & dependsOnMethods Script2 pages
  • TestNG Parameterization08:01
  • TestNG DataProviders14:31
  • TestNG Advanced DataProviders11:27
  • TestNG Advanced DataProviders Script 13 pages
  • TestNG Advanced DataProviders Script 22 pages
  • TestNG Grouping13:38
  • Generating XSLT Reports | Ant | Exe BAT File Part 119:06
  • Generating XSLT Reports | Ant | Exe BAT File Part 217:28
  • build.xml code4 pages
  • testng-results code40 pages
  • TestNG Listeners15:23
  • TestNG Parallel Execution Part 115:31
  • TestNG Parallel Execution Part 215:31
  • TestNG Parallel Execution Part 316:51
  • TestNG Parallel Execution Part 410:34
  • TestNG Parallel Execution Part 516:25

Selenium with C# and Java Titbits

Start understanding Selenium Webdriver basics very clearly

Work with various features available with Selenium

Explore the most frequently asked questions in Selenium Webdriver


  • Basic understanding of C# and Java is more than enough to understand the course


Selenium Titbits video series is for those who want to get hold of basic understanding of Selenium in greater detail.

This series is designed in such a way that one can easily understand under the hood of Selenium along with some of the nitty-gritty detail one must know while doing bigger projects in Selenium (say framework development)

Who this course is for:

  • This course is for everybody who wants to learn Selenium from groundup
  • This course will help leverage one to get hold of some of the routine task done in selenium day in and day out

Course content

3 sections • 20 lectures • 3h 22m total lengthExpand all sections

Introduction1 lecture • 1min

  • Introduction00:56

Selenium Titbits (Java)15 lectures • 2hr 22min

  • Working with different browsers with Selenium (Java)09:26
  • Finding and working with controls with Selenium (Java)06:18
  • Explicit and Implicit wait with Selenium (Java)11:13
  • Taking Screenshot with Selenium (Java)08:10
  • Check control exist with Selenium (Java)06:25
  • Drag and Drop with Selenium (Java)09:53
  • Mouse hover and Click with Selenium (Java)11:37
  • Working with popup window with Selenium (Java)06:26
  • Understanding and working with Xpath (Java)11:08
  • Selenium Grid understanding and configuring (Java)10:24
  • Selenium Grid understanding and configuring (Cont)12:05
  • Selenium grid parallel execution (Java)12:31
  • Selenium grid parallel execution (Cont)10:36
  • Working with Hidden control using Selenium (Java)08:34
  • Selenium 3.0 and Mozilla Gecko Driver (Marionette) for Firefox 47.x and above07:26

Selenium Titbits (C#)4 lectures • 1hr

  • Custom method to work with Simple Table in Selenium (C#)11:44
  • Custom method to work with simple Table in Selenium (Cont)17:39
  • Understanding Javascript for Selenium (C#)18:02
  • Creating own selenium webdriver with IJavascriptExecutor (C#)12:15

Real-life Ruby on Rails App From Scratch In 14 Hours (RSpec)

Writing real-life application with automated tests

Writing code & specs in Test-driven development (TDD) flow

Writing model and controller specs in RSpec

Writing service objects (design pattern)

Debugging and fixing bugs in real time

Looking for solutions on your own


  • Basic knowledge of Ruby
  • Basic knowledge of Ruby on Rails framework


After two years of working as a Ruby on Rails developer, I decided to remake my first Ruby on Rails application.

This time I didn’t forget about providing decent test coverage, so you can see how I’m writing specs. You can find a lot of tutorials on how to build different applications quickly, but many are written with any automated tests. Believe me, you don’t write specs for your boss, you write specs for yourself to sleep well while you know that the features you provide are working as expected. If you don’t like specs I’m pretty sure you will change your mind after this course. To be honest I love Ruby on Rails same as RSpec!

I didn’t skip any part when I was looking for solutions using Google or trying to fix bugs I encounter, so you should get a better understanding of how writing Ruby on Rails application looks like in real life.

It’s not always so easy, sometimes looking for the answer takes some time.

Are you ready for the challenge? Ready to become the next RoR & RSpec master? I hope so.

Please check the Course content section to see how many steps this tutorial has to develop the application you can see in Course Preview. These steps are not maybe so well planned as you may see in other tutorials but that’s simply how programming looks like, you can’t plan everything and often you need to improvise and be flexible.

Who this course is for:

  • Beginner Ruby on Rails developers curious how to write real-life Ruby on Rails application with decent test coverage

Course content

1 section • 80 lectures • 14h 35m total length

Real-life Ruby on Rails App From Scratch In 14 Hours (RSpec)80 lectures • 14hr 36min

  • Introduction04:11
  • Create a skeleton of the application05:58
  • Create a remote repository on GitHub03:54
  • Install RSpec05:10
  • Install Haml04:22
  • Create Word model17:22
  • Change the database from SQLite to PostgreSQL05:03
  • Install Simple Form gem02:41
  • Create WordsController and basic index view12:47
  • Write a spec for WordsController08:31
  • Add validation to check the presence of value and language attributes08:35
  • Install factory_bot gem08:40
  • Refactor spec for WordsController05:42
  • Create a view and form to add new words10:47
  • Write specs for new and create methods in WordsController24:06
  • Install bootstrap05:54
  • Set root_path and create show action for single Word with specs09:26
  • Rename the project09:07
  • Implement basic styling13:01
  • Update title and add a link to show view05:29
  • Rename column “value” to “content”05:44
  • Fix views after renaming the column01:36
  • Fix form after renaming the column02:34
  • Install language_list gem and add new validation for language field19:19
  • Move language string to separate model13:19
  • Add relationships between Word and Language models19:10
  • Allow editing Word22:21
  • Allow deleting Word09:02
  • Use before_action in WordsController04:40
  • Install Devise gem09:05
  • Add links to login, logout, etc05:48
  • Only signed-in users can add new words05:31
  • Improve spec to test scenarios when a user is signed in or not31:27
  • Connect word with user who created it12:52
  • Only signed-in users can edit and destroy words13:16
  • Prepare seeds11:35
  • Implement authorization with pundit gem13:01
  • Fix specs after authorization changes08:11
  • Write specs for authorization11:41
  • Add pagination for words index view13:18
  • Install brakeman, bundler-audit gems for security reasons09:43
  • Add new relationships to Word model for translations17:11
  • Add specs for new relationships between models09:59
  • Install nested_form gem and use it for translations15:35
  • Write a spec for nested_form stuff in create action22:35
  • Display count of translations for each word in the index view10:42
  • Do not allow translations to be in the same language as Word15:50
  • Implement bootstrap navbar and improve some styling17:44
  • Styling improvements to get a decent look36:42
  • Hide part of an email address for visitors12:06
  • Update rack gem to fix the security vulnerability03:38
  • Create Game model08:45
  • Fix bug about deleting translations04:34
  • Allow user to create new Game12:36
  • Write specs for creating new Game by user20:25
  • Authorize Game object so only its user can access it06:57
  • Add info about good and bad answers to show page04:03
  • Create a service object to get random Word21:52
  • Query only words with translations when looking for random Word09:57
  • Create a service object to check the answer provided by a user10:15
  • Write specs for service object checking answers07:16
  • Try to use service object to check answers in view32:29
  • Update game stats and write new specs for the service object18:28
  • Move logic about preparing message to service object15:17
  • Write specs for AnswersController17:45
  • Make sure that user can access the game06:48
  • Improve styling of Game show page13:28
  • Make main input autofocus02:23
  • Improve the way to notify if the answer was good or bad17:26
  • Add a link to continue previous Game06:23
  • Add correctness method to Game model22:08
  • Fix bug when trying to add new translation in edit view08:12
  • Add dependent destroy option04:02
  • Show links only if a user can perform the action03:01
  • Add confirm prompt before destroying Word02:33
  • Show input for first translation at once03:19
  • The end01:56
  • Improve index query03:01
  • Enable Faker gem on production & fix security issues by updating gems08:25
  • Fix other security issues by update gems (no sound)06:12

Software Development – Level 1 to 3 available – FREE course for Londoners


Become a software developer with a FREE course at ELATT

Our courses are currently taught live online using Zoom. We have daytime and evening courses available.

We are a charity supporting Londoners to better themselves through education for over 35 years. Please only apply if you live in a London Borough.


  • Software Development Level 1 Course outline


About Software Development

Our software development course will teach you to design and develop a range of programs. You will learn Java as your core coding language and key soft skills such as project management, databases, case diagrams and essential office skills. Your tutor will help you develop proven professional coding skills through object oriented coding, design patterns and frameworks.

Software engineering combines problem solving, creativity and analytical skills. It suits those who are detail oriented with an eye for solutions. There is an ever-increasing demand for new software and a wide variety of clients across a range of sectors are looking to employ skilled software developers.

You will be taught by experienced teachers and we also support you with employability, including opportunities to speak to professionals and access mentoring, volunteering and work experience.

Level 2 Award

  • IT security for users: use basic techniques in the operation of an IT system to create, edit and view Python programs online
    Specialist software: learn Online Python IDLE to create basic programs
  • Using collaborative technologies: use IT tools and devices for collaborative working and communications in and out of the classroom such as online lessons tools, instant messaging/chat, online forums and more
  • IT software fundamentals: learn the basics of software fundamentals, including traditional software development cycles

Level 2 Certificate

  • Improving productivity: plan, produce and evaluate your Python programme
  • IT security for users: learn about methods to minimise security risks to IT systems and data
  • Specialist software: use editors to create Graphical User Interfaces (GUI) and Python modules
  • Drawing and planning software: learn how to use free online software to create algorithmic flowcharts for Python programming
  • Presentation software: prepare a pitch for your app

Level 2 Diploma

  • Customer support provision: learn professional customer support behaviours and practices
  • Software testing/software testing fundamentals: test the functionality of a software application to find out whether the software meets the specified requirements
  • Creating an event driven computer programme: create a Graphical User Interface (GUI) app
  • Creating an procedural computer programme: create a Procedures and Classes Library for an app

Level 3 Diploma

  • Customer support provision: including software documentation and remote support
  • Software design fundamentals: the Software Development Life Cycle (SDLC)
    Principles of ICT system and data security: understanding threats to ICT systems and site data encryption and cryptography
  • Software testing: test the functionality of your software. including PHP unit testing
  • Presentation software: use Microsoft PowerPoint to make a business pitch for your software
  • Develop software: using SQL (Structured Query Language)
  • The technologies of the internet: learn the principles, technologies, security and support systems that allow the internet to work, such as DevOps, website domain hosting and FTP
  • Creating an object-oriented computer programme: learn Object-Orientated Programming (OOP) with PHP

Software Testing Course With Job Opportunity

Learn from the top-notch industry experts! Our Software Testing course is specifically designed to help you master Programming Languages, Functional testing skills, Framework Creation, etc. through hands-on real-time projects. Along with this Intellipaat offers a placement opportunity within 6 months of the course completion.

About Program

This Software Testing course is designed by industry experts in collaboration with Intellipaat. Learn Python Programming, Selenium, Functional Testing, and Framework Creation using Python and other required skills to get into your dream job. Additionally, this program offers placement opportunities within 6 months of course completion along with 24/7 support assistance. Get access to 120+ job openings and our personalized career mentorship program.

Key Highlights

  • Minimum 50 job opportunities within 6 Months of moving to the placement pool
  • 95 Hrs of Self-paced Learning
  • 7 months of Live Sessions from Industry Experts
  • One-on-One with Industry Mentors
  • Dedicated Learning Management Team
  • 50+ Industry Projects & Case Studies
  • 24*7 Support
  • Essential Soft Skills Training
  • Certification by Intellipaat
  • E-learning videos on Software Testing
  • No-cost EMI
  • Suitable for Technical as well as Non-technical Graduates
  • Technical Career Mentor

Module 1 – Python Programming

  • Python Environment Setup And Essentials – Introduction to Python Language, features, the advantages of Python over other programming languages, Python installation – Windows, Mac & Linux distribution for Anaconda Python, deploying Python IDE, basic Python commands, data types, variables, keywords and more.

Hands-on Exercise – Installing Python Anaconda for Windows, Linux and Mac.

  • Python Programming Language Basic Constructs – Built-in data types in Python, learn classes, modules, Str(String), Ellipsis Object, Null Object, Ellipsis, Debug, Basic Operators, Comparison, Arithmetic, Slicing and Slice Operator, Logical, Bitwise, Loop and Control Statements while, for, if, break, else, continue.

Hands-on Exercise – Write your first Python program, write a Python Function (with and without parameters), use Lambda expression, write a class, create a member function and a variable, create an object, write a for loop

  • Object Oriented Programming Concepts in Python – How to write OOP concepts program in Python, connecting to a database, classes and objects in Python, OOPs paradigm, important concepts in OOP like polymorphism, inheritance, encapsulation, Python functions, return types and parameters, Lambda expressions.

Hands-on Exercise – Creating an application that helps to check balance, deposit money and withdraw money using the concepts of OOPS.

  • Python Database Connection – Understanding the Database, need of database, installing MySQL on windows, understanding Database connection using Python.

Hands-on Exercise – Demo on Database Connection using python and pulling the data.

  • Exception Handling – Introduction to Exception Handling, scenarios in Exception Handling with its execution, Arithmetic exception, RAISE of Exception, what is Random List, running a Random list on Jupyter Notebook, Value Error in Exception Handling.

Hands-on Exercise – Demo on Exception Handling with an Industry-based Use Case.

  • Multi-Threading & Race Condition – Introduction to Thread, need of threads, what are thread functions, performing various operations on thread-like joining a thread, starting a thread, enumeration in a thread, creating a Multithread, finishing the multi threads., understanding Race Condition, lock, and Synchronization.

Hands-on Exercise – Demo on Starting a Thread and a Multithread and then performing multiple operations on them.

  • Packages and Functions – Intro to modules in Python, need of modules, how to import modules in python, locating a module, namespace and scoping, Arithmetic operations on Modules using a function, Intro to the Search path, Global and local functions, filter functions, Python Packages, import in packages, various ways of accessing the packages, Decorators, Pointer assignments, and Xldr.

Hands-on Exercise – Demo on importing the modules and performing various operations on them using arithmetic functions, importing various packages and accessing them and then performing different operations on them.

  • Web Scraping With Python – Introduction to web scraping in Python, Installing of beautifulsoup, Installing Python parser lxml, Various web scraping libraries, beautifulsoup, Scrapy Python packages, Creating soup object with input HTML, Searching of tree, full or partial parsing, output print.

Hands-on Exercise – Installation of Beautiful soup and lxml Python parser, Making a soup object with input HTML file, Navigating using Py objects in soup tree.

Module 2 – Selenium

  • Core Java Concepts
  • Writing Java Programs Using Java Principles
  • Getting Started with Selenium
  • Selenium Features
  • Deep Dive into Selenium IDE
  • Selenium WebDriver Automation
  • Fire Path Installation
  • Searching Elements
  • Advanced User Interactions and Cross Browser Testing
  • Introduction to TestNG Plugin
  • TestNG Terminology
  • TestNG Data Providers
  • Maven Integration
  • WebDriver Sample Programs
  • JUnit Operations and the Test Framework
  • Object Repository
  • Test Data Management
  • Selenium Grid Concept
  • Mobile App Testing Using Appium (Self-paced)
  • Implementing the BDD Framework Using Cucumber (Self-paced)

Module 3 – Functional Testing

  • Introduction to Software Testing
  • Test Planning, Design of Testing
  • Techniques of testing
  • Levels & Types of Testing
  • Executing test
  • Managing Defect
  • Team Collaboration & Reporting
  • Measurement & Metrics
  • Testing Tools & FAQs
  • Nomenclature in Manual Testing

Module 4 – Framework Creation Using Python

  • Introduction to pytest
  • Advantages and disadvantages of pytest
  • Comparison with other testing frameworks like Nose, unittest etc
  • Introduction to Page object model
  • Framework creation using Python and pytest

Module 5 – Git and Github

  • Introduction to Git
  • Architecture of Git
  • Working with remote repositories
  • Branching and Merging
  • Git Methodology
  • Git plugin with IDE (Eclipse)

Module 6 – Docker

  • Introduction to Docker
  • Storing Data in Docker
  • Docker Compose
  • Container Orchestration
  • Networking in Docker
  • Docker Monitoring
  • Introduction to Kubernetes
  • Kubernetes Architecture
  • Introduction to Pods and Services

Module 7 – SQL

  • Introduction to SQL
  • Database Normalization and Entity Relationship Model(Self-paced)
  • SQL Operators
  • Working with SQL: Join, Tables, and Variables
  • Deep Dive into SQL Functions
  • Working with Subqueries
  • SQL Views, Functions, and Stored Procedures
  • Deep Dive into User-defined Functions
  • SQL Optimization and Performance
  • Advanced Topics
  • Managing Database Concurrency
  • Practice Session
  • Microsoft Courses: Study Material

Web and Mobile Testing with Selenium

About this Course

Modern applications that we build invariably have touch-points with its users through web-based and mobile platforms. Users interact with the software through these interfaces and the experiences those interfaces provide have a strong influence on the perceived quality of the software.

The pace at which modern applications deploy new versions and features call for careful prioritization of testing effort and rapid execution through automation. Techniques and methods for testing of such applications will be the focus of this course. We will cover key concepts relevant to testing of web and mobile platforms, underlying techniques and the use of Selenium as a framework for automating testing of such applications. The learner will gain a solid foundation in web and mobile testing principles and the ability to use a testing framework to automate test execution.

Syllabus – What you will learn from this course


3 hours to complete

Introduction to Web and Mobile Testing

  • Introduction to Web and Mobile Testing9m
  • Challenges in Web and Mobile Testing5m
  • A Brief Introduction to XML and HTML10m
  • Using Firefox Developer Tools13m
  • Introducing Selenium11m
  • Using Selenium from Eclipse IDE 12m

5 practice exercises

  • Introduction to Web and Mobile Testing30m
  • Challenges in Web and Mobile Testing30m
  • A Brief Introduction to XML and HTML15m
  • Using Firefox Developer Tools15m
  • Introducing Selenium15m


6 hours to complete

Functional Web Testing


7 hours to complete

Non-functional Web Testing

The goal of this module is to introduce non-functional testing, in particular, security testing concepts , application of fuzz testing and performance testing with JMeter.

  • Introduction to Security Testing8m
  • Security Testing Techniques9m
  • OWASP Top Ten Risks Overview4m
  • OWASP Top Ten Security Risks 1-58m
  • OWASP Top Ten Security Risks 6-108m
  • Fuzz Testing8m
  • Introduction to Performance Testing12m
  • Introduction to JMeter12m

9 practice exercises

  • Introduction to Security Testing30m
  • Security Testing Techniques30m
  • OWASP Top Ten Risks Overview10m
  • OWASP Top Ten Security Risks 1-510m
  • OWASP Top Ten Security Risks 6-1015m
  • Fuzz Testing10m
  • Introduction to Performance Testing30m
  • Performance Testing with JMeter30m
  • Performance Testing with Selenium30m


4 hours to complete

Mobile Testing

Overview of differences between testing for web versus mobile

Opening/closing appVariety of actions that can we do (shake, squeeze, gestures) Couple of intro videos (diffs, tools, setting the environment up) 10 minutes walking through building a first set of tests Setting up on emulator/device

Intro to Appium7m

1 reading

Getting Started with Appium30m

1 practice exercise

Quiz on Appium Concepts3m