0% found this document useful (0 votes)
3 views4 pages

Software Testing Study Notes

The document outlines key software testing objectives, including verification of requirements, validation for user acceptance, and early bug detection. It describes various testing types such as unit, integration, acceptance, regression, and performance testing, along with strategies like top-down and bottom-up testing. Additionally, it covers static testing methods and the importance of comprehensive test data preparation for effective defect detection.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views4 pages

Software Testing Study Notes

The document outlines key software testing objectives, including verification of requirements, validation for user acceptance, and early bug detection. It describes various testing types such as unit, integration, acceptance, regression, and performance testing, along with strategies like top-down and bottom-up testing. Additionally, it covers static testing methods and the importance of comprehensive test data preparation for effective defect detection.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

Software Testing Study Notes

Testing Objectives
• Ensure software meets requirements (verification) by checking work products (requirements,
design, code) early 1 .
• Verify all specified requirements are implemented (using traceability from tests to requirements)
2 .

• Validate that the finished product works as intended for users (user acceptance) 3 .
• Improve confidence in quality by finding and preventing defects (early bug detection) 4 .
• Provide stakeholders with information on test coverage, risks, and quality (reports on missing
requirements or bugs) 5 .

Unit Testing
• Tests individual components (functions, methods, classes) in isolation 6 .
• Usually automated and written by developers, allowing fast and cheap execution in CI pipelines
6 .

• Catches bugs early when they are cheapest to fix (early bug fixes reduce cost) 7 .
• Enables frequent releases and refactoring: by verifying units work correctly, developers can
safely improve or redesign code 8 .

Integration Testing
• Combines unit-tested modules and tests their interactions (interfaces, data flow) 9 .
• Verifies that separate components work together correctly; catches interface/communication
errors early.
• Performed after unit testing and before system testing to reduce risks of late discovery of
integration bugs 9 .

Acceptance Testing
• Formal testing against business/user requirements to decide if the system is ready for release
10 .

• Carried out by end-users, customers, or representatives (often called User Acceptance Testing) in
a realistic environment.
• Ensures the complete system satisfies acceptance criteria (business goals, user needs) 10 ;
passing this test means the software is fit for deployment.

Regression Testing
• Re-runs existing tests after changes (bug fixes or enhancements) to ensure previously working
features still work 11 .
• Detects unintended side-effects of code changes, preventing new bugs from being introduced.
• Often automated (test suites grow over time) since regression tests are repeated frequently 11 .

1
Testing for Functionality
• Checks that the software’s features behave according to specifications (functional requirements)
12 .

• Verifies end-to-end business operations (e.g., user login, data processing) produce the correct
outputs.
• Focuses on what the system does (output/results) rather than how it does it.

Testing for Performance


• Measures non-functional attributes: speed, responsiveness, throughput, and scalability under
load 13 .
• Includes load, stress, and volume testing to find bottlenecks (e.g., response time with many
users) 13 .
• Ensures the system meets performance criteria (e.g., acceptable latency, stability under peak
usage) 13 .

Top-Down and Bottom-Up Testing Strategies

Top-down and bottom-up are incremental integration approaches 14 15 . In top-down testing, high-
level modules are integrated and tested first; lower-level modules are added later using dummy stubs to
stand in for missing parts 14 . In bottom-up testing, low-level modules are integrated first; drivers are
used to call up to higher-level modules that are not yet developed 15 .
- Test Stubs: Simplified modules that simulate lower-level components in top-down integration testing
14 .

- Test Drivers: Temporary routines that invoke (call) the module under test, used in bottom-up testing
when higher-level modules are missing 15 .

Structural Testing (White Box Testing)


• Focuses on internal code structure and logic 16 . Testers have access to source code and design
test cases based on code paths, branches, and conditions.
• Techniques include statement/branch coverage, path testing, and code reviews. The goal is to
exercise all internal paths and loops to find hidden logic errors 16 .

2
Functional Testing (Black Box Testing)
• Tests software functionality without knowledge of internal code 17 . Test cases are based on
requirements or specifications, focusing on input/output behavior.
• Emphasizes correct outputs for given inputs and handling of typical use cases, edge cases, and
error conditions.

Test Data Suite Preparation


• Design comprehensive sets of input data covering various scenarios to exercise all functionality
18 .

• Include valid data (meets constraints), invalid data (violates constraints), boundary values (edge
cases), and random/extreme data 18 .
• Well-prepared test data ensures all paths and conditions are tested, improving defect detection.

Alpha and Beta Testing of Products


• Alpha Testing: Internal testing by developers and QA in a controlled environment before release
19 . Identifies bugs in functionality and usability early.

• Beta Testing: Pilot release to a select group of external users in a real-world environment 20 .
Collects user feedback and discovers real-world issues before wide deployment.

Static Testing Strategies


• Formal Technical Review (Peer Review): Team-based, structured examination of software
artifacts (requirements, design, code) to detect defects early in development 21 .
• Walkthrough: Informal review led by the artifact’s author to present work and gather feedback
from peers 22 . Focuses on knowledge sharing and finding obvious issues.
• Code Inspection: Detailed, manual review of source code by one or more reviewers, checking
for defects and adherence to design/coding standards 23 . High defect-detection rate.
• Compliance Checks: Verify that design and code follow agreed standards and best practices
(naming conventions, formatting, SOLID principles, etc.), improving maintainability and
consistency 24 .

Sources: Authoritative testing literature and current software engineering resources 1 9 11 25 14

16 17 18 26 .

1 2 3 What are Software Testing Objectives and Purpose? | ISTQB | ToolsQA


4 5 https://toolsqa.com/software-testing/istqb/software-testing-objectives/

6 7 8 Unit testing - Wikipedia


https://en.wikipedia.org/wiki/Unit_testing

9 Integration Testing – Software Engineering | GeeksforGeeks


https://www.geeksforgeeks.org/software-engineering-integration-testing/

10 Acceptance Testing – Software Testing | GeeksforGeeks


https://www.geeksforgeeks.org/acceptance-testing-software-testing/

11 Regression testing - Wikipedia


https://en.wikipedia.org/wiki/Regression_testing

3
12 13 25 The different types of testing in software | Atlassian
https://www.atlassian.com/continuous-delivery/software-testing/types-of-software-testing

14 15 Difference between Top Down and Bottom Up Integration Testing | GeeksforGeeks


https://www.geeksforgeeks.org/difference-between-top-down-and-bottom-up-integration-testing/?ref=rp

16 White box Testing – Software Engineering | GeeksforGeeks


https://www.geeksforgeeks.org/software-engineering-white-box-testing/

17 Black Box Testing – Software Engineering | GeeksforGeeks


https://www.geeksforgeeks.org/software-engineering-black-box-testing/

18 19 20 Notes B.tech
21 22 23 https://notesly.s3.amazonaws.com/media/uploads/notes/pdf/964b3ec1-368d-4aae-802c-24a137121a0c.pdf
24 26

You might also like