:: Vaneera Group of Companies ::

AN ISO 9001:2008 CERTIFIED COMPANY     info@vaneera.com     +91 257 222 5522

Careers   |   Contact

Testing Services

Why Outsource Software Testing?

Every Software Application Development Project must incorporate Software Testing Phase. Changing requirement too often causes speedy Software Development Life Cycle which results in hazards of releasing an application which is not stable or we can say that not a Market-Ready. The cost of fixing bugs which is not a Market-Ready can equal to 50% of the total Project cost. When you engage an independent Team of QA Professionals to conduct Testing activity, irrespective of the Project’s scope and frequency of testing needs, it can save your precious time and money. You can save your business money and hassle by outsourcing your QA needs to the Professional Staff at Vaneera Hi-Tech.

Reduced Cost

Your direct staffing expenses are reduced when you choose Vaneera Hi-Tech. When you have top Quality Product, Level of Customer Satisfaction also goes high.

Enquire with Us



  (Max Length : 500 Character(s))
     

What is Software Testing?

Software Testing is a process of evaluating the functionality of a Software Application to find any Software Bugs. It checks whether the developed Software met the specified requirements and identifies any defect in the Software in order to produce a Quality Product.

It is also stated as the process of verifying and validating a Software Product. It checks whether the Software Product:

  • Meets the Business and Technical Requirements that guided its Design and Development
  • Works as per the Requirement
  • Can be implemented with the same characteristics

Software Testing Life Cycle

Software Testing Life Cycle (STLC) defines a series of activities conducted to perform Software Testing. It identifies what test activities to carry out and when to accomplish those test activities. In the STLC process, each activity is carried out in a planned and systematic way and each phase has different goals and deliverable.

The different phases of Software Testing Life Cycle are:

Requirement Analysis


During this phase, Test Team studies the requirements from a testing point of view to identify the testable requirements.

The Test Team may interact with various stakeholders (Client, Business Analyst, Technical Leads, and System Architects etc.) to understand the requirements in detail.

Requirements could be either Functional (defining what the Software must do) or Non- Functional (defining System Performance / Security Availability).

There are various factors which impact the identification of Test Conditions:

  • Levels and Depth of Testing
  • Complexity of the Product
  • Product and Project Risks
  • Software Development Life Cycle Models involved
  • Test Plan Management
  • Skills and Knowledge of the Team
  • Availability of the Stakeholders

Entry Criteria

The following documents are required:

  • Requirements Specification
  • Application Architectural / Application Design Document
  • User Acceptance Criteria Document

Activities

  • Identify types of Tests to be performed
  • Gather details about Testing Priorities and Focus
  • Prepare Requirement Traceability Matrix (RTM)
  • Identify Test Environment details where Testing is supposed to be carried out
  • Prepare the list of questions or queries and get resolved from Business Analyst, System Architect, Client, Technical Manager/Lead etc.
  • Make out the list of all Types of Tests to be performed like Functional, Security, and Performance etc.
  • List down the Test Environment details where Testing Activities will be carried out
  • Checkout the Automation Feasibility Analysis if required & prepare the Automation Feasibility Report

Deliverables

  • RTM(Requirement Traceability Matrix)
  • List of questions with all answers to be resolved from Testable Requirements
  • RUD (Requirements Understanding Document)
  • Automation Feasibility Report. (if applicable)

 

Test Planning


Typically, in this stage, a Senior QA manager will determine Effort and Cost Estimates for the Project and would prepare and finalize the Test Plan. In this phase, Test Strategy is also determined. It defines the Objective & Scope of the Project.

Test Plan is one of the most important steps in Software Testing Life Cycle. The steps involved in writing a Test Plan include:

  1. Analyse the Product
  2. Design Test Strategy
  3. Define Test Objectives
  4. Define Test Criteria
  5. Resource Planning
  6. Plan Test Environment
  7. Schedule & Estimation
  8. Determine Test Deliverable

Entry Criteria

  • Updated Requirements Document
  • Test Feasibility Report
  • Automation Feasibility Report

Activities

  • Preparation of Test Plan/Strategy Document for various types of Testing
  • Test Tool Selection
  • Test Effort Estimation
  • Resource Planning and determining Roles and Responsibilities
  • Training Requirement

Deliverables

  • Test Plan /Strategy Document
  • Test Effort Estimation Document
  • Risk Mitigation Document

 

Test Case Development


This phase involves the Creation, Verification and Rework of Test Cases & Test Scripts. Test Data, is identified/created and is reviewed and then reworked as well.

Here is the step by step guide on how to develop a good Test Case:

  • Test Cases need to be simple and transparent
  • Create Test Case with end user in mind
  • Avoid Test Case repetition
  • Do not assume functionality and features of your Software Application
  • Ensure 100% coverage of Software Requirements
  • Name the Test Case id such that they are identified easily while tracking defects
  • Implement Testing Techniques
  • The Test Case you create must return the Test Environment to the pre-test state
  • The Test Case should generate the same results every time
  • Your peers should be able to uncover defects in your Test Case Design

