Diploma Program in Software Testing

The programs co-designed by QAI and IBM Career Education will be offered on campus across India, as a blended learning program supported by world class courseware and internationally certified faculty members. The co-branded Certificate and Diploma Programs in Software Testing are aimed at offering a cost-effective skill-building program to students that aligns with industry needs and also encourages adoption by academia.

Both Diploma and Certificate courses will be accompanied by real world projects.

For students, this collaboration presents an opportunity to gain from the tacit knowledge and experience of the best industry practitioners and helps them acquire industry ready skills that will enhance their job prospects and give them the edge in their career.

  • US$ 30 Bn Size of Global Testing Market in FY 2010
  • US$ 10 Bn Outsourced Testing Services Market Globally
  • 32% India’s share in Outsourced Testing Services
  • 60% Generated from Independent Testing Services
  • 07% Testing Services as part of IT Exports
  • 63,000 Employed in Independent Testing Services

The course is appropriate for fresh engineering

Module 01: English Language Concepts (0.5 Day)

Learning Objectives

  • Learn the fundamentals and essential grammar in English Language
  • Understand sentence construction
  • Develop structured statements of language using concepts learnt
  • Learn to Present and write coherent statements in English Language

Coverage

  • Parts of speech
  • Subject verb agreement
  • Tenses
  • Word order
  • Articles
  • Free speech and extempore – fluency
  • Sentence stress and thought groups
  • Active and passive voice
  • Power of constructing short and simple sentences
  • Degrees of comparison
  • Public speaking
  • Conversational openers

Module 02: Reading Comprehension (0.5 Day)
Learning Objectives

  • Learn to read & comprehend documents effectively
  • Ability to develop skills for logical understanding of complex situations

Coverage

  • Reading Technical Documents
  • Understanding and Interpreting Documents
  • Questioning Skills
  • Logical Flow
  • Tips for Comprehension and Retention
  • Identifying sections of requirement documents which are critical
  • Mind-mapping strategies

Module 03: Writing Skills for Testers (1 Day)
Learning Objectives

  • Learn to write technical specifications correctly
  • Learn to present Logical Test Case Design

Coverage

  • Important aspects of writing
  • Approach to wring test cases
  • Inverted pyramid style
  • Benefits of short simple sentences
  • Editing and Proofing
  • Active and Passive voice
  • Writing Effective Bug Reports
  • Email writing

Module 04: Presentation Skills for Testers (0.5 Day)
Learning Objectives

  • Learn to present Logical Test Case Design

Coverage

  • Presenting Results of testing
  • Presenting results to developers, customers and other stake holders
  • Planning, Designing and Delivering Presentations Components of a Test Case

Module 05: Team & Workgroup Participation (0.5 Day)
Learning Objectives

  • Learn to be a good team player
  • Learn to bond and work well as a team member

Coverage

  • Working effectively with team mates (testers)
  • Handling Developer – Tester issues
  • Behavioral Skills
  • Negotiation Skills
  • Listening Skills
  • Team work and Co-operation

Module 06: Essentials of OOPS and Java (4 Days)
Learning Objectives

  • Learn the concepts regarding object oriented programming
  • Learn to create simple programs and applications using Java Language

Coverage:

1) OOP’s Features

  • What is an Object?
  • What is a Class?
  • Data Abstraction and Encapsulation
  • Inheritance
  • Polymorphism

2) Java Features

  • Platform independence
  • Architecturally neutral
  • byte code or Concept of  class file
  • JVM
  • Multithreading
  • Interfaces
  • Exception Handling

3) Basics of Java

  • Installing Java
  • Installing Eclipse
  • First Eclipse Project
  • First Java program
  • Variables, Constants, Data Types
  • Operators
  • Basic Input/Output
  • Control Structures
  • Arrays
  • Loops
  • Methods
  • static and non-static methods
  • why  is main method static
  • call by reference and call by value
  • method overloading

4) Object Oriented Programming: Classes

5) Constructors and Destructors

  • Debug Output
  • The Default Constructor
  • When are Constructors Called?
  • The Destructor
  • The Copy Constructor
  • Other Constructors
  • Type Casting of objects.

