CF109 Software QA and Software Testing Program Outline

CF109 Program Outline

CF109 Program comprised of 3 courses:

  • CF102 Software Testing Methodology
  • CF103 Test Automation
  • CF104 Essential Testing Skills

CF102 Software Testing Methodology

Lesson #1 Software Quality Assurance and Software Testing

Lecture 1

    • Software Testing as a professional discipline
    • Testing Skills and Attitude
    • Software Development Life Cycle
    • Software Quality Assurance place in Software Development Life Cycle
    • Verification Testing
    • Validation Testing
    • Limitations and Objectives of Testing
    • Ad-Hoc Testing

Assignment 1

    • Ad-hoc testing of build #1 of training application

Lesson #2 Software Quality and Categories of Software Errors

Lecture 2

    • Definition of Software Quality
    • Definition of Software Error
    • Categories of Software Errors
    • Reporting and Analyzing bugs
    • Defect Tracking System

Assignment 2

    • Regression Testing on build #2 of training application
    • Working with a defect tracking system

Lesson #3 Understanding Documentation

Lecture 3

    • Necessity of Documentation
    • Requirements Specification
    • Functional Design Specification
    • Internal Design Specification

Assignment 3

    • Regression Testing on build #3 of training application
    • Using external documentation as input for test case design

Lesson #4 Test Planning

Lecture 4

    • Test Plan
    • Traceability Matrix
    • Test Planning Lists
    • Prioritizing Test Tasks

Assignment 4

    • Regression Testing on build #4 of training application
    • Create Test Plan for training application
    • Create traceability matrix for a specific area of application

Lesson #5 The Art of Writing Test Cases

Lecture 5

    • Definition of a Test Case
    • Object-Oriented approach for Test Design
    • Equivalence Partitioning technique
    • Boundary Conditions technique
    • Decision Table technique
    • State-Transition technique

Assignment 5

    • Regression Testing on build #5 of training application
    • Write test cases for training application

Lesson #6 Test Execution

Lecture 6

    • Smoke Testing
    • Function Testing
    • Regression Testing
    • System Testing
    • Acceptance Testing
    • When testing should be stopped

Assignment 6

    • Regression Testing on build #6 of training application
    • Performing structured function testing

Lesson #7 Fundamentals of Web Applications Architecture

Lecture 7

    • Mainframe Application Architecture
    • Desktop Application Architecture
    • Client-Server Application Architecture
    • Components of Web-Based System
    • White-box Testing

Assignment 7

    • Control Flow Diagrams
    • Code Coverage Exercises

Lesson #8 Testing Web Applications

Lecture 8

    • Usability Testing
    • Compatibility Testing
    • Security Testing
    • Accessibility Testing

Assignment 8

    • Testing Web Applications

Lesson #9 Testing Mobile Applications

Lecture 9

    • Mobile Technology
    • Testing Mobile Applications – Android Devices
    • Testing Mobile Applications – iOS Devices

Assignment 9

    • Testing training application on emulators and simulators

Lesson #10 Test Management Utilities

Lecture 10

    • Overview of best test management tools on the market
    • Working with a test management tools

Assignment 10

    • Creating test plans, test suites and test cases in test management tool

Lesson #11 CF102 Summary and Final Exam

Lecture 11

    • Software Testing Life Cycle Summary

CF102 Exam

CF103 Software Test Automation

Lesson #12 Test Automation Basics

Lecture 12

    • Types of Test Automation Tools
    • GUI Test Automation Paradigm
    • Benefits of Test Automation
    • Limitations of Test Automation
    • Object Recognition Principles
    • Automation tools evaluation
    • Understand your first script code

Assignment 12

    • Recording first script

Lesson #13 Modifying Scripts

Lecture 13

    • Synchronization
    • Validation
    • Making your script robust

Assignment 13

    • Modifying script

Lesson #14 Modularity and Reusability

Lecture 14

    • Maintenance Challenge
    • Introducing Modules
    • Functions
    • Variables

Assignment 14

    • Adding modularity to your script

