Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
19 views32 pages

Software Testing Basics - V01

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
19 views32 pages

Software Testing Basics - V01

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 32

Learn Software Testing

For Beginners
What is Quality?
 Quality is “fitness for use” - (Joseph
Juran)
 Quality is “conformance to
requirements” - (Philip B. Crosby)
 Quality of a product or service is its
ability to satisfy the needs and
expectations of the customer
SOFTWARE DEVELOPMENT LIFE
CYCLE (SDLC)
Phases of SDLC

• Requirement Specification and


Analysis
• Design
• Coding
• Testing
• Implementation
• Maintenance
Requirement Specification
and Analysis

User Requirement Software Requirement


Specification (USR) Specification (SRS)
Design

The output of SRS is the input of design phase.

Two types of design -

High Level Design (HLD)


Low Level Design (LLD)
High Level Design (HLD)
 List of modules and a brief description of each
module.
 Brief functionality of each module.
 Interface relationship among modules.
 Dependencies between modules (if A exists, B
exists etc).
 Database tables identified along with key
elements.
 Overall architecture diagrams along with
technology details.
Low Level Design (LLD)

 Detailed functional logic of the module, in


pseudo code.
 Database tables, with all elements,
including their type and size.
 All interface details.
 All dependency issues
 Error message listings
 Complete input and outputs for a module.
The Design process

Breaking down the product into independent


modules to arrive at micro levels.

2 different approaches followed in designing –

Top Down Approach


Bottom Up Approach
Top-down approach
Bottom-Up Approach
Coding
Developers use the LLD document and
write the code in the programming language
specified.

Testing
The testing process involves development of
a test plan, executing the plan and
documenting the test results.

Implementation
Installation of the product in its operational
environment.
Maintenance
After the software is released and the client starts
using the software, maintenance phase is started.

3 things happen - Bug fixing, Upgrade, Enhancement

Bug fixing – bugs arrived due to some untested


scenarios.

Upgrade – Upgrading the application to the newer


versions of the software.

Enhancement - Adding some new features into the


existing software.
Most Common Software problems
 Incorrect calculation
 Incorrect data edits & ineffective data
edits
 Incorrect matching and merging of data
 Data searches that yields incorrect
results
 Incorrect processing of data
relationship
 Incorrect coding / implementation of
business rules
 Inadequate software performance
 Confusing or misleading data
 Software usability by end users &
 Obsolete Software
 Inconsistent processing
 Unreliable results or performance
 Inadequate support of business needs
 Incorrect or inadequate interfaces
 with other systems
 Inadequate performance and security
controls
 Incorrect file handling
Objectives of testing
 Executing a program with the intent of
finding an error.
 To check if the system meets the
requirements and be executed
successfully in the Intended environment.
 To check if the system is “ Fit for purpose”.
 To check if the system does what it is
expected to do.
Objectives of testing

 A good test case is one that has a


probability of finding an as yet
undiscovered error.
 A successful test is one that uncovers a
yet undiscovered error.
 A good test is not redundant.
 A good test should be “best of breed”.
 A good test should neither be too simple
nor too complex.
VERIFICATION & VALIDATION

Verification - typically involves reviews and meeting


to evaluate documents, plans, code, requirements,
and specifications. This can be done with checklists,
issues lists, walkthroughs, and inspection meeting.

Validation - typically involves actual testing and


takes place after verifications are completed.

Validation and Verification process continue in


a cycle till the software becomes defects free.
DIFFERENT LEVELS OF
TESTING
Testing Levels

•Unit testing
•Integration testing
•System testing
•Acceptance testing
Unit testing

 The most ‘micro’ scale of testing.


 Tests done on particular functions or code
modules.
 Requires knowledge of the internal program
design and code.
 Done by Programmers (not by testers).
Unit testing
Objectives  To test the function of a program or unit of
code such as a program or module
 To test internal logic
 To verify internal design
 To test path & conditions coverage
 To test exception conditions & error
handling

When  After modules are coded


Input  Internal Application Design
 Master Test Plan
 Unit Test Plan
Output  Unit Test Report
 Incremental integration testing

Continuous testing of an application as and


when a new functionality is added.

Application’s functionality aspects are


required to be independent enough to work
separately before completion of development.

Done by programmers or testers.


Integration Testing


Testing of combined parts of an application to
determine their functional correctness.


‘Parts’ can be
• code modules
• individual applications
• client/server applications on a network.
Integration testing
Objectives  To technically verify proper
interfacing between modules, and
within sub-systems
When  After modules are unit tested
Input  Internal & External Application
Design
 Master Test Plan
 Integration Test Plan

Output  Integration Test report


SOFTWARE TESTING LIFECYCLE -
PHASES

• Requirements study
• Test Case Design and
Development

• Test Execution
• Test Closure
• Test Process Analysis
Requirements study

 TestingCycle starts with the study of client’s


requirements.

 Understanding of the requirements is very


essential for testing the product.
Analysis & Planning

• Test objective and coverage


• Overall schedule
• Standards and Methodologies
• Resources required, including necessary
training
• Roles and responsibilities of the team
members
• Tools used
Test Case Design and Development


Component Identification

Test Specification Design

Test Specification Review

Test Execution


Code Review

Test execution and evaluation

Performance and simulation
Test Closure


Test summary report

Project Documentation

Test Process Analysis

Analysis done on the reports and improving the


application’s performance by implementing new
technology and additional features.
TEST CASES

Test case is defined as


 A set of test inputs, execution conditions and
expected results, developed for a particular
objective.
 Documentation specifying inputs, predicted
results and a set of execution conditions for a test
item.
 Specificinputs that will be tried and the
procedures that will be followed when the
software tested.

 Sequence of one or more subtests executed as


a sequence as the outcome and/or final state of
one subtests is the input and/or initial state of
the next.

 Specifies
the pretest state of the AUT and its
environment, the test inputs or conditions.

 The expected result specifies what the AUT


should produce from the test inputs.
Thank You

You might also like