Introduction to Testing and Tester


Introduction

In this article we are going to learn about testing and the person who is responsible for testing; that is, the tester.

Testing

Testing is a process of confirming that the product that has been manufactured by programmers is a quality product and to ensure that the manufactured product is working according to the specification and satisfying the customer needs.

Objectives of testing

  1. Identify Defects
  2. Ensure Product correctness
  3. Quality Improvement of the product
  4. To make sure it works according to the specifications
  5. To reduce the failure cost
  6. To reduce the risk
  7. To build the confidence in to software
Responsibilities of a tester

There is a misconception about the responsibilities of a tester that he/she fixes the defects. The tester's initial responsibilities are to:
  1. Design and develop Test cases
  2. Execute test cases
  3. Defect isolation and defect reporting
NOTE:- QA testers don't change anything. They just report that it should be changed.

Characteristics of a tester
  1. Logical and analytical capability.
  2. Creative.
  3. Ability to take the point of view of the customer.
  4. Test to break attitude.
  5. Must be aware of the techniques and tools.
  6. Must possess the domain knowledge. (Insurance, Airline).
  7. Relentless - keep trying.
test team.jpg

These characteristics are required to be a productive tester.


When to stop testing

When the test manager is confident that the application will perform as expected in the production environment. This is derived by analysis conducted on:

  1. Deadlines (release deadlines, testing deadlines, etc.) are met
  2. Test cases completed with certain percentage passed
  3. Test budget depleted
  4. Coverage of code/functionality/requirements reaches a specified point
  5. Meantime between failures
  6. Risk associated with continuing to test
  7. Percentage of coverage achieved
  8. Number of open defects and their severity
Complete Testing is Impossible
  1. There is nearly an infinite number of paths through any non-trivial program.
  2. There is a virtually infinite set of combinations of data that you can feed the program.
You can't test them all
  1. Therefore, your task is to find bugs; not to find all the bugs.
  2. You want to find as many bugs as possible.
  3. Find the most serious bugs.
  4. Find bugs as early as possible.
  5. Your challenges will require judgement, trade-offs and efficiency.
 


Similar Articles