logo-img

Course Details

Software Testing

(254 reviews)
course-meta
Created by
Admin

Total Enrolled

50,000+

Last Update

01 January 2023

Duration

45 Days

Description

This course is designed to introduce you to the complete software testing life-cycle. You will be learning different levels of testing, test environment setup, test case design technique, test data creation, test execution, bug reporting, CI/CD pipeline in DevOps, and other essential concepts of software testing.

What you'll learn

  • Fundamentals of Testing
  • Testing Throughout the Software Development Lifecycle
  • Static Testing
  • Test Techniques
  • Test Management
  • Agile & Scrum

Requirements

  • • Basic understanding of network essentials
  • • Basic understanding of core concepts
  • • Basic understanding of including server and network components

Curriculum

  • 45 lectures • 45 days total length

1. What is Testing?

Identify typical objectives of testing

Differentiate testing from debugging

2. Why is Testing Necessary?

Testing’s Contributions to Success: Give examples of why testing is necessary

Quality Assurance and Testing: Describe the relationship between testing and quality assurance and give examples of how testing contributes to higher quality

Distinguish between error, defect, and failure

Defects, Root Causes and Effects: Distinguish between the root cause of a defect and its effects

3. Test Process

Test Process in Context: Explain the impact of context on the test process

Test Activities and Tasks: the test activities and respective tasks within the test process

Test Work Products: Differentiate the work products that support the test process

Traceability between the Test Basis and Test Work Products: Explain the value of maintaining traceability between the test basis and the test work products

4. The Psychology of Testing

Human Psychology and Testing: Identify the psychological factors that influence the success of testing

Tester’s and Developer’s Mindsets: Explain the difference between the mindset required for test activities and the mindset required for development activities


1. Software Development Lifecycle Models

Software Development and Software Testing: Explain the relationships between software development activities and test activities in the software development lifecycle

Software Development Lifecycle Models in Context: Identify reasons why software development lifecycle models must be adapted to the context of project and product characteristics

2. Test Levels: Compare the different test levels from the perspective of objectives, test basis, test objects, typical defects and failures, and approaches and responsibilities

Component Testing

Integration Testing

System Testing

Acceptance Testing

3. Test Types: Compare functional, non-functional and white-box testing, recognize that functional, nonfunctional and white-box tests occur at any test level, Compare the purposes of confirmation testing and regression testing

Functional Testing

Non-functional Testing

White-box Testing

Change-related Testing

Test Types and Test Levels

Compare functional, non-functional and white-box testing, recognize that functional, nonfunctional and white-box tests occur at any test level, Compare the purposes of confirmation testing and regression testing


1. Static Testing Basics

Work Products that Can Be Examined by Static Testing

Benefits of Static Testing

2. Differences between Static and Dynamic Testing

Review Process

Work Product Review Process

Roles and responsibilities in a formal review

Review Types

Applying Review Techniques

Success Factors for Reviews


1. Categories of Test Techniques

Choosing Test Techniques

Categories of Test Techniques and Their Characteristics

2. Black-box Test Techniques

Equivalence Partitioning

Boundary Value Analysis

Decision Table Testing

State Transition Testing

Use Case Testing

Decision Testing and Coverage

3. Experience-based Test Techniques

Error Guessing

Exploratory Testing


1. Test Organization

Independent Testing

Tasks of a Test Manager and Tester

2. Test Planning and Estimation

Purpose and Content of a Test Plan

Test Strategy and Test Approach

Entry Criteria and Exit Criteria (Definition of Ready and Definition of Done)

Test Execution Schedule

Factors Influencing the Test Effort

Test Estimation Techniques

3. Test Monitoring and Control

Metrics Used in Testing

Purposes, Contents, and Audiences for Test Reports

4. Configuration Management
5. Risks and Testing

Definition of Risk

Product and Project Risks

Risk-based Testing and Product Quality

Defect Management

What is Agile Testing?

Scrum Introduction

Getting Agile with Scrum

Scrum Approach

Release Planning

Sprint Planning

Product backlog

Concept of Epics

Writing Epics – Examples

Concept of User Stories

Writing User Stories- Examples

Defining Tasks

Starting Sprint

Monitoring Sprint status

Completing Sprint


1. Java Programming Basics

Why Java for Selenium

Installing Java

Installing Eclipse

Creating Java Project

First Java program

Concept of class file

Datatypes in Java

String class and functions

Conditional Statements

Loops

Arrays

Operators

What are Functions?

Function Input Parameters

Function Return Types

2. Object Oriented Programming in JAVA

Local Variables

Global Variables

Static and Non-Static Variables

Static and Non-Static Functions

Creating Objects in Java

Meaning of static

Why is the main method static?

Overloading and Overriding Functions

Access Modifiers – Public/Private/Default/Protected

Constructors

Interface

Usage of Objects in Selenium

Inheritance

Usage of Inheritance in Selenium

Creating Packages

Accessing Classes across Packages

3. Object Exception Handling

Exception handling with try catch block

Importance of exception handling

Exception and Error

Throwable Class

Final and Finally

Throw and Throws

Different Types of Exceptions

Need of exception handling in Selenium framework

4. Automating Excel file Operations using Apache POI

Creating/Opening XL Files

Reading data from XL Sheet

