Level of Testing
Lecture 01
Engr. Anees ur Rahman
Static Testing
Static testing refers to testing that takes
place without Execution - examining and
reviewing it.
Dynamic Testing
Dynamic testing is what you would
normally think of testing - executing and
using the software.
Dynamic Testing
Techniques used are determined by the
type of testing that must be conducted
Functional
Structural
Functional Testing
Structure of the program is not considered.
Test cases are decided based on the
requirements or specification of the
program or module
Hence it is often called as “Black Box
Testing”.
Structural Testing
Concerned with testing ,the implementation of
the program.
Focus on the internal structure of the program.
The intent of structural testing is not to
exercise all the different input or output
condition but to exercise the different
programming structures and data structures in
the program.
Testing Levels
Phases of software testing:
Unit Testing
Integration/Build Testing
System Testing
Acceptance Testing
Unit Testing
Test each module individually.
Follows a white box testing (Logic of the
program)
Integration testing
Integrate two or more module.i.e.
communicate between the modules.
Follow a white box testing (Testing the
code)
System Testing
Confirms that the system as a whole delivers
the functionality originally required.
Follows the black box testing.
System Testing - Goals
Incorrect or missing feature
Performance errors
Security errors
User interface errors
Configuration and compatibility
Compliance to required standards
System Testing - Overview
System Tests:
Definetest procedures and instructions
Review test plans
Execute test plans
Record results
System Testing - Strategy
Developing System
Tests
stress tests
security tests
recovery tests
performance tests
User Acceptance Testing (UAT)
Building the confidence of the client and
users is the role of the acceptance test
phase.
It is depend on the business scenario.
Those functions required by the customer to
demonstrate sufficient functionality and
reliability to warrant acceptance.
V-Model
Business
UAT
scenario
SRS System
HLD Integration
LLD Unit
Level of Testing
Unit Testing
Component Testing
Integration Testing
System Testing
Acceptance Testing
Alpha Testing
Beta Testing
Unit Testing:
Unit testing is a method by which individual units of source
code together with associated control data are tested to
determine if they are fit for use.
A unit us the smallest testable part of an application like
Functions/Classes and interfaces
Unit tests are typically written and run by software developers
to ensure that code meets its design and behaves as
intended.
Integration Testing:
• Integration testing is the phase in which individual
software modules are combined and tested as a
group to make verify integrated system is ready for
system testing.
• It occurs after unit testing and before validation
testing.
• Integration testing is done by a specific integration
tester or test team.
System Testing:
• System testing is conducted on a complete, integrated
system to evaluate the system's compliance with its specified
requirements.
• System testing falls within the scope of black box testing,
and as such, should require no knowledge of the inner
design of the code or logic.
• System testing is most often the final test to verify that the
system to be delivered meets the specification and its
purpose.
• System testing should investigate both functional and non-
functional requirements of the testing.
21
Acceptance Testing:
• After the system test has corrected all or most
defects, the system will be delivered to the
user or customer for acceptance testing.
• Acceptance testing is a test conducted to
determine if the requirements of a
specification or contract are met prior to its
delivery.
• Acceptance testing is basically done by the
user or customer although other stakeholders
may be involved as well.
Alpha Testing:
Alpha testing is simulated or actual operational testing
by potential users/customers or an independent test team
at the developers' site.
Alpha testing is often employed for off-the-shelf software
as a form of internal acceptance testing, before the
software goes to beta testing.
This test takes place at the developer’s site.
Beta Testing:
•It is also known as field testing. It takes place at
customer’s site.
•It sends the system to users who install it and use it
under real-
world working conditions.
•A beta test is the second phase of software testing in
which a sampling of the intended audience tries the
product out.
•Versions of the software, known as beta versions, are
released to a limited audience outside of the
programming team.
Software Testing
Testing Techniques
White Box
Black Box
White Box Testing
White Box Testing - Internal
Purpose of Unit Tests:
Test all loops
Test Basis paths
Test conditional statements
Test data structures
* develop unit tests after the design portion of the Build Definition
Spec. is completed.
White Box Testing Techniques
Statement coverage – execute all
statements at least once.
Decision coverage - execute each
decision direction at least once.
Condition coverage – execute each
decision with all possible outcomes at
least once
Black Box Testing
Black Box Testing - External
Black Box Testing verifies that the
requirements have been met.
How is functional validity tested
How is system behavior and performance tested.
What classes of input will make good test cases?
Is the system particularly sensitive to certain input
values?
How are the boundaries of a data class isolated?
What data rates and data volume can the system
tolerate?
What effect will specific combinations of data have
on system operation?
Black Box Testing - External
Black Box Tests look for:
incorrect or missing functions
interface errors
errors in external database access
behavior or performance errors
Black Box Testing Techniques
Equivalence Partitioning
Boundary Analysis
Error Guessing