0% found this document useful (0 votes)
4 views23 pages

Software Testing 2

The document covers various aspects of software testing, including definitions, types, and methodologies such as Debugging, Black Box Testing, Load Testing, Agile vs Traditional Testing, and V-Model. It also discusses specific testing techniques like Unit Testing, System Testing, and Agile Testing Quadrants, along with their advantages and objectives. Additionally, it provides examples and comparisons of different testing approaches to enhance understanding of software quality assurance.

Uploaded by

yashkhalate672
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views23 pages

Software Testing 2

The document covers various aspects of software testing, including definitions, types, and methodologies such as Debugging, Black Box Testing, Load Testing, Agile vs Traditional Testing, and V-Model. It also discusses specific testing techniques like Unit Testing, System Testing, and Agile Testing Quadrants, along with their advantages and objectives. Additionally, it provides examples and comparisons of different testing approaches to enhance understanding of software quality assurance.

Uploaded by

yashkhalate672
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

Q1) Attempt the following.

a) Define Debugging
Debugging is the process of identifying, locating, and
fixing errors (bugs) in a software program after they
are discovered during testing or execution.

b) Black Box testing is known as glass


box testing. Justify T/F.
False.
Justification:
Black Box Testing checks the functionality of
software without knowing internal code.
Glass Box Testing (White Box Testing) requires
knowledge of internal program structure and
logic.
Hence, Black Box testing is not known as Glass
Box testing.

c) Write advantages of Load Testing


Advantages of Load Testing:
Identifies system behavior under normal and
peak load conditions.
Helps find performance bottlenecks.
Ensures system stability and reliability.
Improves scalability of the application.

d) Write difference between Agile and


Traditional testing
Agile Testing Traditional Testing
Testing is Testing is done after
continuous development
Works in iterations Follows phases
(sprints) (Waterfall)
Requirements Requirements are
change frequently fixed
Early defect
Defects found late
detection

e) Write objective of Spike Testing


Objective of Spike Testing:
To check how a system behaves under sudden,
extreme increases or decreases in load and to verify
its ability to recover.

f) List any 2 objectives of Software


Testing
To detect defects and errors in software.
To ensure the software meets user requirements.

g) Define Cyclomatic Complexity


Cyclomatic Complexity is a software metric that
measures the number of independent paths through a
program’s source code.
It helps in determining test case count and code
complexity.

h) Define Test Plan


A Test Plan is a formal document that describes the
scope, objectives, testing strategy, resources, schedule,
and activities for testing a software product.

Q2) Attempt any four of the


following
a) Explain Top-Down
Integration Testing
Top-Down Integration Testing is a strategy in which
testing begins with the top-level (main control)
module and proceeds downward to subordinate
modules step by step.
Explanation
The main module is tested first.
Lower-level modules are integrated one at a
time.
When a lower-level module is not ready, a stub is
used to simulate its behavior.
After the actual module is developed, the stub is
replaced.
Testing continues until all modules are
integrated.
Types of Top-Down Integration
Depth-First Integration – One complete path is
tested from top to bottom.
Breadth-First Integration – All modules at one
level are tested before moving to the next level.
Advantages
Early verification of system architecture.
Major design errors detected early.
No need for drivers.
Disadvantages
Lower-level modules tested late.
Writing stubs can be complex.

b) Write difference between


White Box and Black Box
Testing
White Box Black Box
Aspect
Testing Testing
Knowledg Internal Internal
White Box Black Box
Aspect
Testing Testing
structure structure
e of Code
known unknown
Logic,
Functional
Focus paths,
behavior
conditions
Testing Program Requirements
Basis structure and specifications
Performed
Developers Testers
By
Path Equivalence
Technique
testing, partitioning,
s
loop testing boundary value
Test Case Based on Based on inputs
Design code and outputs

c) List the Features of Agile


Testing
Agile Testing follows the principles of Agile
development and is performed continuously.
Features of Agile Testing
Testing is continuous and iterative
Testing begins early in development
Close collaboration between developers, testers,
and customers
Supports frequent requirement changes
Testing is done in short sprints
Less documentation, more working software
Fast feedback improves product quality
Automation is widely used

d) Write Short Note on