Writing data into XLSheet

Counting Rows and Columns in XL Sheet

Filling BG/Font Colors

Creating ExcelUtils Class.


1. Selenium Introduction

What is Selenium?

Who developed Selenium?

Selenium Components

Introduction to WebDriver

Installing Selenium WebDriver

Architecture of Selenium Webdriver

Creating your First Script in Webdriver

2. Launching AUT and Inspecting properties of Elements

Launching AUT in Firefox

Launching AUT in Internet Explorer

Launching AUT in Chrome

Launching AUT in Safari

Inspecting properties of Elements on different Browsers

Creating Firefox Profile

3. Finding elements using Locators
4. Creating Customize XPath/CSS Selectors

What is XPath

When to Use XPath

Absolute XPath/Relative XPath

Specifying conditions with XPath

CSS Selectors

5. Automating WebElements Operations

Browser

TextBox

ListBox

Links

Check Box

Radio Button

HTML Tables

Calendars

6. Automating Keyboard and Mouse Events

Action Class

KeyBoard Events

Drag & Drop Actions

Mouse Hover Action

RightClick, Double Click & Tool Tip

accept()

dismiss()

getText()

8. Handling Frames

What is iFrame?

Locating Frames

Handling Frames

9. Handling multiple Windows

getwindowHandle()

getwindowHandles()

Switching between windows

Handling elements present in different windows

10. Synchronization

ImplicitWait

WebDriverWait

FluentWait

PageLoadTimeout

11. AutoIT

Installing AutoIT

Components of AutoIT

Using FinderTool

AutoIT commands

Creating Scripts in AutoIT

Creating executable files

Running AutoIT Scripts from Selenium

Advantages of TestNG over JUnit

Why do we need TestNG in Selenium?

Installing TestNG in Eclipse

Creating a New TestNG Test File

Key topics covered:

TestNG annotations

TestNG assertions

Running the TestNG Test

Checking reports created by TestNG

Creating multiple Tests

Prioritizing Tests

Parameterizing Tests with @dataProvider

TestNGdataProvider with Excel

Creating and Running Test Suites with TestNG.xml

Sequential Test Execution with TestNG

Parallel Test Execution with TestNG

Overview of BDD and Cucumber

How to install and setup Cucumber with Eclipse

Overview of Gherkin keywords

How to create Feature file

How to generate Step Definition file

How to integrate Cucumber with Selenium WebDriver

JUnit Test Runner Class

Data Driven Testing in Cucumber

Configure Cucumber with Maven and Jenkins

How generate Reports in Cucumber


System for tracking changes in computer files and coordinating work on those files among multiple developers. It is primarily used for source code management in software development.

Topics Covered - Git/GitHub

Introduction to Version Control System

Centralized Version Control System

Distributed Version Control System

Git Introduction

Git Architecture

Git Workflow

Git Branching Model

Git Merging Branches

Detached Head For Retroscoping

Undoing Changes

Git Ignore

GitHub For Remote Repositories

Using existing GIT Repositories With Clone

Pull Requests

Tagging

The process of building software is usually managed by a build tool in our case it's MAVEN

Maven’s primary goal is to allow a Developer to comprehend the complete state of a development effort in the shortest period of time.

Topics Covered - Maven

Introduction to Build Management

Introduction to Maven

Maven Lifecycle Phases

Maven Plugins

Building Java Applications

SonarQube is an open source platform developed by SonarSource for continuous inspection of Code Quality.

SonarQube offers reports on duplicated code, coding standards, unit tests, bugs and security vulnerabilities

SonarQube provides fully automated analysis and integration with Maven and Continuous Integration tools like Jenkins

Topics Covered - SonarQube

Introduction To Unit Testing

Perform White Box Testing

Analyzing Bugs and Vulnerabilities

Integration Of SonarQube with Maven


Jenkins is an open source automation server written in Java. Jenkins helps to automate the non-human part of the software development process, with Continuous Integration and Continuous Delivery.

Topics Covered - Jenkins

Introduction To Continuous Integration

Introduction To Continuous Delivery

Best Practices of CI-CD

Overview of Jenkins

Setting Up Jenkins

Setting Up Build Jobs

Build Parameters

Build Triggers

Jenkins Plugins

Using GitHub Webhooks

Automatically Build Binaries Using Maven On Code Changes

Distributed Builds Master - Slave Configuration

Code Quality Integration With SonarQube to test development code

Automated Releases Using Nexus Integration

Continuous Deployments

CI - CD Pipeline

Pipeline As Code

JIRA Introduction

How to Install JIRA

JIRA Features

Adding Users to our JIRA Account

JIRA Issue types

Workflow for a Project

Creating Product backlog in JIRA

Creating EPICS in JIRA

Creating User Stories in JIRA

Starting Sprint

Writing TestCases in JIRA

Executing TestCases from JIRA

Adding Bugs to the JIRA Project

Attaching screenshots of defects in JIRA

Student Feedback

4.7

5785 Rating
98%
78%
55%
60%
10%
image not found
  • Level
    Intermediate
  • Lectures
    45 Lectures
  • Duration
    +45 Days
  • Laguage
    English
  • Access
    Full Lifetime
  • Certificate
    Yes
  • Recourse
    5 Downloadable Files