Thursday, July 25, 2013

Testing Methods

Testing Methods


Static & Dynamic Testing

Static testing involves Verification whereas Dynamic testing involves validation. Together they helps to improve software quality.
Under Static Testing code is not executed. Rather it manually check Codes, Requirement documents & design documents to find errors. The main objective of Static Testing is to improve quality of products by finding error in early stages of development cycle. It’ s also called Non-execution technique or Verification Testing.
Static Testing is done at the initial phase of STLC ( Software Testing Life Cycle). The work documents may include the following:
·         Requirement Document
·         Design Document
·         Source Code
·         Test Plans
·         Test Cases
·         Test Scripts
·         User Document
Under Dynamic Testing code is executed. It checks functional behavior of the system, memory usage and overall performance of the system. The main objective of Dynamic Testing to confirm whether the product meet the requirement or not. It’s also called Execution technique or Validation Testing.
Dynamic Testing Execute the software and Validates the output with the expected outcome. It’s performed at any stages of testing and it can be either Black box or White box testing.

Testing Techniques used for Manual Testing:


1.      Informal Reviews – Just Review the document and give some informal comments on it
2.      Technical Review – Technical specification of the documents and standards followed
3.      Walkthrough – Author explains his product to the team
4.      Inspection – Formal review to find defects
5.      Static Code Review – Systematic review of the software source code without executing the code

Testing Techniques used for Dynamic Testing:

1.      Unit Testing – Individual units or modules are tested by developers
2.      Integration Testing – Individual modules are grouped together and tested by the developers
3.      System Testing – Testing performed on the whole system by checking  whether the system requirements 

Monday, July 22, 2013

Introduction: Software Testing


Software Testing

Testing is an integral part of Software development cycle. Depending on the testing method employed , testing can be employed at any phase of the software development cycle.
Software testing is an investigation conducted to check the quality of the product or service under test Or, it involves any activity to evaluate the capability of a program or system and determining whether it meets the requirement or not.
Test techniques include the process of executing a program or application with the intent of finding Software bugs (errors or other defects). Testing usually performed for two purposes, To improve quality and for Verification and Validation.
Software testing can be stated as the process of validating and Verifying that a computer program/application/product:

  •  Meets its requirement
  • Works as expected
  • Can be implemented with the same characteristics
  • Satisfies the need of Stake holders

We cannot measure the quality directly. Quality has three sets of factors to make quality visible- Functionality, Engineering & Adaptability

Functionality
Engineering
Adaptability
Correctness, Reliability, Usability, Integrity
Efficiency, Testability, Documentation & Structure
Flexibility, Reusability & Maintainability