0% found this document useful (0 votes)
12 views6 pages

Comprehensive Guide to Software Testing

Uploaded by

jasoosjagga165
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)
12 views6 pages

Comprehensive Guide to Software Testing

Uploaded by

jasoosjagga165
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

SOFTWARE TESTING – FULL EXPLAINED

NOTES

Introduction
Software Testing is the process of evaluating a software application to ensure it works
correctly, safely, and according to user requirements. It helps identify defects early and
improves software quality and reliability. Testing is essential because even a small bug
can cause system failure, data loss, or financial damage.

UNIT 1 – SOFTWARE TESTING AND TESTING METHODS


1.1 Software Testing & Objectives
Software Testing is the process of verifying (checking if we built the product right) and
validating (checking if we built the right product). Its objectives include detecting defects,
ensuring software meets requirements, checking performance, and improving user
confidence. Testing also ensures the software behaves correctly under different situations
and inputs.

SRS (Software Requirement Specification)


SRS is a document that explains what a software should do. It acts as a contract between
developers and customers. Testers use SRS to understand requirements and create test
cases. It contains functional requirements, non-functional requirements, constraints, and
acceptance criteria.

1.2 Failure, Error, Fault, Defect, Bug


• Error – A mistake made by a developer while writing code. • Fault / Defect – A wrong
part in the software due to an error. • Failure – When software does not perform as
expected. • Bug – Common term for defect found during testing. Example: A wrong
formula entered by the programmer (error) causes incorrect output (failure).

1.3 Entry and Exit Criteria


Entry Criteria are conditions that must be met before testing starts. Examples: SRS
approved, test environment ready, test cases prepared. Exit Criteria are conditions to
stop testing. Examples: all test cases executed, major defects fixed, test summary report
completed.
1.4 Static vs Dynamic Testing
Static Testing examines code, documents, or design without executing the program.
Examples: reviews, inspections, walkthroughs. Dynamic Testing checks the software by
executing it. It validates behavior, output, and performance.

1.5 White Box Testing


White Box Testing focuses on internal logic of the code. The tester must know
programming. Techniques: • Code Coverage – Ensures all lines/paths of code are tested.
• Inspections – Manual review of code. • Walkthroughs – Guided review by developer. •
Technical Review – Checking design and standards. • Complexity Testing – Ensures
code is not overly complicated.

1.6 Black Box Testing


Black Box Testing focuses only on inputs and outputs without knowing code. Techniques:
• Requirement-Based Testing – Checks if software meets requirements. • Boundary
Value Analysis – Tests values at the edge of input ranges. • Equivalence Partitioning –
Divides inputs into valid groups to reduce test cases.
UNIT 2 – TYPES AND LEVELS OF TESTING
2.1 Unit Testing
Unit Testing checks individual modules or functions. Developers mainly perform unit
testing. If a module requires another module that is not developed yet, testers use: •
Driver – A dummy program that calls the module under test. • Stub – A dummy program
used by the module being tested.

2.2 Integration Testing


Integration testing checks combined modules. Types: • Top-Down: Testing starts from
main module → lower modules. Stubs used. • Bottom-Up: Testing starts from lower
modules → higher modules. Drivers used. • Sandwich/Bi-Directional: Combination of
both.

2.3 System Testing


System Testing tests the entire software as one complete system. It checks functional,
performance, security, usability, and compatibility aspects.

2.4 Acceptance Testing


Performed by end-users before purchase or deployment. Alpha Testing: Done internally
by developers/testers. Beta Testing: Done by actual customers in real environment.

2.5 Special Testing


Performance Testing: Checks speed and stability. Load Testing: Normal load
conditions. Stress Testing: Extreme load conditions. Regression Testing: Ensures new
code changes don’t affect old features. Security Testing: Checks protection from attacks.
Sanity Testing: Checks small parts after minor fixes. Smoke Testing: Initial check to see
if major functions work. GUI Testing: Tests screen elements. Database Testing: Tests
DB connection and queries.
UNIT 3 – TEST MANAGEMENT
3.1 Test Life Cycle
The Testing Life Cycle includes phases such as requirement analysis, test planning, test
case development, environment setup, test execution, defect reporting, and test closure.

3.2 Test Planning


Test Planning defines how testing will be done. It includes scope, approach, resources,
responsibilities, timelines, entry/exit criteria, and deliverables (test cases, test data, test
reports).

3.3 Test Management


Test Infrastructure Management ensures the hardware, software, tools, and environment
are ready. Test People Management assigns tasks, tracks progress, and monitors
communication.

3.4 Test Process & Base Lining


Baseline means freezing the test plan so that no further changes occur without approval.
Test Case Specification includes input, expected output, steps, and execution conditions.

3.5 Test Reporting


After executing test cases, testers create a Test Summary Report containing number of
tests passed, failed, defects found, severity breakdown, and final conclusion.
UNIT 4 – DEFECT MANAGEMENT
4.1 Defect Classification
Defects are classified based on severity and priority. Severity indicates impact on system.
Priority indicates urgency of fixing.

4.2 Defect Life Cycle


A defect passes through several stages: New → Assigned → Fixed → Retest → Reopen
(if failed) → Closed. This cycle ensures proper tracking and status monitoring.

4.3 Defect Template


A defect template contains: Defect ID, Title, Description, Steps to Reproduce, Expected
Result, Actual Result, Severity, Priority, Screenshots, Status.
UNIT 5 – TESTING TOOLS & MEASUREMENTS
5.1 Manual vs Automation
Manual Testing involves human effort; Automation Testing uses tools like Selenium.
Automation is faster but requires scripting skills.

5.2 Selecting a Test Tool


Factors include cost, platform support, ease of use, reporting features, maintenance cost,
and integration with CI/CD pipelines.

5.3 Selenium Introduction


Selenium is the most popular web automation tool. It supports multiple browsers and
languages. Components include Selenium IDE, Selenium Grid, and WebDriver.

5.4 Selenium IDE


A Firefox/Chrome extension used for record-and-playback testing. It is easy to use but
limited for complex automation.

5.5 Selenium WebDriver


WebDriver interacts with browsers directly. It supports Java, Python, C#, and more. Used
for large-scale automation frameworks.

5.6 Metrics and Measurements


Metrics help measure quality. Product metrics measure system performance; Process
metrics track testing efficiency, defect density, test coverage, and effort spent.

You might also like