6) Inheritance

  • Inheritance
  • Multiple inheritance
  • method Overriding
  • super keyword
  • Dynamic Method Dispatch

7) Interfaces

  • Defining an Interface
  • Variables in Interface
  • Methods in Interface
  • Implementing Interfaces

8) Packages

  • What is Package
  • Creating Package
  • Hierarchy of packages
  • Accessing classes across packages

9) Access Modifiers

  • Public
  • Private
  • Default
  • Protected

10) Exception Handling

  • Why Exception Handling
  • Exception and Error
  • Default Exception Handler
  • Try and catch block
  • Multiple Catch Blocks
  • Throw, throws

11) Collections

  • Array List Classes
  • Hash Table Class

12) File Handling

  • Reading from Text files
  • Writing into Text files

13) Reflection API usage and importance

Assignment: Exercise from Java exercise work book

Module 07: Introduction to RDBMS (2 Days)

Learning Objectives:

  • Understand the role and nature of relational database management systems (RDBMS)
  • Translate written business requirements into conceptual entity-relationship data models
  • Convert conceptual data models into relational database schemas using the SQL Data Definition Language (DDL)
  • Query and manipulate databases using the SQL Data Manipulation Language (DML)

Coverage

1) Database Introduction

  • RDBMS Introduction
  • Entity Relationship Model
  • Normalization Techniques
  • Codd’s rules

2) Introduction to SQL and Query writing

  • DDL Statements
  • DML Statements
  • DCL Statements
  • Joins and Types of Joins

Assignment: Exercise from RDBMS exercise work book

Module 8: Basics of Software Engineering( 1 Day)

Learning Objectives:

  • Learn the fundamentals of Software, its processes and the types of models
  • Learn to choose an appropriate model for a given project

Coverage:

1) Software

  • What is software & its myths
  • Attributes of good software
  • Reasons for failure of good software
  • Changing nature of software

2) Software Process

  • What is software process?
  • Characteristics of Good Process
  • Software Process Types

3) Software Process Models

  • Prescriptive model
  • Waterfall model
  • Incremental model
  • Evolutionary model
  • Specialized process model
  • Spiral Model
  • Agile Methodology

Assignment: Case Studies on different Software Models

Module 9: QA / QC and Introduction to Testing (1 Day)

Learning Objectives:

  • Learn the importance and need for Quality Software
  • Learn the Definition of Quality in Software
  • Learn the role of QA and QC teams in ensuring quality in a product
  • Understand the importance, objectives, principles & limitations of software testing
  • Understand the evolution, misconceptions, myths of software testing
  • Understand the Software Testing Life Cycle, testing terminologies
  • Understand the various levels of testing like Unit testing, Integration testing, System testing, Acceptance testing & Regression Testing
  • Understand the Software Test process & the steps involved in the testing process model

Coverage:

1) Introduction to Quality

  • Definition of Quality
  • View’s of Quality
  • What is Quality Software
  • Quality Attributes of an Information System
  • Software Quality Factors
  • Cost of Quality
  • Types of COQ
  • Key Principles of Quality
  • Quality Solution
  • Software Quality Assurance
  • Software Quality Control
  • SQA Vs SQC
  • Roles & Responsibilities

2) Importance of Software Testing

  • A necessary evil
  • Why do we test
  • Another view – cynical
  • First up – How much
  • Secondly – What sort
  • Thirdly – by whom
  • Lastly – When
  • objective of Software testing
  • Principles of Software Testing
  • Limitations of Software testing

3) Software Testing

  • Test Vs Development
  • Misconceptions about testing
  • Myths about Software Testing
  • Software Testing Evolution
  • An emerging field in IT
  • The Change
  • Career growth prospects
  • Career growth
  • Testers Competency
  • Testers areas of progression

4) Software Testing Life Cycle

  • Levels of Software Testing
  • Unit Testing
  • Integration Testing
  • System Testing
  • Acceptance Testing

5) Types of Testing

  • Regression Testing
  • Other types of Testing

6) Test Process

  • Generic process steps
  • Testing Process Model

7) Terminologies of Software Testing

Assignment: Exercise from Testing exercise work book

Module 10: Test Requirements (1 Day)

