top of page

What is Software Testing?

Software testing is the process of executing a program / application under positive  and negative conditions by manual or automated means. It checks for the :-

  •  Specification

  •  Functionality

  •  Performance

Why Software Testing ?

Software Testing is important as it may cause mission failure, impact on operational performance and reliability if not done properly.

Effective software testing delivers quality software products satisfying user’s requirements, needs and expectations.

Who should test?

  • Developer

    • Understands the system

    • But,will test gently

  • Independent Tester

    • Must learn system

    • But,will attempt to break it

What is an “Error”,”Bug”,”Fault” and “Failure”?

A person makes an Error
That creates a fault in software
That can cause a failure in operation

Error : An error is a human action that produces the incorrect result that results in a fault.
Bug : The presence of error at the time of execution of the software.
Fault : State of software caused by an error.
Failure : Deviation of the software from its expected result. It is an event.

Who is a Software Tester?

Software Tester is the one who performs testing and find bugs, if they exist in the tested application.

The Testing Team

Program Manager

  • The planning and execution of the project to ensure the success of a project minimizing risk throughout the lifetime of the project.

  • Responsible for writing the product specification, managing the schedule and making the critical decisions and trade-offs.

QA Lead

  • Coach and mentor other team members to help improve QA effectiveness

  • Work with other department representatives to collaborate on joint projects and initiatives

  • Implement industry best practices related to testing automation and to streamline the QA Department.

Test Analyst / Lead

  • Responsible for planning, developing and executing automated test systems, manual test plans and regressions test plans.

  • Identifying the Target Test Items to be evaluated by the test effort.

  • Defining the appropriate tests required and any associated Test Data.

  • Gathering and managing the Test Data.

  • Evaluating the outcome of each test cycle.

Test Engineer

  • Writing and executing test cases and Reporting defects.

  • Test engineers are also responsible for determining the best way a test can be performed in order to achieve 100% test coverage of all components.

Importance of Testing In SDLC

  • SDLC stands for Software Development Life Cycle. Every software has to go through a development process. Software development methodologies are used for the computer based information systems. The growth of the information has to pass through various phases/ stages, these stages are known as System Development Life Cycle (SDLC).

    • Requirement

    • Analysis

    • Design

    • Coding

    • Testing

    • Implementation

    • Maintenance

Requirements

  • This is the first phase/stage of SDLC. In this stage, the required informations are gathered from the customer. The Analyst makes a survey by collecting all the available information needed for the system elements and allocation of the requirements to the software.

Analysis

  •  In this phase, the system engineer analyze the requirement for the proposed system. From the available information, the system engineer develops a list of use cases and system level requirement for the project. With the help of key user the list of use case and requirement is reviewed. Refined and updated in an iterative manner until the user is satisfied that it represents the essence of the proposed system.

Design

  • The design is the process of designing exactly how the specifications are to be implemented. Analysis and design are very important in the whole development cycle. Any fault in the design could effect the product or could be very expensive to solve in the later stage of software development.

Implementation or Coding:

  •  In this section, only developers are involved for coding or programming.

Testing

  • Once the coding is done, the analyst go through it and test the system for the product requirements.

Maintenance & Support

  •  This stage plays a major role to the software product. After releasing of the product, customers or clients give their feedback with respect to the product performance and requirements. If it is found any bug at any time then the product will go for the maintenance.

© 2015 Thirumurugan

bottom of page