Dimensions of Quality
Dimensions of Quality are the attributes used to
measure the overall quality of software.
Main Dimensions of Software Quality
Functionality – Software performs required
functions correctly
Reliability – Software works consistently without
failure
Usability – Ease of learning and use
Efficiency – Optimal use of system resources
Maintainability – Ease of fixing defects and
making changes
Portability – Ability to run on different
platforms
These dimensions ensure software meets user
expectations and industry standards.
e) Write Advantages of
Regression Testing
Regression Testing is performed to ensure that
changes in software do not affect existing
functionality.
Advantages of Regression Testing
Detects defects introduced due to code changes
Ensures existing features work correctly after
updates
Improves overall software reliability
Reduces risk during maintenance
Helps maintain software stability
Supports frequent enhancements
Increases confidence in software releases
Essential for long-term software maintenance

Q3) Attempt any two of the


following
a) Explain V-Model in detail
V-Model (Verification and Validation Model) is a
software development life cycle model where testing
activities are planned and executed in parallel with
development activities.
It is called the V-Model because of its V-shaped
structure, where development phases are on the left side
and corresponding testing phases are on the right side.
Structure of V-Model
Left Side – Verification (Development
Phases)
Requirement Analysis
Understanding user needs
Test planning for acceptance testing starts here
System Design
Overall system architecture
Test cases for system testing are designed
High Level Design (HLD)
Module relationships
Test cases for integration testing prepared
Low Level Design (LLD)
Detailed module logic
Test cases for unit testing prepared
Coding
Actual program code is written
Right Side – Validation (Testing Phases)
Unit Testing
Tests individual modules
Corresponds to Low Level Design
Integration Testing
Tests interaction between modules
Corresponds to High Level Design
System Testing
Tests the complete system
Corresponds to System Design
Acceptance Testing
Validates system against user requirements
Corresponds to Requirement Analysis

Advantages of V-Model
Simple and easy to understand
Early defect detection
Testing activities start early
Suitable for small and medium projects
Disadvantages of V-Model
Not suitable for projects with changing
requirements
No early prototype
Less flexible

b) Describe Basic Path


Testing with example
Basic Path Testing is a White Box Testing technique
that ensures all independent execution paths of a
program are tested at least once.
Steps in Basic Path Testing
Construct Control Flow Graph (CFG)
Nodes represent statements
Edges represent control flow
Calculate Cyclomatic Complexity (V(G))
Formula:
V(G)=E−N+2V(G) = E - N + 2V(G)=E−N+2
where,
E = Number of edges
N = Number of nodes
Identify Independent Paths
Each new path introduces at least one new
edge
Design Test Cases
One test case for each independent path
Example
1. Start
2. If (a > b)
3. c=a+b
4. Else
5. c=a-b
6. End
Independent Paths:
Path 1: Start → If (true) → c = a + b → End
Path 2: Start → If (false) → c = a - b → End
Cyclomatic Complexity = 2, so 2 test cases are
required.
Advantages
Ensures maximum code coverage
Detects logical errors
Reduces redundant testing
c) What is System Testing?
How it tests the system? Also
list its different types
What is System Testing?
System Testing is a level of testing in which the
complete and integrated software system is tested to
verify that it meets specified requirements.
It is a Black Box Testing technique.

How System Testing Tests the System


Entire system is tested as a whole
Test cases are based on requirements specification
Functional and non-functional aspects are checked
Testing is performed in a production-like
environment
Both expected and unexpected inputs are tested

Types of System Testing


Functional Testing – Verifies system functionality
Performance Testing – Checks speed and
responsiveness
Load Testing – Tests behavior under expected load
Stress Testing – Tests beyond system capacity
Security Testing – Finds vulnerabilities
Usability Testing – Tests ease of use
Recovery Testing – Tests recovery after failure
Compatibility Testing – Tests on different
platforms

Q4) Attempt any two of the


following
a) What is a Web Application?
How it works? Explain
diagrammatically
What is a Web Application?
A Web Application is a software application that runs
on a web server and is accessed by users through a web
browser over the internet or intranet.
Unlike desktop applications, web applications do not
require installation on the user’s system.
Examples: Online banking system, e-commerce website,
email system, online examination system.

How a Web Application Works


