Testing methodology

4,575 views 31 slides Oct 28, 2015
Slide 1
Slide 1 of 31
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31

About This Presentation

Testing methodology


Slide Content

By: Dina Hanbazaza

Outlines
Software testing is the
evaluation of a software
that is being developed,
to check its capability and
ability to deliver the
intended results.!
Introduction
Testing Process
Testing Methodology
Regression Testing

Introduction
At First Stage ---Testing is the process of executing a program
with the intent of finding errors
At last Stage ---Testing is the process of demonstrating that
errors are not present (after the completion of all bugs)
When you test a program, you want to add some value to it.
Adding value through testing means raising the quality or
reliability of the program. Raising the reliability of the program
means finding and removing errors.
Therefore, don’t test a program to show that it works; rather, you
should start with the assumption that the program contains errors
and then test the program to find as many of the errors as
possible.

Why Testing ?
To find and correct defects.
To check whether the User’s needs are satisfied.
To avoid user detecting problems.
Also to provide Quality Product.

Why does S/W have bugs ?
Miscommunication or No Communication
(That we are not clear about what an application should do or shouldn’t do)
Time Pressure
Programming Mistakes
Changing Requirements

Misunderstandings about Testing
Testing is debugging
Testing is not the job of a programmer
If programmers were more careful, testing would be
unnecessary.
Testing activities start only after the coding is complete
Testing never ends
Testing is not a creative task

Testing Process
We can divide the
activities within the test
process into the following
basic steps:
Test Planning
Test Analysis and
Design
Test Execution
Test Evaluating
and Reporting

Testing Process
Test Evaluating
-Analyze root
Causes of
defects
-Identify actions
-Write Test
Report
TestExecution
Perform
testing
Bug Fixing
Bug Tracking
(Re-test)
Test
Log
TestAnalysis & Design
SRS study
Create Test
Design
Review &
Approval
-Develop test
cases, test
scripts
-Prepare test
data
Test Planning
-Test Objective
-Test Schedule
-Resource Allocation
-Test Exit Criteria

Test Planning
Test Planning has following major tasks:
To determine the scope and risks and
identify the objectives of testing.
To determine the required test resources like people, test
environments, PCs, etc.
To schedule test analysis and design tasks, test execution
and evaluation.
To determine theExit criteria.

Test Analysis & Design
Test Analysis and Design has following major tasks:
To review theSRS (Software Requirement Specification)
to understand what the system should do.
To identify test conditions and requirements
To design Test Cases(success/failure criteria).
To design the test environment set-up and
identify and required infrastructure and tools.
To prepare the test data.

Test Execution
Test Execution has following major tasks:
To execute test following the Test Methodology.
To re-execute the tests that previously failed in order to confirm
a fix. This is known as confirmation testing or re-testing.
To log the outcome of the test execution and versions of the
software under tests. (Test Log)
To Compare actual results with expected results.

Test Evaluating and Reporting
This stephas the following major tasks:
To check the test logs against the exit criteria specified in
test planning.
To analyze root causes of defects and Identify necessary
actions.
To write a Test Report.

What are Software Testing Methodologies?
Software testing methodologies arethe different
approaches and ways of ensuring that a software
application is fully tested.
Software testing methodologies encompass in two parts:

Functional Testing
The functional testingpart of
atesting methodologyis
typically broken down into
four components -unit
testing, integration testing,
system testing and
acceptance testing –usually
executed in this order.
Acceptance Testing
System Testing
Integration Testing
Unit Testing

Unit Testing
Purpose:To verify that the component/module
functions work properly.
Check:
internal data structures
Logic
boundary conditions for input/output data
Method:White box testing
Done by:Developers

Integration Testing
Purpose:To verify that modules/components witch have
been successfully unit tested when integrated together
to perform specific tasks and activities work properly.
This testing is usually done with a combination
ofautomated functional testsand manual testing
Method:Black box testing
Done by:Independent Test Team

System Testing
Purpose:Verifies that all system elements work properly
and that overall system function and performance has
been achieved.
This test is carried out by interfacing the hardware and
software components of the entire system (that have
been previously unit tested and integration tested), and
then testing it as a whole.
Method:Black box testing
Done by:Independent Test Team

Acceptance Testing
Purpose:To ensure that the software that has been developed
operates as expected and meets all user requirements.
There are two types of acceptance testing:
Alpha Testing:It is carried out by the members of the
development team, known as internal acceptance testing.
Beta Testing: It is carried out by the customer, known as
external acceptance testing.
Method: Black box testing

Enhancements
& Fixes Regression
Testing
What is Regression Testing?
Regression testing is type of testing carried out to ensure that changes
made in the fixes or any enhancement changes are not impacting the
previously working functionality.
Regression Testing is required when there is a
Change in requirements and code is modified according to the new
requirement.
New feature is added to the software
Defect fixing
Performance issue fix

Unit Testing Level (Semantic)
Area to focus during Unit level:
Test cases which have frequent defects.
Functionalities which are more visible to
the users.
Test cases which verify core features of
the product.
Test cases of Functionalities which has
undergone more and recent changes.
Sample of Successful test cases.
Sample of Failure test cases.
Testing Environment: Developer Interface
Build tests
for version x
Test
data
Run tests
for version x
Build results
for version x
Compare
Verdict

Integration Testing Level (Semantic)
Should to testing Module:
M8, M5, M1, and Main at the Unit level
Re-integration:
1, 2, 3 at the Integration level
Testing Environment : Developer Interface
Changed Module
Main A
M1 M3M2
M7M6M5M4
M8
1
2
3

SystemTesting Level (Semantic)
Changed Module
Main A
M1
M5
M8
1
2
3
System A System B
Main B
Should to testing Module:
Main A and Main B at the System level
Testing Environment : Developer Interface
4

Regression Process in Developer Interface (Syntax)
Unit Testing Level
Integration Testing Level
Acceptance Testing Level

Acceptance Testing Level (Semantic)
Once the user have a regression test (in Acceptance level), it is important to
update it each time (Redevelop) ...
•Fix a bug
•Add, change or remove functionality
•Change platform
Testing Environment : Testing Interface
(PATSTCMD Machine)

Release Step (Syntax)
Once the user finish
regression testing in
Testing Interface, product
can be Release to
Production
Finally, product can be
send to LIVE

Finally
Have a good interaction, Understand the tasks,
Close the bugs, And at last give the quality
product, It makes us to reach what we have
aimed and also it will reach our company to the
top level.

THANK YOU
Tags