1. Introduction To SoftwareTesting

Software testing is the process of validating and verifying whether the software program works as expected.
  • Verification ( Are we doing the job right? ) is to check whether the software correctly implements the specified functionality
  • Validation (Are we doing the right job?) is to check whether the software is according to the client requirements
Error, Defect and Bug
  • A mistake in coding is called an Error
  • When this error is found by the testers it is called a defect or issue.
  • When this defect is accepted by the developers it is called a Bug.
Desktop Application and Web Application - Software Applications can be divided into two types (we will be asked to test these applications):
  • Desktop Applications - VLC player i.e. vlc.exe is a desktop application 
  • Web Applications - www.google.com is a web application
Software Requirements Specification (SRS) documents
Software specification documents will typically contain:
  • Requirements Specification - Which specifies what the software is required to do
  • Architectural Design SpecificationWhich describes the architecture of a design which implements the requirements
  • Detail Design Specification Which describes how each component in the software , down to the individual units, is to be implemented 
The levels of testing:
  • Level 1: Unit Testing is a process of testing the smallest testable parts of an application 
  • Level 2: Integration Testing is a process in which individual unit tested modules are combined and tested as a group
  • Level3: System Testing is a process of testing the system as a whole to verify the specified requirements
  • Level4: Acceptance Testing  is a black box testing performed on a system prior to its delivery

Test Design for bigger projects

Creating and writing test suites for testing software involves the following stages:
  • Stage 1:  Test Strategy is a high level document prepared by the Project Manager, which defines ‘Testing Approach’ to achieve Testing objectives (It is derived from the Business Requirements specification document)
  • Stage 2:  Test Plan is a document prepared by the Test Lead to describe 1) what to test?  2) How to test?  3) When to test?  4) Who should test?   (It is derived from the Software Requirements Specifications document)
  • Stage 3: Test Case is a document which consists of a series of test scenarios which are defined to verify the correctness of the application
  • Stage 4: Traceability Matrix defines the mapping between the customer requirements and prepared test cases to find out whether all the customer requirements are covered in the test cases.
Types of Testing will be explained in the next post.