Learning Objectives:

  • Learn the fundamentals of requirements
  • Understand different types of requirements
  • Learn to read, understand and analyze business requirements.

Coverage:

1) Requirements Essentials

  • What is a requirement?
  • Sources of Requirements
  • Common Issues of Requirements
  • Stakeholders  for Requirements

2) Requirements Engineering Process

  • Requirements Elicitation
  • Requirements Analysis
  • Requirements Specification
  • Requirements Validation

3) Creating Testable Requirements

  • Gathering Requirements for Software Testing
  • Categorizing and Prioritizing the Test Requirements
  • Verify the Completeness of the requirement

Assignment: Create an SRS for the project completed in IT foundation

Module 11: Test Planning (1 Day)

Learning Objectives:

  • Understand what is Test Strategy
  • Understand the process of test planning and the various activities involved in it
  • Understand the test flow and when testing can be stopped

Coverage:

Test Planning

  • Pre-requisites for Test Planning
  • Definition of Test Objectives & Goals
  • Definition of Test Activities
  • Preparation of Test Plan
  • Familiarization with IEEE 829 Standard for Test Plan

Assignment: Create a Test Plan for the project

Module 12: Test Case Design Methods (2 Days)

Learning Objectives:

  • Learn the need for systematic Test design
  • Learn the different design techniques for doing black box testing and white box testing.
  • Practice the concepts learned

Coverage:

1) Test Case Design – Methods and Techniques

  • Introduction to Test Documentation
  • Introduction to Test Design
  • Need for Test Design

2) Black Box Test Design Techniques

  • Equivalence Class Partitioning
  • Boundary Value Analysis
  • Decision Tables
  • State Transition Testing
  • Orthogonal Arrays
  • All Pairs

3) White Box Test Design Techniques

o    Static White Box Techniques

  • Desk Checking
  • Code Walkthrough
  • Formal Inspections

o    Structural White Box Techniques

  • Coverage Testing
  • Syntax Testing
  • Data flow testing

Assignment: Design Test Cases for the project

Module 13: Test Case Writing & Documentation (2 Days)

Learning Objectives:

  • Learn to write technical specifications correctly
  • Learn to present Logical Test Case Design

Coverage:

Effective Test Case Writing

  • Testware – Scenario
  • Testware – Test Case Definition
  • Test Case – Elements
  • Test Case – Attributes
  • Test Case – Development process
  • Test Case – Format
  • Test Case – Anatomy
  • Test Case – Points to Improve Testability
  • Test Case – Components
  • Test Case – Guidelines For Writing
  • Test Case – Common Mistakes
  • Test Case  – Template
  • Test Case – Review
  • Test Case – Check List
  • Test Case – Writing effective/successful cases

Assignment: Write Test Cases for the project

Module 14: Test Execution & Defect Reporting (2 Days)

Learning Objectives:

  • Understand what is test environment & how to define it
  • Understand what is test data, how it can be generated and the strategies involved in the test data generation
  • Understand the basis for deciding what test cases are to be executed
  • Understand the process of test execution
  • Understand what is a defect, how the defects can be managed, its life cycle
  • Understand how to record & report the test results.

Coverage:

1) Test Execution

  • Introduction to Test Execution
  • Test Environment
  • Test Data
  • Decide on Test Cases to Execute
  • Test Criteria
  • Test Execution – Definition
  • Test Execution Process

2) Defects

  • Defects – Definition
  • Defects – Effects
  • Defects – Why do they Occur?
  • Defects – Fish Bone representation
  • Defects – Cost of fixing
  • Defects – Reporting Process
  • Defects  – Life Cycle

3) Defect Management

4) Recording Test Results

5) Metrics for Testers

Assignment: 

  • Log defects for the applications tested
  • Create Test execution reports

Module 15: Hands-on Project on Functional Testing (Offline Project)

Learning Objectives:

  • Apply the skills learned so far in testing a given product
  • Hands-on with requirements, prepare test design, write test cases, execute test cases and log defects

Coverage:

Manual Project

  • Understand Requirements
  • Analysis of Requirements
  • Test Case Design and Write Test Scenarios
  • Write Test Cases
  • Execute Test Cases
  • Log Defects
  • Test Reporting