Entry Criteria

  • Updated Requirements Document
  • Test Plan

Activities

  • Create Test Cases, Automation Scripts (If applicable)
  • Review and baseline Test Cases and Scripts
  • Create Test Data (If Test Environment is available)
  • Take Sign Off of the Test Cases and Scripts

Deliverables

  • Test Cases/Scripts
  • Test Data
  • Detailed Test Condition Document
  • Test Coverage Metrics

 

Test Environment Setup


Setting up the Test Environment is vital part of the Software Testing Life Cycle. Test Environment decides the Software, Hardware and Configured Network Conditions under which Product is tested. Test Environment Set-Up is one of the critical aspects of testing process and can be done in parallel with Test Case Development Stage. Test Team may not be involved in this activity if the Customer/Development Team provides the Test Environment in which case the Test Team is required to do a readiness check (Smoke Testing) of the given Environment.

The Test Environment involves setting up of distinct areas like:

  • Set-up of Test Server – Every Test may not be executed on a Local Machine. It may need establishing a Test Server, which can support Applications
  • Network – We need to set-up the Network as per requirements
  • Test PC Set-up – We need to Set-up different Browsers/Operating Systems for different testers
  • Bug Reporting – Bug Reporting Tools should be provided to testers
  • Creating Test Data for the Test Environment – Many companies use a separate Test Environment to Test the Software Product. The common approach used is to copy Production Data to Test

Entry Criteria

  • Updated Requirements Document
  • Test Cases/Scripts
  • Test Data
  • Detailed Test Condition Document

Activities

  • Understand the required Architecture, Environment Set-up and prepare Hardware and Software Requirement List for the Test Environment
  • Set-up Test Environment and Test Data
  • Perform Smoke Test on the Build

Deliverables

  • Environment ready with Test Data Set-up
  • Smoke Test Results

 

Test Execution


The next phase in Software Testing Life Cycle is Test Execution. Test Execution is the process of executing the code and comparing the expected and actual results. When Test Execution begins, the Test Analysts start executing the Test Scripts based on Test Strategy allowed in the Project , Log Defects in case of any discrepancy. Simultaneously fill your Requirement Traceability Matrix to track your progress.

Entry Criteria

  • Updated Requirements Document
  • Test Cases
  • Test Scripts
  • Test Data
  • Detailed Test Condition Document

Activities

  • Execute Test Cases as per Plan
  • Document Test Results, and Log and Assign Defects for Failed and Blocked Test Cases
  • Map Defects to Test Cases in RTM (Requirement Traceability Matrix)
  • Retest once the Defects are fixed
  • Track the Defects to Closure

Deliverables

  • Completed RTM with the Execution Status
  • Test Case Execution Report
  • Test Cases updated with Results
  • Defect Reports

 

Test Cycle Closure


The final phase of the Software Testing Life Cycle is Test Cycle Closure. It involves calling out the Testing Team Member meeting & evaluating cycle completion criteria based on Test Coverage, Quality, Cost, Time, Critical Business Objectives, Software, and taking lessons from the current Test Cycle.

A Test Closure Report by the Test Lead is published after accomplishing the Exit Criteria and finishing the Testing Phase. It follows a standard format such as:

  • Test Summary Report
  • Identifier
  • Test Summary
  • Variances
  • Comprehensiveness Assessment
  • Summary of Results
  • Evaluation
  • Summary of Activities
  • Approval

Stages of Test Closure:

The process of Test Closure is implemented with the assistance of six important stages such as:

  1. Check Planned Deliverable – The Planned Deliverables that will be given to the Stakeholder of the Project are checked and analysed by the Team.
  2. Close Incident Reports – The Team checks that the Planned Deliverables are delivered and validates that all the incidents are resolved before the culmination of the Process.
  3. Handover to Maintenance – After resolving Incidents and closing the Incident Report, the Test-wares are then handed over to the Maintenance Team.
  4. Finalize & Archive Test-ware / Environment – It involves finalizing and archiving of the Test-ware and Software like Test Scripts, Test Environment, Test Infrastructure, etc.
  5. Document System Acceptance – It involves System Verification and Validation according to the strategy outlined.
  6. Analyse Best Practices – It determines the various changes required for similar Projects and their future release.

Entry Criteria

  • Test Closure Condition
  • Test Summary Report

Activities

  • Evaluate Cycle Completion Criteria based on Time, Test Coverage, Cost, Software, Critical Business Objectives, Quality
  • Prepare Test Metrics based on the above Parameters
  • Document the learning out of the Project
  • Prepare Test Closure Report
  • Qualitative and Quantitative Reporting of Quality of the Application to the Customer
  • Test Result Analysis to find out the Defect Distribution by Type and Severity

Deliverables

  • Test Summary Report
  • Test Closure Report
  • Test Metrics
  • Lessons Learned Document