You are on page 1of 14

Testing Processes & Methodology

Testing Fundamentals

1
Testing Fundamentals

 Why Testing is performed?


 What is Testing?
 When do we start Testing activities?
 How do we do Test?
 Who does Testing?

 Testing principles
 Can Testing be done 100%?
 Myths for Testing
 Questions ???

2
Testing Fundamentals… Why?

Why Testing is performed?


To build confidence in the software under test
 prove that the software is correct
 demonstrate conformance to requirements
 find faults
 reduce costs

show system meets user needs
 assess the software quality
 Testing and Risk
 How much testing is enough

3
Testing Fundamentals… What?

What is Software Testing?


Per Computer Society ~ “Testing -- A verification method that
applies a controlled set of conditions and stimuli for the purpose
of finding errors. This is the most desirable method of verifying
the functional and performance requirements. Test results are
documented proof that requirements were met and can be
repeated. The resulting data can be reviewed by all concerned
for confirmation of capabilities.”
Testing software is operating the software under controlled conditions, to (1)
verify that it behaves “as specified”; (2) to detect errors, and (3) to
validate that what has been specified is what the user actually wanted ~
thereby producing quality
 Verification : Are we building the system right?
 Error Detection: Error detection is the ability to detect errors caused by
noise or other impairments.
 Validation : Are we building the right system?

Contd…
4
Testing Fundamentals… What?

Quality:
 Quality = customer satisfaction +delivered within time & budget +
conforms to requirements + less bugs + quality attributes
Quality Attributes:
 Completeness
 Conciseness
 Portability
 Consistency
 Maintainability
 Testability
 Usability
 Reliability
 Efficiency
 Security

5
Testing Fundamentals… When?

When do we start Testing activities?


Testing activities are performed in every phase of the SDLC:

 Requirement Phase – Test Planning


 Analyze Phase – Planning the Testing Strategies
 Design Phase - Test designing
 Build Phase - Preparing Test cases and test scripts
 Test Phase – Executing the Testing and Defect Management

6
Testing Fundamentals… How?

How do we …
Manual vs. automation

Manual Testing : Manual testing requires a tester to perform manual test


operations on the test software without the help of Test automation.
Automation Testing : Test automation involves automating a manual process
already in place that uses a formalized testing process

7
Testing Fundamentals… How?

Static Testing : Testing of a component or system at specification or


implementation level without execution of that software, e.g. reviews or
static code analysis.
Dynamic Testing : Testing to describe the testing of the dynamic behavior of a
Software. Validation of the Test execution.

Different types of Testing in brief:


 Unit Testing
 Component Testing
 Integration Testing
 Regression Testing
 System Testing
 User Acceptance Testing

8
Testing Fundamentals… Who?

Who should do Testing:


Developers – Unit Testing
Qualified Testers – Manual and Automation Testing
End Users / Customer – UAT
SQA – Static Testing

Who should NOT do testing:


???

9
Testing Principles

Testing Principles:
 Testing must be done by third party.
 The probability of the existence of more errors in a module or group of
modules is directly proportional to the number of errors already found.
 Should be planned before execution.
 Should conform/traceable to requirements.
 Pareto principle is applied ~ 80% problems are due to 20% causes
 Testing ‘small’ to ‘large’ concept.
 Exhaustive testing is not possible.

10
Can Testing be done 100%?????

Can we do 100% testing ??????

No. Absolutely not.

Testing effort is just transferred to the customer.

11
Myths for Testing

Myths:
Some Questions which may arise are:

Can we Prove software is Correct?


What find faults exactly mean?
Do we can say that Build Confidence means no Faults?

One more controversy we come across is


the fewer faults we find, the better the quality of the software?

finding few or no faults can mean one of three things:


good software, poor testing or both poor testing and poor software.

Without knowing independently about the quality of the testing, no justified


conclusions can be drawn about the quality of the software.

“You cannot have justified confidence in the quality of the software


unless you have confidence in the quality of the testing.”
12
Myths for Testing

13
Questions???

Questions???

14

You might also like