Deliverables:

  • Project Report & Presentations

Module 16: Introduction to Test Automation (1 Day)

Learning Objectives:

  • Learn basics of test automation
  • Understand the various tools available in the market

Coverage:

Basic Concepts of Test Automation

  • What is Automated Testing?
  • What is not Automated Testing?
  • When to go in for Automated Testing?
  • Why to go in for Automated Testing?
  • Types of test tool and Test Tool Categories

Module 17: Introduction to Test Management Tool – Quality Center(ALM) ( 1 Day)

Learning Objectives:

  • Understand the need for a test management tool
  • Learn to use QC(ALM) as a test management tool

Coverage:

Working for Quality Center

  • Introduction to Test Management Tools
  • Requirements Tab
  • Test Plan Tab
  • Test Lab Tab
  • Defect Tab
  • Configuration Management using QC
  • Maintaining Traceability

Assignment: Exercise from QC work book

Module 18: Introduction to Functional Testing Tool – QTP(UFT)(7 Days)

Learning Objectives:

  • Learn the concepts in VB Scripting
  • Learn the concepts in QTP(UFT)
  • Create scripts and execute tests using QTP(UFT)

Coverage:

1) VB Scripting

  • About VB Scripting
  • Programming with VB Script
  • Hello world program
  • Basic data types
  • User inputs
  • Printing outputs
  • Decisions
  • Loops
  • Library functions
  • Functions and Procedure
  • File management
  • Object Model Reference

2) Introduction to Quick Test Professional(UFT)

  • QTP Test Process
  • Quick Test Window
  • Types of Recording
  • QTP Views

3) Object Management

  • QTP Object Identification Process
  • Object Identification
  • Mapping Custom Objects to Standard Class
  • Object Spy
  • Object Repository
  • Virtual Object

4) Synchronization

  • Understanding Synchronization
  • Synchronization
  • Adding Global and Synchronization step

5) Regular Expressions

  • Regular Expression Patterns
  • Regular Expressions for Dynamic Object

6) Checkpoints

  • Checkpoint – Definition
  • Using Checkpoint
  • Checkpoint Types
  • Standard Checkpoints
  • Text Checkpoints
  • Text Area Checkpoints
  • Bitmap Checkpoints
  • Database Checkpoints
  • Accessibility Checkpoints
  • XML Checkpoints

7) Parameterize Data

  • Data Driven Tests
  • Run Time Data Table
  • Driving Data from External Files
  • Driving Data to External Files

8) Action, Action settings & Reusable Actions

  • Actions and Reusable Actions
  • Types of Actions
  • Benefits of Reusable Actions
  • Calling a Reusable Actions from an External Test
  • How Reusable actions can affect data and parameters

Assignment: Exercise from QTP work book

Module 19: Functional Testing using Selenium Tool (3 Days)

Learning Objectives:

  • Learn the concepts in Selenium
  • Learn to create automation test scripts, execute them and observe the results using the functional testing tool

Coverage:

1) Introduction to Selenium

  • What is Selenium
  • Selenium IDE
  • XPath, Object Identification tools
  • Selenium RC Overview
  • Selenium Components & Limitations

2) Eclipse IDE Setup

  • Installing
  • Importing the TestNG and WebDriver Libraries
  • Creation of Project and tests
  • Running the tests

3) Selenium RC

  • Introduction to selenium RC
  • Running selenium server
  • Writing & Executing RC selenium RC script
  • Difference within selenium Webdriver and RC

4) Selenium 2.0

  • Introduction to Web Driver
  • Implementation of WebDriver with HtmlUnit Driver
  • Navigating
  • Interacting with the Page
  • Basic API of WebDriver
  • Drag and Drop
  • Windows and Frames Handling
  • Popup Dialogs
  • Navigation and Location
  • How XPATH works in WebDriver
  • Matching Implicit Attributes
  • Page Object Pattern in Example
  • File Handling

5) TestNG

  • Why TestNG?
  • Features
  • Usage
  • Results Analysis

6) Selenium Grid

  • Why Grid?
  • How it works?
  • Getting Started, Using it

Case Study & Practice