Lesson #15 Parameterization

Lecture 15

    • Adding arguments
    • Parameterization
    • Handling Invalid Inputs

Assignment 15

    • Parameterizing your script

Lesson #16 Data-Driven Approach

Lecture 16

    • Data-Driven approach
    • Loops

Assignment 16

    • Utilize Data-Driven approach in your script

Lesson #17 Selenium IDE

Lecture 17

    • Recording
    • Verification
    • Synchronization
    • Using Variable
    • Using Debugger

Assignment 17

    • Creating automation scripts using Selenium IDE

Lesson #18 Working with Selenium Locators

Lecture 18

    • Working with Firebug and Firepath
    • Locating elements by ID
    • Locating elements by Link text
    • Locating elements by Name
    • Locating elements by XPath
    • Locating element by CSS

Assignment 18

    • Practicing identifying locators in the training application

Lesson #19 Selenium WebDriver with Java

Lecture 19

    • Setting Up Environment
    • Working with Maven

Assignment 19

    • Creating automated test scenario using Selenium WebDriver

Lesson #20 Using Selenium with TestNG

Lecture 20

    • TestNG
    • Annotations
    • Using testing.xml

Assignment 20

    • Utilizing TestNG for test automation with Selenium WebDriver

Lesson #21 Using Selenium WebDriver Design Patterns

Lecture 21

    • Page Objects and Page Factories
    • Bot Style of programming

Assignment 21

    • Creating automated test scenarios using different design patterns

Lesson #22 Automation of Load and Performance Tests

Lecture 22

    • Performance testing
    • Load/Stress testing

Assignment 22

    • Record script
    • Configure session options
    • Run a test
    • Analyze test results

Lesson #23 Test Automation with SoapUI

Lecture 23

    • Web Services
    • Creating your first SOAP project
    • Running test cases
    • Assertions

Assignment 23

    • Working with SoapUI tool

Lesson #24 Test Automation – REST API

Lecture 24

    • Rest Services
    • Creating your first REST project
    • Adding Assertions
    • REST methods

Assignment 24

    • Creating automated test cases to test REST API

Lesson #25 CF103 Summary and Final Exam

Lecture 25

    • Summary
    • Automation ROI Analysis
    • Test Automation Frameworks

CF103 Exam

CF104 Essential Testing Skills

Lesson #26 Introduction to Relational Databases

Lecture 26

    • Tables
    • Keys
    • Relations
    • Normalization
    • Market of RDMS

Assignment 26

    • Create a custom database

Lesson #27 SQL

Lecture 27

    • Introduction to Structured Query Language

Assignment 27

    • Running SQL queries against a database

Lesson #28 Virtual Machines

Lecture 28

    • Concept of Virtualization
    • Create a new Virtual Machine
    • Virtual Appliances

Assignment 28

    • Practicing in creating and running virtual machines

Lesson #29 Introduction to UNIX

Lecture 29

    • Basic Shell commands
    • Working with vi editor

Assignment 29

    • Practicing in working with Shell and vi editor

Lesson #30 Software QA Management

Lecture 30

    • Capability Maturity Levels
    • Version Control Systems

Assignment 30

    • Practicing in working with Subversion and Git

Lesson #31 Resume and Job Search

Lecture 31

    • Create a Successful Resume
    • Create a Cover Letter
    • Get Information about open positions
    • Prepare for Interview
    • Interview like a Pro
    • Interview Follow Up

Assignment 31

    • Write a Resume
    • Write a Cover Letter
    • Prepare your life story

Lesson #32 Interview Questions

Lecture 32

    • General Questions
    • Technical Questions

Assignment 32

    • Answering Interview Questions

Lesson #33 Mobile Testing – Preparation for Internship

Lecture 33

    • Mobile Bug Submission Platform

Assignment 33

    • Practicing in testing on real devices

Lesson #34 CF104 Summary and Final Exam

Lecture 34

    • Important Trends in Software Development and Testing

CF104 Exam

Lesson #35 Next Steps

Lecture 35

    • Guidelines for Internship and Job Search