Essentials for Successful Career in Software Testing

Essentials for Successful Career in Software Testing. Domain Knowledge, Programming Knowledge, SQL Knowledge for Software Test Engineers.

I) Operating Systems

II) Documentation

III) SQL Basics/Database Fundamentals

IV) Programming Fundamentals

V) Web Environment Basics

VI) Software Testing Concepts

VII) Domain Knowledge

VIII) Test Automation Using Selenium

IX) Test Automation (Functional) Using UFT / QTP

X) Test Automation (Performance) Using LoadRunner

I) Operating Systems

It is essential for Software testers, we have two major families of operating systems in the IT Industry.

a) MS Windows

b) UNIX and its flavors like Linux, Solaris etc…

Nowadays all are familiar with Windows Operating System, but some only familiar with UNIX. UNIX OS is an added advantage for Software testers.

In windows also basically 2 types of operating systems available;

a) Client-side Operating Systems

Example: Windows XP, Windows Vista, Windows 7, Windows 8, Windows 10.0 etc…

b) Server-side Operating Systems

Ex: Windows 2003 Server, Windows 2008 Server etc…

Note: familiar at least with one latest Server OS and 2 or 3 Client OS, server OS knowledge is mandatory for Server side testing

II) Documentation:

Documentation is important activity in Software Testing, we design test cases, collect test data and report defects etc…

Learn MS Word and MS Excel, MS Power point and MS Access are optional.

If you find any opportunity to learn Start Office or Open office try to learn, but they are optional. Start Office or Open office are used on UNIX Operating System.
Software Testing

III) SQL Basics/Database Fundamentals

SQL was developed by IBM in 1970’s and It is common for all types of Databases. SQL knowledge is important for communicating with databases and for conducting Database Testing.

SQL Learning objectives for Testes;

• Structured Query Language
• Types of Databases
• Creating and Manipulating Tables
• SQL Operators
• Constraints
• Joins
• Built-in Functions
• SQL Queries
• Sub-Queries
• Views
• Indexes
• Normalization
• Stored Procedures
• Triggers
• User Defined Functions
• Locks
• Transactions
• Back-up and recoveries

IV) Programming Fundamentals

It is an essential for Test Automation or Automated Testing, In Test Automation we use programming (Ex: We use Java or C# or Python or Perl or PHP or Ruby in Selenium and VBScript in UFT / QTP) for enhancing Tests.

Note: It is not mandatory for Manual Testing.

Learning objectives for Testes;

• Writing Comments
• Data Types
• Declaring and using Scalar and Array Variables
• Declaring and using Constants
• Operators
• Input/Output Operations
• Flow Control -Conditional Statements
• Flow Control – Loop Statements
• Error Handling
• Functions (Built-In)
• Functions (User Defined)
• Regular Expressions
• Coding Conventions
• File System Operations
• Excel Application Operations
• Word Application Operations
• Database Operations

V) Web Environment Basics

Now a days most of the Software Applications are Web based applications (Computer Web Applications and Mobile Web Applications), in order to conduct Web Testing web environment knowledge is more important for Testers.

Learning objectives for Testes;

• Types of Web Applications
• III-Tier and N-Tier Applications
• Intranet, Internet and Extranet Applications
• HTML Basics
• XML Basics
• Client side validations
• Server side validations
• Application Functionality
• Business Integration

VI) Software Testing Concepts

Manual Testing Learning objectives;
1) Software Fundamentals

• Software, Types of Software
• Software Project, Application and Product
• Software Business Process

2) Software Development Life Cycle

• Requirements Gathering
• Analysis & Planning
• Software Design
• Coding/Implementation
• Testing
• Release & Maintenance

3) SDLC Models

a)Sequential Models

• Waterfall Model
• ‘V’ Model

b) Incremental / Iterative Models

• Prototype Model
• Spiral Model
• Agile Model

4) Test Levels

• Unit Testing/Component Testing/Module Testing / Program Testing
• Integration Testing
• System Testing
• Acceptance Testing

5) Software Environment

• I-Tier or Standalone Applications
• II-Tier or Client/Server Applications
• III-Tier or Web Applications
• N-Tier or Distributed Applications

6) Test Types

• Functional Testing
• Non-Functional Testing
• Structural Testing
• Re & Regression Testing

7) Test Design Techniques

a) Black box Techniques

• Equivalence Partitioning/ Equivalence Classes (EP/EC)
• Boundary Value Analysis (BVA)
• Decision Table Testing
• State Transition Testing
• Use Case Testing

b) White box Techniques

• Statement Testing
• Decision Testing
• Condition/Multi Condition Testing
• Mutation Testing

8) Testing Process (STLC)

• Test Strategy
• Test Planning
• Configuration Management
• Risk Analysis
• Test Design (Test Scenarios, Test Cases and Test Data)
• Test Execution
• Defect Reporting & Tracking
• Status Reporting
• Test Closure

9) Informal Testing

• Exploratory Testing
• Error Guessing

