Join Our Telegram Community - Aspire2Learn
“We are here to provide you with simplified
notes for BCA and to help you throughout
your BCA journey...
Team, Aspire2Learn”
Join Our Telegram Community - Aspire2Learn
SOFTWARE TESTING SYLLABUS
UNIT - I:
Introduction: Testing as an Engineering Activity, Testing as a Process,
testing axioms, Basic Definitions Software Testing Principles, The Tester’s
Role in a Software Development Organization, Origins of Defects, cost of
defects, Defect Classes, The Defect Repository a nd Test Design, Defect
Examples, Developer/Tester Support for Developing a Defect Repository,
Defect Prevention Strategies.
UNIT - II:
Test Case Design : Test Case Design Strategies, Using Black Box Approach
to Test Case Design, Random Testing, Requirements based testing, Boundary
Value Analysis, Decision tables, Equivalence Class Partitioning, State-based
testing, Cause-effect graphing, Error guessing, Compatibility testing, User
documentation testing, Domain testing Using White Box Approach to Test
design, Test Adequacy Criteria, static testing vs. structural testing, code
functional testing, Coverage and Control Flow Graphs, Covering Code Logic,
Paths, Their Role in White–box Based Test Design, code complexity testing,
Evaluating Test Adequacy Criteria.
UNIT - III:
Levels Of Testing : The Need for Levels of Testing, Unit Test, Unit Test
Planning, Designing the Unit Tests, The Test Harness, Running the Unit tests
and Recording results, Integration tests, Designing Integration Tests,
Integration Test Planning, Scenario testing, Defect bash elimination. System
Testing, Acceptance testing, Performance testing, Regression Testing,
Internationalization testing, Ad-hoc testing - Alpha , Beta Tests, testing OO
systems, Usability and Accessibility testing, Configuration testing,
Compatibility testing, Testing the documentation, Website testing
UNIT - IV:
Test Management : People and organizational issues in testing, organization
structures for testing teams, testing services, Test Planning , Test Plan Components,
Test Plan Attachments, Locating Test Items – test management, test process, Reporting
Test Results, The role of three groups in Test Planning and Policy Development,
Introducing the test specialist, Skills needed by a test specialist, Building a Testing
Group.
Join Our Telegram Community - Aspire2Learn
UNIT THREE –
------------------------------------------------------------------------------
1. What are different levels of testing ? Explain it in brief.
S[2024,2023,2018],W[2019,2018,2017].
OR
2. Explain the need for level of testing. S[2017],W[2023].
OR
3. What are the different level of testing ? Give important of
each level. W[2022].
Ans –
Why Do We Need Levels of Testing ?
1. To Test Small Parts (Unit) First:
In Unit Testing, small parts (modules) of the software
are tested to find early defects.
2. To Test Module Integration:
In Integration Testing, different modules are combined
and tested to check if they work together.
3. To Test the Complete Software:
In System Testing, the entire software is tested to ensure
it works as expected.
4. To Ensure User Satisfaction:
Join Our Telegram Community - Aspire2Learn
In Acceptance Testing, the customer tests the software to
confirm if it meets their requirements.
5. To Prevent Future Failures:
Testing at different levels ensures that hidden defects
are found early, preventing software failure after release.
Different Levels of Testing in Software Testing -
In Software Testing, the testing process is divided into
four levels to test the software step-by-step.
These levels ensure that the software is defect-free,
works as expected, and meets user requirements.
1. Unit Testing (Lowest Level) -
Definition:
Unit Testing is the first level of testing where individual
components (units) of the software like functions,
modules, or classes are tested separately.
The main purpose is to check if each unit
(function/module) works correctly.
Performed By: Developers.
Tools Used: JUnit, NUnit, Selenium, etc.
Example:
Join Our Telegram Community - Aspire2Learn
Testing the Login Function (login()) to check if the login
button works correctly.
Goal: Ensure that each module works correctly.
2. Integration Testing (After Unit Testing) -
Definition:
After unit testing, Integration Testing is performed to
test if different modules (units) work together correctly
when integrated (combined).
It ensures data flow and communication between
modules is working fine.
Performed By: Developers or Testers.
Tools Used: JUnit, Selenium, TestNG, etc.
Example:
After testing the Login Module, now test if the Login Page
successfully navigates to the Dashboard Page after login.
Goal: Ensure modules communicate properly when
combined.
3. System Testing (Complete Software Testing) -
Definition:
Join Our Telegram Community - Aspire2Learn
In System Testing, the entire software system (end-to-
end) is tested to ensure it works according to the user’s
requirements.
This testing is done in a real-like test environment.
Performed By: Testing Team (QA).
Tools Used: Selenium, LoadRunner, TestComplete, etc.
Example:
Test if the entire e-commerce website (Login, Add to
Cart, Payment, Logout) works correctly without any
error.
Goal: Ensure the entire software works correctly.
4. Acceptance Testing (Final Testing Before Release) -
Definition:
Acceptance Testing is the final level of testing performed
by the end-user (customer) to check if the software
meets their expectations.
If the customer is satisfied, the software is approved for
release.
Performed By: Client or End-User.
Join Our Telegram Community - Aspire2Learn
Types:
Alpha Testing: Done by the developer’s team in a
controlled environment.
Beta Testing: Done by real users in a real environment
before the final release.
Example:
The Banking App is given to selected users to test
whether it works smoothly or not.
Goal: Ensure the software is ready for release.
------------------------------------------------------------------------------
4. What is alpha testing and beta testing ? Explain in detail.
W[2023].
OR
5. Explain briefly alpha and beta testing. W[2019].
OR
6. What is acceptance testing ? Explain briefly alpha and beta
testing. W[2017].
Ans –
Acceptance Testing -
Definition:
Acceptance Testing is the final level of software testing
performed to check whether the software meets user
requirements and is ready for release.
Join Our Telegram Community - Aspire2Learn
It ensures that the software works as expected in a real-
world environment before being delivered to the
customer.
Types of Acceptance Testing:
1. Alpha Testing: Done internally by testers before releasing
to real users.
2. Beta Testing: Done by real users to collect feedback
before the final launch.
Example:
Before launching a Banking App, the bank tests whether
customers can log in, transfer money, and pay bills
correctly.
Alpha Testing –
Definition:
Alpha Testing is a type of Acceptance Testing performed
by testers and developers in a controlled environment
(company’s development site) before releasing the
software to real users.
Key Features of Alpha Testing:
Join Our Telegram Community - Aspire2Learn
Done by: Internal testers (QA team) and sometimes
developers.
Environment: Controlled (company’s testing
environment).
Focus: Finding functional, performance, and UI issues.
Goal: Identify and fix major bugs before real users test
the software.
Example of Alpha Testing:
A software company develops a Banking App and tests it
in-house before releasing it to customers.
Advantages:
Early identification of critical issues.
Controlled environment ensures thorough testing.
Provides initial feedback on usability and functionality.
Disadvantages:
Limited to internal testers, so may miss real-world
scenarios.
May not cover all user perspectives.
Join Our Telegram Community - Aspire2Learn
Beta Testing –
Definition:
Beta Testing is performed by real users (customers) in a
real-world environment before the final release. It helps
to identify bugs that were not found during Alpha
Testing.
Key Features of Beta Testing:
Done by: Real users (selected customers).
Environment: Real-world conditions (users' devices,
different locations).
Focus: Finding usability, performance, and compatibility
issues.
Goal: Get user feedback and fix final bugs before official
release.
Example of Beta Testing:
WhatsApp releases a Beta Version of its app for selected
users to test new features before launching them
globally.
Advantages:
Identifies issues in real-world scenarios.
Join Our Telegram Community - Aspire2Learn
Provides valuable user feedback on usability and
functionality.
Helps build user trust and confidence.
Disadvantages:
Less control over the testing environment.
May require more time and resources to manage
feedback.
------------------------------------------------------------------------------
3. Explain accessibility and usability testing. S[2024,2017].
OR
4. Explain accessibility testing in detail. S[2023].
Ans –
Definition:
1. Accessibility Testing is a type of software testing that
ensures the software application is usable by people
with disabilities such as:
Visually Impaired (blind, color-blind).
Hearing Impaired (deaf).
Physically Disabled (unable to use mouse or
keyboard).
Cognitive Impaired (learning disabilities).
Join Our Telegram Community - Aspire2Learn
2. The main goal of Accessibility Testing is to ensure that
the software is accessible to everyone, including people
with disabilities, as per the Web Content Accessibility
Guidelines (WCAG) or Section 508 Standards.
Purpose of Accessibility Testing:
To make the software usable for everyone, including
people with disabilities.
To ensure the website works with screen readers, voice
commands, and keyboard shortcuts.
To comply with legal accessibility standards like WCAG,
ADA, and Section 508.
To improve the user experience for all users.
Example of Accessibility Testing:
Example 1: Testing a Banking Website for blind people.
The website should support screen readers that read the
text aloud.
All images should have alt text (image description) for
blind users.
Example 2: Testing a Video Streaming Website (like
YouTube) for deaf people.
Join Our Telegram Community - Aspire2Learn
The website should provide closed captions (subtitles)
for videos.
Tools Used for Accessibility Testing:
JAWS (Job Access with Speech) – For Screen Reading.
NVDA (Non-Visual Desktop Access) – For visually
impaired users.
WAVE (Web Accessibility Evaluation Tool) – For
website accessibility check.
Usability Testing –
Definition:
1. Usability Testing is a type of software testing that
focuses on checking how easy, user-friendly, and
convenient the software is for end-users.
2. The main goal is to ensure that the user can easily
navigate, understand, and use the application without
any confusion.
In simple words:
1. It checks whether the software is easy to use or not.
Join Our Telegram Community - Aspire2Learn
2. It focuses on the user’s experience (UI/UX) while using
the application.
Purpose of Usability Testing:
To ensure the user interface (UI) is easy to navigate.
To check if the user can complete tasks without
confusion.
To improve the user experience (UX) of the software.
To reduce user frustration by making the software
simple and clear.
What is Tested in Usability Testing ?
1. Ease of Use:
Is the software easy to use for beginners and normal
users?
Can users complete tasks without confusion?
Example: Can a user easily login, add to cart, and make
payment in an e-commerce app?
2. Navigation Flow:
Join Our Telegram Community - Aspire2Learn
Is the navigation flow clear and smooth?
Can the user easily move from one page to another
without getting lost?
Example: In a food delivery app, can the user easily
browse food, place an order, and make payment?
3. Design and Layout:
Is the font size, color, and button placement user-
friendly?
Can users easily identify important buttons (like Buy
Now, Cancel, etc.)?
Example: On Amazon, the "Add to Cart" button is large
and easy to find.
Example of Usability Testing:
1. Example: Testing a Banking App.
Can the user easily login, check balance, transfer money,
or pay bills?
Is the app easy to navigate without confusion?
Are the buttons clear and visible to users?
Join Our Telegram Community - Aspire2Learn
Expected Result:
The app should be simple, clear, and easy to use for
everyone.
------------------------------------------------------------------------------
5. Explain website testing using example. W[2023,2019].
Ans –
Website Testing –
Definition:
1. Website Testing is a process of testing a website to
ensure that it works correctly, smoothly, and without
errors across different browsers, devices, and operating
systems.
2. The main goal of website testing is to check functionality,
performance, security, and user experience before
launching it to the public.
Why is Website Testing Important ?
Ensures website works on all devices (mobile, desktop,
tablet).
Avoids broken links, slow loading, or navigation errors.
Provides security protection from hacking or data loss.
Improves user experience and business reputation.
Join Our Telegram Community - Aspire2Learn
Example: E-Commerce Website –
Imagine an e-commerce website where users can
browse products, add them to a cart, and complete
purchases.
Here’s how website testing can be applied:
1. Functional Testing -
Objective: Verify that all features work as expected.
Example:
Test Case 1: Add a product to the cart.
Steps: Search for a product, click "Add to Cart," and
verify the cart updates.
Test Case 2: Complete a purchase.
Steps: Add a product, proceed to checkout, enter
payment details, and confirm the order.
2. Usability Testing -
Objective: Ensure the website is user-friendly and easy
to navigate.
Example:
Join Our Telegram Community - Aspire2Learn
Test Case 1: Check if the search bar is easily accessible.
Test Case 2: Verify that the checkout process is intuitive
and requires minimal steps.
3. Performance Testing -
Objective: Evaluate the website’s speed, scalability, and
stability under different conditions.
Example:
Test Case 1: Load testing with 1,000 concurrent users.
Verify the website handles the load without crashing.
Test Case 2: Check page load time.
Ensure the homepage loads within 3 seconds.
4. Security Testing -
Objective: Identify vulnerabilities and ensure data
protection.
Example:
Test Case 1: Test for SQL injection.
Join Our Telegram Community - Aspire2Learn
Attempt to inject SQL code into the login form and verify
it is blocked.
Test Case 2: Verify SSL certificate.
Ensure the website uses HTTPS and data is encrypted.
5. Compatibility Testing -
Objective: Ensure the website works across different
browsers, devices, and operating systems.
Example:
Test Case 1: Test on different browsers (Chrome,
Firefox, Safari).
Verify the website functions correctly on all browsers.
Test Case 2: Test on different devices (desktop, tablet,
mobile).
Ensure the website is responsive and displays correctly
on all devices.
6. Accessibility Testing -
Objective: Ensure the website is usable by people with
disabilities.
Join Our Telegram Community - Aspire2Learn
Example:
Test Case 1: Verify screen reader compatibility.
Ensure screen readers can read all text and navigation
elements.
Test Case 2: Check color contrast.
Ensure text is readable for users with visual
impairments.
------------------------------------------------------------------------------
5. Explain the defect bash elimination.
S[2017,2019],W[2022,2019].
Ans –
Defect Bash Elimination –
Defect Bash Elimination (also known as Bug Bash) is an
organized event where the entire team, including
developers, testers, designers, and sometimes even
stakeholders, comes together to intensively test the
software and identify as many defects as possible within
a short period.
The goal is to find and fix defects quickly, improving the
overall quality of the software before release.
Why is it Called "Bash ? -
The word Bash means "Attack or Hit".
Join Our Telegram Community - Aspire2Learn
So in Defect Bash, the testers "hit the software hard" to
find as many defects as possible in a limited time.
How Defect Bash Elimination Works (Step-by-Step):
1. Gather the Testing Team -
The company invites Testers, Developers, Business
Users, Stakeholders, and Clients to participate in the
Defect Bash.
2. Set Time Duration -
The team is given a short time limit (like 2-3 hours) to
test the software aggressively.
3. Test the Software -
All participants start testing the software from different
perspectives (user perspective, developer perspective,
etc.).
The focus is to find maximum bugs in less time.
4. Log and Report Defects -
Every defect (bug) found is immediately logged and
reported to the developer.
Example: Login button not working, Cart Page crashing,
Slow page loading, etc.
Join Our Telegram Community - Aspire2Learn
5. Fix and Retest -
After the session, developers fix all critical defects found
during the bash.
Testers then retest the application to ensure defects are
resolved.
Example of Defect Bash Elimination:
Scenario: Testing an E-commerce Website
(Flipkart/Amazon) before release.
Tester 1: Tests Login Page → Found "Forgot Password"
button not working.
Tester 2: Tests Add to Cart → Found the cart crashes
with 10+ products.
Stakeholder: Tests Payment Gateway → Payment failed
multiple times.
Developer: Found slow page loading in the "Product
Page."
Result:
Within 2-3 hours, the team identified major defects that
were missed earlier.
Fixing these defects improved the software quality
before release.
Join Our Telegram Community - Aspire2Learn
Advantages of Defect Bash Elimination:
Finds Hidden Defects: It helps find hidden or major
defects that may have been missed earlier.
Saves Time: Within 2-3 hours, the team can find
maximum defects.
Involves Everyone: Involves testers, developers, and
stakeholders to get different testing perspectives.
Improves Software Quality: Fixing the defects before
release improves customer satisfaction.
------------------------------------------------------------------------------
6. Write short notes on:
I. Configuration Testing. S[2018,2017],W[2022,2017].
II. Compatibility Testing. S[2018,2017],W[2022,2017].
Ans –
Configuration Testing –
Definition:
1. Configuration Testing is a type of software testing where
the software is tested on different hardware, software,
network, and system configurations to ensure it works
correctly in various environments.
2. The main goal is to check whether the software is
compatible with different devices, operating systems,
browsers, and hardware.
Join Our Telegram Community - Aspire2Learn
3. Types of Configuration Testing –
[Link] Configuration Testing:
Focuses on testing the application across various
software environments (e.g., operating systems,
browsers).
Example: Testing a web app on Chrome, Firefox, Safari,
and Edge.
B. Hardware Configuration Testing:
Tests the application on different hardware setups (e.g.,
CPUs, memory sizes, hard drives).
Example: Verifying performance on devices with
varying RAM capacities.
Purpose of Configuration Testing:
1. To ensure the software works perfectly on different
operating systems (Windows, macOS, Linux).
2. To test the software on different hardware (RAM,
Processor, Storage).
3. To check browser compatibility (Chrome, Firefox, Safari,
Edge).
4. To test the network configurations (Wi-Fi, 3G, 4G, 5G).
Join Our Telegram Community - Aspire2Learn
Example of Configuration Testing:
Example: Testing an E-commerce website (like Amazon)
on:
Operating System: Windows, macOS, Android, iOS.
Browser: Chrome, Firefox, Safari.
Device: Mobile, Tablet, Laptop, Desktop.
Network: Wi-Fi, Mobile Data, Broadband.
Expected Result: The website should work perfectly in
all configurations.
Compatibility Testing –
Definition:
1. Compatibility Testing is a type of software testing used
to check whether the software application works
correctly across different devices, operating systems,
browsers, networks, and hardware.
2. The main goal is to ensure that the software provides a
consistent user experience in different environments.
Types of Compatibility Testing –
Join Our Telegram Community - Aspire2Learn
A. Software Compatibility Testing:
Verifies compatibility with different operating systems
(e.g., Windows, macOS), databases (e.g., Oracle, MySQL),
and browsers (e.g., Chrome, Firefox).
B. Hardware Compatibility Testing:
Ensures the software works correctly with specific
hardware components like RAM, processors, and
graphics cards.
C. Backward Compatibility Testing:
Tests whether the software is compatible with older
versions of hardware or software.
D. Forward Compatibility Testing:
Ensures the software will work with future versions of
hardware or software.
Purpose of Compatibility Testing:
1. To check if the software works on different operating
systems (Windows, macOS, Linux).
2. To ensure the software is compatible with different
browsers (Chrome, Firefox, Safari).
3. To test the software on different devices (Mobile, Tablet,
Laptop, Desktop).
Join Our Telegram Community - Aspire2Learn
4. To verify if the software supports different network
types (Wi-Fi, 4G, 5G).
Example of Compatibility Testing:
Example: Testing a Banking Application (like SBI Yono)
on:
Operating System: Windows, Android, iOS.
Browser: Chrome, Safari, Firefox.
Device: Mobile, Tablet, Laptop.
Expected Result: The application should work smoothly
without any errors on all platforms.
------------------------------------------------------------------------------
Test Your Knowledge Through
Aspire2Learn Online Quiz –
------------------- Aspire2Learn Online Quiz-------------------
------------------------------------------------------------------------------
Aspire2Learn Feedback Form –
- Your Voice, Our Priority
-------------------- Feedback Link --------------------------------
Join Our Telegram Community - Aspire2Learn
------------------------------------------------------------------------------
Join Our Telegram Community - Aspire2Learn
Join Our Telegram Community - Aspire2Learn