Software Testing

About Software Testing

Software Testing is the process of executing an application with an intent to identify the bugs present in the application. The key objective of Software Testing is to ensure that the application meets the requirements specified in the requirements document.Manual Testing Training

Manual testing is a type of testing that is performed manually by the tester whose primary objective is to identify the bugs and other unpredictable performance. Manual testing doesn’t involve usage of any tools. Manual testing consists of various phases which includes Unit testing, Integration testing, System testing and User Acceptance testing.

Manual Testers typically write Test Cases, Execute the Test Cases and log the defects they identify in the defect tracking tools like JIRA or Bugzilla.

 

What is the Purpose of  software testing?

It is used to:

  • Find out bugs and defects, if any!
  • Make sure that the software, application, website is bug free.
  • To prevent defects
  • Gain confidence that your product is bug free and can be used by customers flawlessly
  • Ensuring your product’s quality
  • Increase customer loyalty and retention
  • Ensure accurate and reliable usability

 

What are the Objectives of software testing?

Testing is the process of executing a program with the intent of finding errors. Software testing is best defined in terms of testing objectives. … Testing objectives need to be stated in a form that testers can understand and achieve.

 

What are the Prerequisites of software testing?

A requirement needs to meet several criteria to be considered a “good requirement” [HUL05][LEF03] [LUD05][YOU01]. Good requirements should have the following characteristics: Unambiguous. Testable (verifiable) Clear (concise, terse, simple, precise.

 

Scope of software testing

Automation testing would be a mandatory skill that would be expected of any software tester.

Manual testing would prevail but the number of dedicated manual testers would reduce.

More and more projects would test their application on the cloud.

Continuous integration would be mandatory.

Most QA would be Agile testers and would even own the role of DevOps

Mobile testing practices would experience an immense spike

 

Certificates software testing

ISTQB Certified Tester Advanced Level – Test Manager.

ISTQB Certified Tester Advanced Level – Test Analyst.

ISTQB Certified Tester Advanced Level – Technical Test Analyst.

ISTQB Certified Tester Advanced Level

 

Software Testing Course Outline

Software Lifecycle Models

Waterfall model
V model
Incremental model
RAD model
Agile model
Iterative model
Spiral model
Introduction To Testing

Why Testing
STLC – Software Testing Life Cycle
Verification and Validation
Desktop, Web and Mobile Applications Testing
Test Strategy & Test Planning With A Live Project

Working on Test Strategy
Preparing Test Plan document
Clarification Document
Getting Familiar with Test Design
Preparing A Test Case Document

Boundary Value Analysis (BVA)
Equivalence Partitioning (EP)
Decision Table Testing
State Transition Diagrams
Use Case Testing
Statement Coverage
Branch Coverage
Path Coverage
LCSAJ Testing
Executing Test Cases

Test Reporting

Defects Tracking Mechanism And Life Cycle

Defect Categorization

Guidelines On Deciding The Security Of A Defect
Guidelines On Deciding The Priority Of Bug
Cost Of Quality

Defect Management With Tools Like Bugzilla

Software Testing Techniques

Static Testing
Dynamic Testing
White Box Testing/ Structure Testing
Black Box Testing
Types Of Testing – Functional Testing:

Unit Testing
Integration Testing
Smoke Testing
System Testing
Regression Testing
User Acceptance Testing
Globalization Testing
Localization Testing
Types Of Testing – Non Functional Testing:

Performance Testing
Compatibility Testing
Data Migration Testing
Data Conversion Testing
Security/Penetration Testing
Usability Testing
Install/Un-Install Testing
Real-Time Testing Project:

Starting With Automation Testing:

Why Test Automation
Automation Feasibility Analysis
Planning And Design
Test Environment Setup
Automation Script Generation
Test Execution
Defect Analysis & Fixing
Cost Involved In Automation
Automation Applied To Different Types Of Testing
Automation Testing

Test Automation is executed by the tester to test the software by using a tools like Selenium or UFT. Automation Testing is especially practiced to re-run the test cases or test scripts that are performed frequently, in a quicker amount of time. Automation testing can be done with various software’s which includes Selenium and QTP/UFT.
Syllabus For Automation Testing With Selenium:

Automation Introduction
Core Java
Selenium IDE
Selenium RC
Selenium Webdriver
Testing Frameworks
Keyword driven Framework
Data driven framework
Hybrid Framework

Globalization Testing
Localization Testing
Selenium Grid
Continuous Integration with Hudson