10) Quality Standards for Software Testing

• ISO Standards
• IEEE Standards
• CMM/CMM (I) Process Guidelines

VII) Domain Knowledge

Domain means an area, IT industry point view it is a project’s business area, Example: BFSI (Banking Financial Services and Insurance), ERP, ECommerce, Healthcare, Telecom and Retail Market etc…

Domain knowledge is mandatory for Software Testes in order to understand the Application Functionality, you must familiar with at least 2 or 3 domains.

VIII) Test Automation Using Selenium

Selenium’s Tool Suite

i) Selenium IDE
ii) Selenium RC
iii) Selenium WebDriver
iv) Selenium Grid

Java for Selenium

A) Java Fundamentals

1) Comments in Java
2) Java Data Types
3) Modifiers in Java
4) Java Variables
5) Operators in Java
6) Java Conditional Statements
7) Java Loop Statements
8) String Handling in Java
9) Input and Output Operations
10) Java Arrays
11) File Handling in Java
12) Working with Excel
13) Working with Databases
14) Java Built in Methods
15) User defined Methods in Java
16) Constructors in Java
17) Java Exception Handling

B) Java Object Oriented Programming

1) Java Interfaces
2) Inheritance
3) Polymorphism
4) Abstraction
5) Encapsulation

Selenium WebDriver

1) Selenium WebDriver Environment Setup
2) Web Elements and Operations
3) Element Locators
4) Selenium WebDriver Commands / Methods
5) Handling Elements
6) Cross Browser Testing
7) Writing Selenium Test Cases
8) Batch Testing
9) Data Driven Testing
10) Page Object Model (POM)
11) Synchronization in Selenium WebDriver

TestNG Testing Framework in Selenium

1) Create Multiple Test Cases and Execute Test Suite
2) Prioritizing Test Cases
3) Executing multiple Programs / Classes using XML file
4) Grouping Test Cases
5) Parallel Test Execution
6) Data Driven Testing using DataProvider

IX) Test Automation (Functional) Using UFT / QTP

UFT / QTP Tool Fundamentals & Features

1) UFT Test Process
2) Key Elements of UFT, Recording & Running
3) Object Repository
4) Object Identification Configuration
5) Descriptive Programming
6) Checkpoints & Output Values
7)Parameterization, Synchronization
8)Actions, Environment Variables
9)Transaction Points, Adding Comments
10)Debugging Tests, Batch Testing
11)Recovery Scenarios, Quality Cente
12) Integration with Quality Center / ALM

VBScript for UFT (formerly QTP)

1) Data Types, Variables, Constants
2) Comments,Operators
3) Flow Control (Conditional Statements)
4) Flow Control (Looping through the Code)
5) Functions (Built-In & User Defined)
6) File System Operations
7) Excel Object Model
8) Database Object Model
9) Regular Expressions
10) Error Handling

Automation Framework Implementation
1)Basic Framework
2)Data Driven Framework
3)Keyword Driven Framework
4)Hybrid Framework

X) Test Automation (Performance) Using LoadRunner

1. Planning an Effective Load Test

• Core Activities of performance testing
• Key types of Performance testing
• Nonfunctional requirements gathering
• LoadRunner Installation and Licensing policy discussion
• LoadRunner components and Protocol discussion
• Manual load test vs. LoadRunner solution

2. Recording

• Structure the script based on planning
• Use VuGen to record a Vuser script for Web
• environment
• Describe HTML and URL recording levels
• When to use HTML and/or URL recording levels

3. Playback

• Identify the appropriate Web Run-time settings to set
• Configure Web Run-time settings to run the script
• Verify Vuser script functionality in VuGen

4. Actions and Transactions

• Create multiple actions in a Vuser script
• Configure actions to achieve load testing goals
• Add Transactions to measure response times

5. Parameters

• Solve playback problems by parameterize the script

6. Checkpoints

• Identify visual cues to check for during load testing
• Add Text Checkpoints during and after recording

7. Manual Correlation

• Distinguish between available correlation methods
• Correlate a script manually using correlation
• functions

8. Correlation During and After Recording
• Correlation after recording
• Use the Scan for correlation tool
• Correlate data during recording
• Define rules for correlation in Recording Options
• Enable correlation during recording

9. Introduction to Scenarios
• Explain elements that make a LoadRunner scenario
• Identify different types of scenarios
• How to choose the scenario
• Present the basic steps for creating a scenario

10. Using Run-Time Settings
• Script and Scenario Run-time settings
• Configure Run-time settings in the Controller

11. Scenario Execution

• Prepare for a scenario run
• Identify techniques to efficiently run a scenario

12. Scheduling Scenarios

• Scheduling by group and by scenario
• Prepare VuGen User (Vuser) initialization
• Configure duration scheduling
• Configure scenario ramp up and ramp down

13. Analysis

• Analysis
• Adding graphs in Analysis and creating Reports
• Performance Counters for O/S and Database
• Performance Center overview

Follow me on social media: