What is Testing ?


A process in which we do comparision between expected & Actual Behavior.

Why testing is done(What is Objective of Testing ?)

>To find defect.

>To make sure software is in good quality.

>to check it is meeting customer expectation.

Adverse effects of Defective Software ?


1.Loss of Reputation

2.Loss of Business 

3.Loss of Time

4.Loss of Life

Objective of Testing:

Tester's Objective:

To find as many as possible defects & get them fixed from developer(asap)-followUp.

Customer's Objective:

To check if software is fullfilling business need or not

Why seperate testers are required ?

To avoid auther biasness(attachment)

Independant Testing : Testing done by any other person who is not written code

Low Independance Testing: Testing done by auther only

High Independance Testing: Testing done by seperate team

   or person who is not author.


Software Development Life Cycle(SDLC):


1.Requirement Gathering & Analysis:


Requirement Gathering:

>Requirement from customer is collected/gathered

>BA(Business Analyst) does this activity

>BRS(Business Requirement Specification) document is developed here.

Requirement Analysis:

>Every requirment is Checked against some parameter as below

-is requirement correct ?

-is requirement complete ?

-is requirement feasible/actionable ?

-is requirement testable ?

Website should open very fast ?

(How much fast ?)

-Time is not mentioned

-Speed of Net(1 /2/3 mbps or 2G/3G/4G) etc.

>Sr. BA (or System Analyst) does this activity

>SRS document is made

SRS have technical information type of object, size, numeric or alpha numeric information

BRS                    SRS

1.It is non-technical Document 1.It is technical Document

2.Can be referred by everyOne 2.Only Technical Person

Types of Requirement:

1.Functional Requirement

What the SOftware should do ?

1.WhatsApp should be able to do registration

2.WhatsApp should be able to do backup

3.blocking someOne

4.unblocking someOne 

2.Non-Functional Requirement

Requirements related to color, font, size, allingment etc.

2.Planning & Design

Planning : Failing to Plan means Planning to Fail

> It is Activity in which we decide


-Roles & Responsibility (Who is incharge of Which Actity).

-Risk Analysis

Similar to above activity is done so that Project can be completed on time

>Done by Project Manager & Project Plan document is made.


>It is bluePrint/architecture/template of Software.

>Types of Design Document

1.HLD (High Level Design)

>System level Design which describes complete flow of application.

> Use Case Diagram of ATM Machine.

2.LLD (Low Level  Design)

>Module Level/Unit Level design which describes flow of indivisual module.

>It is responsibility of Software Designer

3.Coding (implementation):

>Done by Programmer

>Programmer does coding(writes programmes) in selected language

>Source Code document is developed Here.


>It is responsibility of software tester/ software test engineer.

>Comparision between specified requirement(srs/brs) & actual implemented requirement in application. 

>Defect reporting also happens here.

>Documents like test case, test suite(group of Test Cases), test scenario,defect report execution log(number of test cases executed, number of test cases passed, number of test cases failed ) etc.

Step Expected Result Actual Result

1.Enter userName Entered UserName should display

2.Enter password Encypted Password should display

3.Click on Login Home Page should display

Test Case is document which tells steps of testing with expected result & actual result as a column.

Test Execution : If tester is following steps mentioned in test case on software


>A Team is framed by Project Manager named as Deployment/Installation team which is group of Dev & tester.

>They visit client side & deploy /install product

>After installation once again Test Suite run for Checking 'is everything is fine ?'

>Execution log, proof of Software acceptance, Defect Reports etc.


>A team is framed by Project Manager named as Maintenance Team which is group of Dev & 


>It is G & W Period

>If any issues are faced by customer then Maintenance Team is responsible for this 

>Two Kinds of Changes happens

1.Corrective Changes

2.Adaptive Changes

A defect is found > report to developer > after analysis developer will do some changes in code to make software correct  >>>> Correct Changes

Changes done in code to enhance its capability(adding some new requirement) > Adaptive Change.

Just Imagine: 6 Month Project


1M  > RGA

1M  > D

2M  > C


1M  > Testing

Series of Activities for Tester > STLC (Software Testing Life Cycle)

STLC is a Part of SDLC. 

Methods of Testing:


1.Black Box Testing/Functional Testing / Specification Based Testing/Closed Box Testing: 

>Giving the input to the System & then Checking the output which should be according to input without knowing internal Structure/Coding of Application

>Done by Software Tester

2.White Box Testing/Open Box/ Glass Box/ Structure Based

>Giving the input ti the System & Then Checking the output with knowing internal Structure of Application.

>Done by Developer


Softwarer Testing Life Cycle:


1.Test Planning:

>Testing is mini project hence Proper planning is needed to have effective(Good) outcome.

>Test Manager is responsible for Test Planning

>And Test Plan is Created

>Assigning roles & responsibility(Who is incharge of Which Activity)


>Scope of Testing(How much testing should be done).

>Risk Analysis

>Decides Exit Criteria(Criteria of Stopping Testing).


2.Test Monitoring & Controling

>It is process in which manager continuously monitors/checks the activities of Tester's