A web application follows a client–server architecture
and works on the request–response model.
Step-by-Step Working:
The user enters a URL in the web browser.
The browser sends an HTTP request to the Web
Server.
The web server forwards the request to the
Application Server.
The application server executes business logic.
If required, it interacts with the Database Server.
The database returns data to the application server.
The application server sends the processed result to
the web server.
The web server sends an HTTP response back to
the browser.
The browser displays the output as a web page

Diagram (Text Representation)


User

Web Browser
↓ HTTP Request
Web Server

Application Server
↓Database Server

Application Server

Web Server
↑ HTTP Response
Web Browser

Advantages of Web Applications


Platform independent
Easy maintenance and updates
Accessible from anywhere
No local installation required
b) What is Unit Testing? How
it works? Explain with
example
What is Unit Testing?
Unit Testing is a software testing technique in which
individual units or components of a program (such as
functions, methods, or classes) are tested independently
to verify that each unit works correctly.
It is usually performed by developers
It is mainly a White Box Testing technique

How Unit Testing Works

Steps in Unit Testing:


Identify individual program units.
Design test cases for each unit.
Provide test inputs to the unit.
Compare actual output with expected output.
Fix errors if found.
Re-test the unit after correction.
Example of Unit Testing
Java Method:
int add(int a, int b) {
return a + b;
}
Test Case:
Input: a = 10, b = 20
Expected Output: 30
Actual Output: 30
✔ Test Passed

Advantages of Unit Testing


Detects bugs at early stage
Reduces cost of defect fixing
Improves code quality
Simplifies integration testing

c) What is a Test Case?


Explain with example
What is a Test Case?
A Test Case is a set of conditions, inputs, execution
steps, and expected results used to verify whether a
software application is working as per specified
requirements.
A test case ensures systematic and repeatable testing.

Components of a Test Case


Test Case ID
Test Description
Input Data
Expected Result
Actual Result
Test Status (Pass/Fail)

Example of a Test Case


Test Case for Login Functionality
Test Test
Expected
Case Descriptio Input
Result
ID n
Correct
Login
TC_01 Valid login username &
successful
password
TC_02 Invalid Wrong Error
Test Test
Expected
Case Descriptio Input
Result
ID n
message
login password
displayed

Importance of Test Cases


Ensures requirement coverage
Helps in regression testing
Improves testing efficiency
Provides documentation for future testing

Q5) Attempt any one of the


following
a) Write the difference
between Alpha and Beta
Testing
Aspect Alpha Testing Beta Testing
Testing Testing
performed at performed at
Definition
developer’s customer/user
site site
Developers
Performed Real users /
and internal
by customers
testers
Environm Controlled Real-world
ent environment environment
Testing Before Beta After Alpha
stage testing testing
Both White
Type of Mainly Black
box & Black
testing box
box
Get user
Find defects
Objective feedback & find
before release
hidden bugs
Less realistic Very realistic
Reliability
usage usage
Internal Users testing
Example testing of released beta
login module version
Summary
Alpha testing ensures the software is technically
correct.
Beta testing ensures the software is user-
acceptable.

b) Write short note on Agile


Testing Quadrants
Agile Testing Quadrants
The Agile Testing Quadrants help teams understand
what type of testing is needed, when to test, and why
to test in Agile projects.
They divide testing into four quadrants based on
business vs technology and supporting development
vs critiquing product.

Quadrant Q1 – Technology-Facing Tests


(Support Development)
Focus: Code correctness
Type: Unit tests, component tests
Performed by: Developers
Tools: JUnit, TestNG
Example: Method-level testing

Quadrant Q2 – Business-Facing Tests


(Support Development)
Focus: Business requirements
Type: Functional tests, acceptance tests
Performed by: Testers & customers
Example: Validating login, registration,
payments

Quadrant Q3 – Business-Facing Tests


(Critique Product)
Focus: User experience
Type: Exploratory testing, usability testing
Performed by: Testers, users
Example: UI testing, workflow testing

Quadrant Q4 – Technology-Facing Tests


(Critique Product)
Focus: System quality
Type: Performance, load, security testing
Performed by: Specialized testers
Example: Stress testing, security testing

Importance of Agile Testing Quadrants


Ensures complete test coverage
Balances business and technical needs
Improves product quality
Helps teams plan testing effectively

You might also like