0% found this document useful (0 votes)
12 views

Software Testing L3

The document outlines various software testing types and levels, including unit testing, integration testing, system testing, and acceptance testing, each with specific objectives and responsibilities. It also discusses different testing methodologies such as functional and non-functional testing, black-box and white-box testing, as well as dynamic and static testing. Additionally, it covers concepts like retesting, regression testing, and smoke testing, emphasizing their importance in ensuring software quality.

Uploaded by

mcclaren388
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views

Software Testing L3

The document outlines various software testing types and levels, including unit testing, integration testing, system testing, and acceptance testing, each with specific objectives and responsibilities. It also discusses different testing methodologies such as functional and non-functional testing, black-box and white-box testing, as well as dynamic and static testing. Additionally, it covers concepts like retesting, regression testing, and smoke testing, emphasizing their importance in ensuring software quality.

Uploaded by

mcclaren388
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 22

Software Testing Tools

Lecture Three
Testing Types and Levels
Test Levels
• Test levels are groups of test
activities that are organized and
managed together.
• Each test level is an instance of
the test process
• Test levels are related to other
activities within the software
development lifecycle
Unit Testing
• A unit component is an individual
function and it is the smallest testable
part of the software
• Unit testing is the first level of software
testing used to test if software modules
satisfy the given requirement or not.
• Unit testing is the first level of functional
testing to validate unit components with
their performance.
• Unit testing helps the test engineer and
developers to understand the base of
code to change defect causing code
quickly.
• The developers implement the unit.
Integration testing
Integration testing focuses on interactions between
components or systems. The focus is to expose defects at
the time of interaction between integrated components or
units
Two types of integration testing:

1) Component integration testing focuses on the


integration between components.
• This level is performed by the developer by testing the
units together
2) System integration testing tries to test the system as a
whole
• It is generally the responsibility of testers.
• Most important test level for testers.
• 90 % of the testing for the software tester is performed
inside system testing
• Try to test your application on a similar environment to
the real environment
System testing
• System testing focuses on the behavior and capabilities of a whole
system or product
• System testing often produces information that is used by
stakeholders to make release decisions
• The test environment should ideally correspond to the final target or
production environment
• System testing should focus on the overall, end-to-end behavior of
the system as a whole
• Independent testers typically carry out system testing.
Acceptance testing
Determines if the software is conforming to specified requirements and user
requirements or not.
Why?
• if there are changes in requirements during development and it may not be
communicated effectively to the development team.
• Developers develop functions by examining the requirement document on
their own understanding and may not understand the actual requirements of
the client.
• Minor errors can be identified only when the system is used by the end user in
the actual scenario to find out these minor errors

Two types:
1. Alpha testing means that we bring customers test in our premises
2. Beta testing means that the customers test our application on their site at
their homes.
Types of Testing
• is a classification of different testing activities into categories, each
having, a defined test objective, test strategy, and test deliverables.
• The goal of a testing type is to validate the Application Under
Test(AUT) for the defined Test Objective.
• There are over 100 types of software testing
Functional testing
• verifies that each function of the
software application operates in
conformance with the
requirement specification
• Functions (or features) are
tested by feeding them input
and examining the output
• Testing what the system does
• Usually answered with (Yes/No)
Non Functional testing
• focuses on the good quality of
the software such as response
time, security, usability,
performance
• Testing how the system performs
• Hard to answer with Yes/No
• Usually measured as a range
Black-Box Testing
• Is a technique of software testing which examines the
functionality of software without looking into its internal
structure or coding.
• It is also known as behavioral, opaque-box, closed-box
• The primary source of black box testing is a specification of
requirements that is stated by the customer.
• The tester selects a function and gives input value to
examine its functionality , and checks whether the function
is giving expected output or not. If the function produces
correct output, then it is passed in testing, otherwise it
fails.
• After testing of all functions if there are problems , results
are given back to the development team for correction.
Generic steps of black box testing

1. The first step to black-box testing is to understand the requirement specifications of


the application under test. An accurate and precise SRS document should be there.
2. The next step is to evaluate the set of valid inputs and test scenarios to test the
software. The goal is to save time and get good test coverage.
3. Prepare the test cases to cover a maximum range of inputs.
4. The test cases are run in the system to generate output, which is validated with the
expected outcome to mark pass or fail.
5. The failed steps are marked and sent to the development team to fix them.
6. Retest the system using various testing techniques to verify its recurring nature or to
pass it
Various parameters checked in black box testing
are

• Accurate actions performed by users


• System’s interaction with the inputs
• The response time of the system
• Use of data structures issues in the user interface
• Usability issues
• Performance issues
• Abrupt application failure, unable to start or finish
White Box Testing
• is a testing technique which evaluates
the code and the internal structure of
a program.
• also known as clear, glass box or
structural testing
• White box testing involves looking at
the structure of the code.
• tests are conducted to ensure that the
internal operations performed
according to the specification.
Why Perform White Box Testing

• That all independent paths within a module have been exercised at least once.
• All logical decisions verified on their true and false values.
• All loops executed at their boundaries
• Logical error included when we design and implement functions, conditions or
controls that are out of the program
• The design errors due to difference between logical flow of the program and the
actual implementation
• Typographical errors and syntax checking
Steps of White Box Testing
1. Design all test scenarios, test cases and prioritize them according to high priority
number.
2. involves the study of code at runtime to examine the resource utilization, not
accessed areas of the code, time taken by various methods and operations and so
on.
3. testing of internal subroutines takes place. Internal subroutines such as nonpublic
methods, interfaces are able to handle all types of data appropriately or not.
4. focuses on testing of control statements like loops and conditional statements to
check the efficiency and accuracy for different data inputs.
5. includes security testing to check all possible security loopholes by looking at how
the code handles security
Dynamic Testing
• done when the code is executed
at the run time environment.
• It is a validation process where
functional testing [unit,
integration, and system testing]
and non-functional testing [user
acceptance testing] are
performed
• Testing that includes executing
the software
Static Testing
• checks the application without
executing the code. It is a
verification process.
• essential activities are done
under static testing include
business requirement review,
design review, code
walkthroughs, and the test
documentation review.
• can be performed in the white
box testing phase, where the
programmer checks every line
of the code before handling
over to the Test Engineer
Retesting (Confirmation Testing):

• Retesting is running the


previously failed test cases again
on the new software to verify
whether the defects posted
earlier are fixed or not
Regression Testing
• This testing is done to make
sure that new code changes do
not have side effects on the
existing functionalities.
• It ensures that the old code still
works once the latest code
changes are done.
• This change might be solving a
defect or changing a
requirement or adding a
feature, removing a feature.
Smoke Testing
• comprises of a non-exhaustive set
of tests on main functionalities that
aim at ensuring that the most
important functions work.
• also known as “Build Verification
Testing”
• result of this testing is used to
decide if a build is stable enough to
proceed with further testing.
• It can also be used to decide
whether to announce a production
release or to revert
Next Week
• Software Defects
• Test Cases

You might also like