So that if any deviation  is found, manager should be able to do some controlling actiity to keep project on track.

>The things that can be measured that can be controlled also, hence Manager decides some matrics for monitoring testing activities. For Example:

-number of Test cases written/day

-number of Test cases written/tester

-number of Test cases executed/day

-number of Test cases executed/tester

-number of Test scripts written/day

-number of Test scripts written/tester

-number of defects reported /day

-number of defects reported /tester

3.Test Analysis

>Understanding SRS/ BRS

>This activity happens to get clarity about requirements & then think of Testability point of view.

4.Test Design

>Choosing Test Scenario (What to Test ?)

>Writting of High Level Test Cases(End to End Test Case) for High Priority(important) features.

>Done by Software Tester

5.Test Implementation

>Test Scripts/procedure are written if you are doing automation Testing.

>Set up of Test Environment (Configuration of Machine with OS & Software which is needed)

>Writting Low level(Module Level) Test Cases(Means trying various combinations of inputs)

>Here, Automation Test Engineer , System Engineer & Manual Tester are responsible 

6.Test Execution (Overlapping of SDLC's Testing Phase)

-Following Steps mentioned in Test Cases on Software

-Test Execution can happen by automation Testing or by Manual Testing.

-Any deviation between expected & Actual will be termed as Defect & 

it will be reported to developer

-Then Developer will resolve(fix) problem & after fixing tester again check 

defect is removed or not?

-execution log(number of test cases executed, number of test cases passed, number of test cases failed ) document is created here.

7.Test Clouser | Completion Activity:

>Store(for later reuse) & Share(for proof of testing) Test Artifacts(Document)

>Store & Share learning's(Experience)

Test Cases : It is document which is having series of steps of Software Testing

Test Execution : Following Steps mentioned in Test Cases on Software

Test Execution Can Happen two way:

1.By Human : If some human(tester) is following steps mentioned in testCase manually then it is      called as Manual Testing.

2.By Tool/SW:

If SOme tool is following steps mentioned in testCase automatically then it is called as automation Testing.

For Automation testing test case need to be converted into language of Tool

Test Cases > Convert into language of Tool > Test Script(Java in Case of Selenium)

Testing & Debugging:



>A process in which we do comparision between expected & Actual Behavior

>Done by Tester

>Defect is found in this process.

Defect is found & then It is reported to developer


>Developer will try to find root cause(might be wrong code) of defect, isolated problem

& then do some changes(corrective changes) in source code for fixing problem.

>In Short, Debugging removes Defect.

>It is Developers activity 


RG & A



------------- Development


------------- Testing




Difference between Expected & Actual Behavior/result will be called as Defect.

Error|Mistake: An incorrect human action that mostly developer does.

Defect : During Testing if any difference between expected & actual behavior is there.

Failure: Defect is in live phase(defect is visible to end user.)

Error|Mistake > Defect|Bug > Failure

Types of Defects:


1.Functional Defect: Defect in Functional Requirement

Wrong :In Specificaton(SRS|BRS) requirement is mention & requirement is present in   software also but it is not working as per expected.

Missing :In Specificaton(SRS|BRS) requirement is mention & requirement is not present in software.


Extra :In Specificaton(SRS|BRS) requirement not mention but Software is having that feature(Customer did not asked but still we are giving)

2.Non-Functional Defect: Defect in non-functional requirement 

Defects in Color, Font, Size, Allignment, speed related issue etc.


Wrong: When ever voice call happens even if opposite user is free then also busy tone        is coming.

Missing: Broadcast Message is avaialble in WhatsApp

Extra : WhatsApp Pay feature is available but it is not available in SRS/BRS

Non-Functional Defect:

Dark Blue Color for background if Choosen then it is turning to Sky Blue Color.  

Principles of Testing:


1.Testing shows Presence of Defect, not thier absence

Means With testing I can prove that there is defect in software but if I do 10 years of Testing then also I can not say my software is 100% defect free.

2.Exhaustive(Complete) Testing is not feasible except for trivial(small) cases.

Checking with all possible combinations of input is not possible since it will take 

huge time & resources. for Testing

1.Do Complete Testing

2.Do Partial/Important feature Testing

3.Do no testing


3.Early testing:

Testing Activities should be started as soon as possible (from 1st Phase only) to avoid  defect Multiplication from one phase to another Phase.

R > Correct Requirement + 1 Incorrect Requirement

D > Correct Design      + 2 Incorrect Design

C : Correct Code       + 4 Incorrect Code 

T >



If By Performing Testing I can not say my software is 100% bug free then why should I do testing ?? 

Ans:By Testing Failure ratio/ probability is minimized



QA (Quality Assurance):

Checks Process is followed or not

QC (Quality Control):

Checks the End Product

QMS(Quality Management System):

Makes the Rule/Process

Test Plan should be according to IEEE 829 format

Good Tea:

Guidelines for Making Good Tea: (Making Rule/Process)


1.Take 2 cups of Water in some vessel

2.Add tea powder & Milk

3.Add Sugar

4.Boil for 10 min

Sister(Monitors Process followed or not) While making tea

Father (Taste the Tea ..That is End Product)