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

Testing Strategies

Uploaded by

dilip.reddy0810
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views

Testing Strategies

Uploaded by

dilip.reddy0810
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 7

A Strategic Approach to Software Testing

 Testing is a set of activities that can be performed in advance and conducted


systematically.
 A no. of software testing strategies have been proposed in the literature. All
provide you a template with testing and all have the following generic
characteristics
 To perform effective testing, you should conduct effective technical reviews.
 Testing begins at the component level and works “outward” toward the
integration of entire computer-based system.
Test Strategies for Conventional Software
These strategies are used to systematically test traditional application software, like
desktop or web apps, to verify they meet user requirements.
Common Test Strategies:
• Unit Testing: Tests individual components.
• Integration Testing: Checks how combined parts of the software interact.
• System Testing: Validates the entire software system.
• Acceptance Testing: Ensures the software meets user expectations.
Example: For an online shopping platform:
• Unit Testing: Test the function that calculates the total cost of items in the cart.
• Integration Testing: Check that the cart function interacts properly with the payment
gateway.
• System Testing: Test the entire shopping process from selecting products to confirming
payment.
Black-Box Testing
Black-box testing is a method where the tester has no knowledge of the internal
code or structure. It focuses on testing the functionality based on requirements and
specifications without considering how the software operates internally.

Key Features:
• No need for knowledge of the code or internal workings.
• Testers focus on input/output and behavior of the software.
• Commonly used for higher-level testing like system and acceptance testing.

Types of Black-Box Testing:


• Functional Testing: Checks specific functions based on requirements.
• Non-functional Testing: Tests aspects like performance, usability, etc.
• Regression Testing: Ensures that new changes do not break existing functionality.
White-Box Testing
White-box testing (also known as clear-box, glass-box, or structural testing) is a
method of testing software where the tester has knowledge of the internal code
structure. This testing involves verifying the logic, internal paths, and code
structures to ensure proper functionality.

Key Features:
• Requires knowledge of the code.
• Focuses on code coverage, including conditions, paths, loops, and branches.
• Tests internal working to find hidden errors.

Types of White-Box Testing:


• Unit Testing: Testing individual components or functions.
• Integration Testing: Testing how different units of code work together.
• Path Testing: Ensuring all logical paths in the program are tested at least once.
Validation Testing
Validation testing confirms that the software meets the user
requirements and performs the intended tasks correctly. It answers the
question, "Are we building the right product?“
Example: In a banking app, validation testing would ensure that when
users check their balance, the correct amount is displayed and
transactions are processed accurately according to user expectations.
System Testing
System testing is a type of software testing that evaluates the overall functionality
and performance of a complete and fully integrated software solution. It tests if the
system meets the specified requirements and if it is suitable for delivery to the end-
users. This type of testing is performed after the integration testing and before the
acceptance testing.
The Art of Debugging
Debugging is the process of identifying, analyzing, and fixing errors or
bugs in the code. It involves understanding the problem, finding its
source, and correcting it without creating new issues.

Steps in Debugging:
1.Reproduce the Problem: Ensure the issue can be replicated
consistently.
2.Analyze the Code: Look at where the bug occurs and check the code
logic.
3.Fix the Bug: Implement a solution.
4.Test the Fix: Confirm that the fix works and does not cause new
issues.

You might also like