Q1) Attempt any Eight of the
following
a) Define the term Fault
A Fault is a defect in the software code or design that may
cause the program to produce incorrect results or fail
during execution.
b) What is Driver?
A Driver is a temporary program used in testing to call and
execute a module when higher-level modules are not yet
developed, mainly used in Bottom-Up Integration Testing.
c) What is Graph Matrix?
A Graph Matrix is a square matrix representation of a
control flow graph, used in white box testing to show
relationships between nodes and edges in a program.
d) Define the term Test Plan
A Test Plan is a formal document that describes the scope,
objectives, testing strategy, resources, schedule, and
activities of software testing.
e) List out the Characteristics of Testing
Any four (write as needed):
Testing shows the presence of defects
Exhaustive testing is not possible
Early testing saves time and cost
Testing is context dependent
Absence of errors does not mean correctness
f) What is the Purpose of Web
Application?
The purpose of a Web Application is to provide interactive
services and functionality to users over the internet using a
web browser, without requiring local installation.
g) Define the term Acceptance
Testing
Acceptance Testing is a type of testing performed to verify
whether the software meets user requirements and is ready
for delivery to the customer.
h) What is the Purpose of Accessibility
Testing?
The purpose of Accessibility Testing is to
ensure that the application can be used by
people with disabilities, such as visual,
hearing, or physical impairments.
i) List out the Features of Agile
Testing
Continuous testing
Early testing in SDLC
Supports changing requirements
Frequent customer feedback
Iterative testing (sprints)
Close collaboration between teams
j) Define the term 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.
Q2) Attempt any Four of the
following
a) What is Cyclomatic Complexity? How
is it computed?
Cyclomatic Complexity
Cyclomatic Complexity is a software metric used to measure the logical
complexity of a program.
It indicates the number of independent execution paths in the source code and helps
determine the minimum number of test cases required for complete path coverage.
It is mainly used in White Box Testing.
How Cyclomatic Complexity is Computed
Cyclomatic Complexity can be calculated using the following methods:
1) Using Control Flow Graph (CFG) Formula
V(G)=E−N+2V(G) = E - N + 2V(G)=E−N+2
Where:
E = Number of edges
N = Number of nodes
2) Using Decision Points
V(G)=Number of decision points+1V(G) = \text{Number of
decision points} + 1V(G)=Number of decision points+1
Decision points include:
if
while
for
case statements
3) Using Regions Method
Cyclomatic Complexity = Number of regions in the control flow graph.
Importance
Helps in test case design
Identifies complex modules
Improves code quality and maintainability
b) Explain the Dimensions of Quality
Dimensions of Quality are attributes used to evaluate the overall quality of
software.
Main Dimensions of Software Quality
1.
Functionality
2.
Ability of software to perform required functions correctly
3.
Reliability
4.
Consistent performance without failure
5.
Usability
6.
o
Ease of learning, understanding, and use
7.
Efficiency
8.
Optimal use of system resources like CPU, memory, and time
9.
Maintainability
10.
Ease of fixing bugs and making enhancements
11.
Portability
12.
Ability of software to run on different platforms
Importance
Ensures user satisfaction
Improves software effectiveness
Helps in quality assurance
c) Explain the Types of Performance
Testing
Performance Testing evaluates how a system performs under various conditions.
Types of Performance Testing
1.
Load Testing
2.
Tests system behavior under expected user load
3.
Stress Testing
4.
Tests system beyond normal capacity
o
o
Identifies breaking point
5.
Spike Testing
6.
Tests response to sudden increase or decrease in load
7.
Endurance (Soak) Testing
8.
Tests system over a long period of time
9.
Volume Testing
10.
Tests system with large volumes of data
Purpose
Ensure stability
Improve scalability
Identify performance bottlenecks
d) List out Agile Principles in detail
The Agile Manifesto defines 12 principles that guide Agile development.
Agile Principles
1.
Customer satisfaction through early delivery
2.
3.
Welcome changing requirements
4.
5.
Deliver working software frequently
6.
7.
Business people and developers collaborate daily
8.
9.
Build projects around motivated individuals
10.
11.
Face-to-face communication is best
12.
13.
Working software is the primary measure of progress
14.
15.
Sustainable development pace
16.
17.
Continuous attention to technical excellence
18.
19.
Simplicity – maximize work not done
20.
21.
Self-organizing teams produce best designs
22.
23.
Regular reflection and improvement
24.
Importance
Improves flexibility
Ensures faster delivery
Enhances customer satisfaction
e) Differentiate between Alpha and Beta
Testing
Aspect Alpha Testing Beta Testing
Performed Developers & internal
End users
by testers
Location Developer’s site User’s site
Environment Controlled Real-world
Testing
Before Beta testing After Alpha testing
stage
Type White box + Black box Black box
Collect user
Objective Detect defects early
feedback