0% found this document useful (0 votes)
24 views21 pages

software testing question papers

The document covers various aspects of software testing, including definitions of debugging, testing types, and methodologies. It discusses concepts such as Agile vs. Traditional testing, load testing advantages, and the V-model of software development. Additionally, it explains testing techniques like unit testing, system testing, and the Agile Testing Quadrants.

Uploaded by

Rohan Kate
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)
24 views21 pages

software testing question papers

The document covers various aspects of software testing, including definitions of debugging, testing types, and methodologies. It discusses concepts such as Agile vs. Traditional testing, load testing advantages, and the V-model of software development. Additionally, it explains testing techniques like unit testing, system testing, and the Agile Testing Quadrants.

Uploaded by

Rohan Kate
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/ 21

Q1: Answer the following:

a) Define Debugging.

Debugging is the process of identifying, analyzing, and fixing bugs or issues within a software
program. It involves detecting and resolving errors in the code to ensure the software behaves as
expected.

b) Black Box testing is known as glass box testing. Justify T/F.

False.
Black Box testing and Glass Box testing (also known as White Box testing) are two different
testing techniques.

 Black Box testing focuses on testing the functionality of the software without knowledge
of the internal code or structure. It tests what the system does, not how it does it.
 White Box testing (Glass Box testing) involves testing the internal workings of the
application, such as the code, algorithms, and architecture.

c) Write advantages of Load Testing.

 Helps in determining the system's performance under heavy load or stress.


 Identifies performance bottlenecks and areas where the system may fail under stress.
 Assists in optimizing system resources (CPU, memory, etc.).
 Ensures the application can handle the expected number of concurrent users.
 Helps ensure the scalability of the system.

d) Write difference between Agile and Traditional testing.

Agile Testing Traditional Testing


Testing is done continuously throughout the Testing is done after the development phase
development process. is complete.
Follows a rigid and sequential approach
Focuses on collaboration and adaptability.
(waterfall).
Flexible and iterative, testing is performed in Testing follows a set process, often in
sprints. phases.
Testers work closely with developers and Testers often work separately from
stakeholders. developers.
Emphasizes working software and customer Emphasizes completing milestones and
satisfaction. documentation.

e) Write objective of Spike testing.


The objective of Spike testing is to evaluate the system's behavior under extreme conditions or a
sudden increase in load or traffic. It tests the system's ability to handle sudden, unexpected spikes
in load and ensures its performance under those conditions.

f) List any 2 objectives of Software Testing.

1. To identify and fix defects in the software to ensure that it meets the required
functionality.
2. To ensure that the software meets the specified requirements and performs correctly
under various conditions.

g) Define Cyclomatic Complexity.

Cyclomatic Complexity is a software metric that measures the complexity of a program based on
the number of linearly independent paths through the program's source code. It helps in
determining the minimum number of test cases needed for thorough testing.

h) Define Test Plan.

A Test Plan is a document that outlines the strategy, objectives, scope, resources, schedule, and
activities related to software testing. It provides a detailed description of the testing process and
ensures that all test activities are aligned with the project goals.

Q2: Attempt any four of the following:

a) Explain Top-down integration.

Top-down integration testing is an approach where testing starts with the highest-level modules
and progressively moves downward to lower-level modules. Initially, the top-level modules are
tested using stubs for the lower-level modules. As the testing progresses, the stubs are replaced
by actual modules, and the system is tested in parts.

b) Write difference between White and Black box testing.

White Box Testing Black Box Testing


Involves testing the internal structure Involves testing the software functionality without
and logic of the system. knowledge of its internal structure.
Focuses on the code, algorithms, and
Focuses on inputs and expected outputs.
control flow.
Requires knowledge of the programming
Does not require knowledge of the internal code.
language.
Aims to verify internal operations and
Aims to validate external behavior of the software.
control flows.
c) List the features of Agile Testing.

 Iterative and Incremental: Testing is done in short cycles or sprints with incremental
changes.
 Continuous Feedback: Regular feedback is collected from stakeholders to improve the
product.
 Collaboration: Testers, developers, and stakeholders collaborate throughout the process.
 Adaptability: Agile testing is flexible and can adjust to changing requirements.
 Focus on Customer: Ensures the product is delivered with a focus on customer
satisfaction and functionality.

d) Write short note on dimension of quality.

The dimensions of quality refer to various aspects that determine the overall quality of a product
or service. These include:

 Functionality: The capability of the product to meet its specifications and requirements.
 Reliability: The product's ability to perform consistently and without failure.
 Usability: How easy and intuitive the product is to use.
 Efficiency: The product's ability to perform tasks with optimal use of resources.
 Maintainability: The ease with which the product can be modified and improved.
 Portability: The ease with which the product can be adapted to different environments.

e) Write advantages of regression testing.

 Identifies New Bugs: Helps to identify any defects introduced by new changes or
updates.
 Ensures Software Integrity: Ensures that previously working features are not broken by
changes or additions.
 Enhances Reliability: Improves the stability and reliability of the software over time.
 Saves Time: Automation of regression tests can speed up the testing process and reduce
manual testing effort.

Q3: Attempt any two of the following:

a) Explain V-model in detail.

The V-Model is a software development model that emphasizes verification and validation. It is
an extension of the waterfall model, where each phase of development corresponds to a testing
phase. The stages of the V-model include:

1. Requirements Analysis: Defines functional and non-functional requirements.


2. System Design: Focuses on architecture and high-level design.
3. Module Design: Focuses on the detailed design of components.
4. Implementation: Coding and development.
5. Unit Testing: Verifies the correctness of individual modules.
6. Integration Testing: Verifies interactions between components.
7. System Testing: Verifies the system as a whole.
8. Acceptance Testing: Verifies the system's compliance with requirements and user needs.

In the V-model, the development activities are linked with corresponding testing activities,
ensuring that each phase is validated.

b) Describe basic path testing with example.

Basic Path Testing is a technique used in White Box Testing to design test cases based on the
control flow graph of the program. It aims to ensure that all the independent paths of the program
are covered by test cases.

Example: Consider the following simple code:

kotlin
Copy
if (a > b) {
return a;
} else {
return b;
}

The independent paths here are:

1. Path 1: a > b (True condition)


2. Path 2: a <= b (False condition)

Basic Path Testing would require two test cases to cover these paths.

c) What is system testing? How it test the system? Also list its different types.

System Testing is a type of software testing where the entire system is tested as a whole to
verify that it meets the specified requirements. It ensures that all components of the software,
both functional and non-functional, work together as expected.

System testing involves:

 Verifying the system’s behavior against functional and non-functional requirements.


 Ensuring that the system performs well under expected load conditions.
 Testing the system for security, usability, and compatibility.

Different types of system testing include:

1. Functional Testing: Verifies that the system functions as intended.


2. Performance Testing: Evaluates the performance of the system under various
conditions.
3. Security Testing: Ensures the system is secure from threats and vulnerabilities.
4. Usability Testing: Assesses the system's user interface and user experience.
5. Compatibility Testing: Ensures the system works across different environments and
platforms.

Q4: Attempt any two of the following:

a) What is Web application? How it works? Explain diagrammatically.

Web Application: A web application is a software application that runs on a web server rather
than being installed on a local computer. It is accessed through a web browser over the internet
or an intranet. Web applications are dynamic, and their data is usually stored on a server and
accessed via the internet.

How Web Application Works:

1. User Request: The user enters a URL into a web browser.


2. Client-Side Request: The web browser sends a request to the server hosting the web
application.
3. Server Processing: The server processes the request, usually involving interaction with
databases or other services.
4. Response: The server sends back the processed information (HTML, CSS, JavaScript,
etc.) to the browser.
5. User Interface: The web browser renders the received data, allowing the user to interact
with the web application.

Diagrammatically:

rust
Copy
User <-----> Web Browser <-----> Web Server <-----> Database

 User: Interacts with the web browser to make requests.


 Web Browser: Sends user requests to the server and displays responses.
 Web Server: Handles requests, processes data, and communicates with the database.
 Database: Stores data for the web application and retrieves it as needed.

b) What is Unit Testing? How it works? Explain with example.

Unit Testing: Unit testing is a software testing technique where individual units or components
of a software application are tested in isolation from the rest of the application. The goal is to
ensure that each unit (typically a function or method) behaves as expected.

How it Works:
1. A test case is written for a specific unit or function of the software.
2. The unit is tested independently, ensuring that it works correctly in isolation.
3. The output of the unit is compared with the expected output.
4. If the unit produces the expected output, the test is considered passed. Otherwise, it is
considered failed.

Example: Consider a function add(a, b) that adds two numbers.

python
Copy
def add(a, b):
return a + b

Unit test for this function:

python
Copy
def test_add():
assert add(2, 3) == 5 # Passes
assert add(-1, 1) == 0 # Passes
assert add(0, 0) == 0 # Passes

In this example, the add() function is tested with various inputs to ensure it works correctly. If
all assertions pass, the test is successful.

c) What is Test Case? Explain with Example.

Test Case: A test case is a set of conditions or variables that determine whether a software
application functions correctly. It includes a set of inputs, execution conditions, and expected
results to verify the behavior of the software under test.

Components of a Test Case:

1. Test Case ID: Unique identifier for the test case.


2. Test Case Description: A short description of the functionality being tested.
3. Pre-conditions: Any prerequisites or conditions that must be met before executing the
test.
4. Test Steps: The steps to perform during the test.
5. Test Data: The input data used in the test.
6. Expected Results: The expected outcome of the test.
7. Actual Results: The actual outcome of the test (to be filled after execution).
8. Status (Pass/Fail): Indicates whether the test passed or failed.

Example: Testing the login functionality of an application:

 Test Case ID: TC_001


 Test Case Description: Test login functionality with valid credentials.
 Pre-conditions: User is registered in the system.
 Test Steps:
1. Open the login page.
2. Enter a valid username and password.
3. Click the "Login" button.
 Test Data:
o Username: "user1"
o Password: "password123"
 Expected Results: User should be logged in successfully and redirected to the
dashboard.
 Actual Results: (To be filled during testing)
 Status: (Pass/Fail)

Q5: Attempt any one of the following:

a) Write a difference between Alpha and Beta testing.

Alpha Testing Beta Testing


Alpha testing is performed by the internal Beta testing is performed by real users (external
development team. testers).
It occurs in the early stages of development It occurs after alpha testing, when the product is
before the product is released. close to being finished.
It is conducted in a controlled environment It is performed in a real-world environment by
(in-house testing). actual users.
The goal is to find bugs before the product The goal is to gather feedback from users on the
is released to external users. product's usability and functionality.
Beta testers are not familiar with the product and
Alpha testers are familiar with the product.
use it in real-world conditions.
It is more focused on internal testing and It helps assess user satisfaction and identify issues
stability. in a real-world scenario.

b) Write short note on Agile Testing Quadrants.

Agile Testing Quadrants: The Agile Testing Quadrants provide a framework for organizing
different types of testing activities in Agile projects. They are divided into four quadrants to help
clarify which types of testing should be done at different stages of development.

1. Quadrant 1 (Technology-Facing, Supportive):


o These tests focus on the core functionality of the software and are typically
automated.
o Types of tests: Unit tests, Component tests, and API tests.
2. Quadrant 2 (Business-Facing, Supportive):
o These tests are business-oriented and help ensure that the system meets the
business requirements.
o
Types of tests: Functional testing, Story testing, and Acceptance testing.
3. Quadrant 3 (Business-Facing, Critique):
o These tests focus on user experience and how the product works from a business
perspective.
o Types of tests: Usability testing, User acceptance testing (UAT), and Exploratory
testing.
4. Quadrant 4 (Technology-Facing, Critique):
o These tests focus on the performance and technical aspects of the application,
often performed by developers and testers.
o Types of tests: Performance testing, Security testing, and Load testing.

The Agile Testing Quadrants help teams understand the appropriate type of testing for different
stages of development and provide a balanced approach to testing across the development
lifecycle.

Q1: Attempt any eight of the following:

a) Define the term errors.

An error refers to a mistake made by the programmer or developer during coding or design,
which leads to incorrect results, faulty behavior, or failure in the system. Errors can be of various
types, such as syntax errors, logical errors, or runtime errors.

b) What is stub?

A stub is a piece of code used in integration testing to simulate the behavior of missing or
incomplete components of a system. It allows testing of higher-level modules while the lower-
level modules are still being developed.

c) Write a goal of white-box testing.

The primary goal of white-box testing is to verify the internal workings of the system. It focuses
on testing the code, logic, structure, and flow of the application to ensure that all parts of the
code function as expected and there are no hidden defects or vulnerabilities.

d) What is test plan?

A test plan is a document that outlines the strategy, objectives, scope, resources, schedule, and
activities required for software testing. It defines the testing approach, identifies the testing tools
to be used, and sets the criteria for testing success.

e) Write two methods of Black Box Testing.

1. Equivalence Partitioning: Divides input data into equivalent partitions to reduce the
number of test cases. Each partition should ideally yield the same result.
2. Boundary Value Analysis: Focuses on testing the boundaries of input data (i.e., values
at the edges of input ranges) to identify potential defects at the limits.

f) Write dimensions of quality.

The dimensions of quality include several key factors that contribute to the overall quality of a
product. These are:

1. Functionality - The system's ability to perform its intended functions.


2. Reliability - The stability of the system over time.
3. Usability - How easy and intuitive the system is to use.
4. Efficiency - The system's ability to perform tasks optimally without wasting resources.
5. Maintainability - The ease with which the system can be modified, updated, or fixed.
6. Portability - The system's ability to be used in different environments or platforms.

g) What do you mean by performance testing?

Performance testing is the process of evaluating the speed, responsiveness, scalability, and
overall performance of an application or system under various conditions. It helps to identify
bottlenecks, performance degradation, and areas for optimization.

h) Write a goal of unit testing.

The goal of unit testing is to verify that individual units or components of the software (such as
functions or methods) perform correctly in isolation. It ensures that each part of the software
works as intended and produces the expected outputs.

i) Which is a core agile principle?

A core Agile principle is:

 Customer collaboration over contract negotiation.


This principle emphasizes the importance of working closely with customers and
stakeholders to ensure the product meets their needs, rather than just focusing on the
terms of a contract.

j) Define the term Regression Testing.

Regression testing refers to the process of testing the software after changes (like enhancements,
bug fixes, or updates) have been made to ensure that these changes have not negatively affected
the existing functionality of the system.

Q2: Attempt any four of the following:


a) Write an advantage of white-box testing.

 Thorough Code Coverage: White-box testing allows for comprehensive testing of the
code, ensuring that all paths, branches, and conditions are tested. It helps identify hidden
bugs that may not be detected with black-box testing.
 Early Detection of Bugs: Since white-box testing is conducted at the code level, it helps
identify bugs early in the development process, reducing the cost of fixing them later.

b) Explain the working of a web application.

A web application works through a client-server model where the client (web browser) interacts
with the server over the internet:

1. User Request: The user enters a URL in the browser.


2. Browser sends Request: The browser sends an HTTP request to the web server.
3. Server Processing: The web server processes the request, often querying a database or
performing computations.
4. Response Sent to Client: The server sends back the processed data (e.g., HTML, CSS,
JavaScript) to the client’s browser.
5. User Interface Rendered: The browser processes the response and displays the web
page to the user.

Diagrammatic flow:

rust
Copy
User -> Browser -> Web Server -> Database (optional) -> Browser (response
rendered)

c) Explain various forms of acceptance testing.

There are several forms of acceptance testing, including:

1. Alpha Testing: Conducted by the internal development team to identify bugs before
releasing the product to a selected group of external users.
2. Beta Testing: Performed by a select group of external users to identify issues from real-
world usage.
3. User Acceptance Testing (UAT): The final test by the end-users to ensure that the
product meets their needs and is ready for production.
4. Operational Acceptance Testing (OAT): Focuses on the operational aspects of the
system such as backup, recovery, and installation.

d) Write features of agile testing.

Features of agile testing include:


1. Iterative and Incremental: Testing is done continuously throughout the development
process in short sprints.
2. Collaboration: Testers, developers, and stakeholders work closely together.
3. Customer Feedback: Continuous feedback from the customer or end-user is
incorporated.
4. Flexibility: The testing process adapts to changing requirements.
5. Emphasis on Automation: Agile testing encourages the use of automated tests to
improve efficiency and speed.

e) Explain various types of system testing.

System testing verifies that the entire system works as expected. Types include:

1. Functional Testing: Ensures that the system performs the required functions correctly.
2. Performance Testing: Evaluates how well the system performs under various conditions
(e.g., load, stress).
3. Security Testing: Tests for vulnerabilities and ensures that the system is secure against
threats.
4. Usability Testing: Ensures that the system is user-friendly and meets usability standards.
5. Compatibility Testing: Checks that the system works across different platforms,
browsers, and devices.
6. Recovery Testing: Tests the system's ability to recover from failures or crashes.
7. Stress Testing: Assesses the system's stability when subjected to extreme conditions,
such as high load.

Q3: Attempt any two of the following:

a) Explain the difference between Testing and Debugging.

Testing Debugging
Definition: Testing is the process of evaluating a Definition: Debugging is the process of
software application to identify bugs or defects, identifying, isolating, and fixing defects
ensuring that the software meets the requirements or issues in the code of a software
and works as expected. application.
Objective: The goal of debugging is to
Objective: The goal of testing is to find defects and
locate and resolve issues or defects that
ensure that the software meets the functional and
have been identified during testing or
non-functional requirements.
reported by users.
Focus: Focuses on identifying issues (bugs), Focus: Focuses on fixing the issues or
inconsistencies, and failures in the software. bugs found during testing or use.
Tools Used: Debugging involves using
Tools Used: Testing often involves the use of test
debuggers, logging, breakpoints, and code
cases, automation tools, and testing frameworks.
analysis.
Testing Debugging
Involves analyzing the software code,
Process: Involves executing the software to detect
investigating issues, and modifying the
faults.
code to fix problems.

b) What is Cyclomatic Complexity and Graph Matrix? Explain with example.

 Cyclomatic Complexity:
Cyclomatic Complexity is a metric used to measure the complexity of a program. It is
based on the control flow graph of the program, where nodes represent code blocks and
edges represent the control flow between these blocks. It gives an indication of the
number of linearly independent paths in the code, which helps in determining the number
of test cases needed to achieve full branch coverage.
o Formula: V(G)=E−N+2PV(G) = E - N + 2PV(G)=E−N+2P Where:
 V(G) = Cyclomatic Complexity
 E = Number of edges in the control flow graph
 N = Number of nodes in the control flow graph
 P = Number of connected components (typically 1 in a single program)

Example: For a simple program with the following control flow:

kotlin
Copy
if (a > b) {
return a;
} else {
return b;
}

o Nodes (N): 4 (entry, two branches, exit)


o Edges (E): 4 (entry to condition, condition to each branch, and from each branch
to exit)
o Cyclomatic Complexity: V(G)=E−N+2=4−4+2=2V(G) = E - N + 2 = 4 - 4 + 2 =
2V(G)=E−N+2=4−4+2=2

This means there are 2 independent paths that need to be tested.

 Graph Matrix:
A graph matrix (or adjacency matrix) is a way of representing a graph in matrix form.
Each node is assigned an index, and the matrix represents the connections between nodes
with 0s and 1s. For each pair of nodes, a 1 indicates an edge exists, and a 0 indicates no
edge.

c) Explain the process of Stress Testing with example.


Stress Testing is a type of performance testing that evaluates how a system behaves under
extreme conditions or when pushed beyond its normal operational capacity. The goal is to
identify the system's breaking point or weaknesses in handling extreme loads.

Process:

1. Identify normal operating conditions: Establish the system's typical load, expected
traffic, and performance benchmarks.
2. Apply excessive load: Gradually increase the load beyond the system's capacity (e.g.,
high traffic, heavy data processing, etc.).
3. Monitor system performance: Track how the system behaves under stress, focusing on
CPU usage, memory consumption, response time, and other performance metrics.
4. Observe system failure: Determine at which point the system crashes, fails to meet
performance requirements, or becomes unstable.
5. Analyze results: Identify bottlenecks, weak points, and the system's capacity to recover
from stress.

Example:
A web application designed to handle 1,000 simultaneous users is tested by simulating 5,000
simultaneous users. The system is monitored for CPU usage, server load, response time, and data
integrity. Stress testing helps identify how the system behaves when it exceeds its capacity, and
where performance degradation or crashes might occur.

Q4: Attempt any two of the following:

a) Define navigation testing. How to test navigation syntax and semantics?

Navigation Testing:
Navigation testing ensures that the application’s user interface (UI) allows users to correctly and
efficiently navigate through the application, and that all links, buttons, and menus function as
expected.

 Navigation Syntax Testing:


It involves testing the links and user interface components to ensure they direct users to
the correct destinations. This ensures that there are no broken links or incorrect paths.

How to Test Syntax:

o Test that all URLs, links, and buttons are working correctly.
o Ensure all links lead to the expected pages or sections.
o Verify that no dead or broken links exist.
 Navigation Semantics Testing:
Semantics refers to the usability and meaning of the navigation. It ensures that the user’s
expectations are met, and the application flows logically.
How to Test Semantics:

o Verify that the navigation is intuitive and easy to understand.


o Ensure the names of menus and links reflect their content.
o Test if the flow between pages makes sense from the user’s perspective.

b) Define the term test case. Explain with example test case.

Test Case:
A test case is a set of conditions, inputs, and expected results that define how a specific feature
or function of an application should behave. It is written to verify whether the software behaves
as expected under certain conditions.

Components of a Test Case:

1. Test Case ID: A unique identifier for the test case.


2. Test Case Description: A brief description of what the test case is verifying.
3. Preconditions: Any setup or conditions required before running the test.
4. Test Steps: The specific actions or inputs that need to be performed during the test.
5. Expected Results: What should happen after the test steps are executed.
6. Actual Results: The outcome after the test case is executed.
7. Status: Whether the test passed or failed.

Example Test Case:

 Test Case ID: TC_001


 Test Case Description: Verify user login with valid credentials.
 Preconditions: The user is already registered.
 Test Steps:
1. Open the login page.
2. Enter the username: user123
3. Enter the password: password123
4. Click the "Login" button.
 Expected Results: The user is successfully logged in and redirected to the dashboard
page.
 Actual Results: (Filled after executing the test)
 Status: (Pass/Fail)

c) Compare verification and validation.

Verification Validation
Definition: Verification is the process of Definition: Validation is the process of
evaluating software during development to evaluating the software at the end of the
ensure it meets the specified requirements and development cycle to ensure it meets the
design specifications. customer’s needs and expectations.
Verification Validation
Focus: Focuses on whether the software is Focus: Focuses on whether the right software
being built correctly according to the design is being built, i.e., whether it fulfills the
specifications. customer’s requirements and expectations.
Process: Involves reviews, inspections, and Process: Involves testing, user acceptance
walkthroughs. testing, and final product validation.
When Done: Performed throughout the When Done: Done at the end of the
development process. development lifecycle.
Answer to Question: “Are we building the Answer to Question: “Are we building the
product right?” right product?”

Q5: Attempt any one of the following:

a) Explain the various phases of internationalization testing.

Internationalization Testing ensures that the software application can function correctly in
different languages, regions, and cultures. The phases involved are:

1. Requirement Analysis:
This phase involves understanding the internationalization requirements, such as
supporting multiple languages, regions, and date formats.
2. Design:
The software architecture is designed to support internationalization features such as
language localization, date, time, currency formats, and right-to-left text support.
3. Development:
Developers implement internationalization features, like extracting all user-facing text
into external resource files and supporting various encoding formats (e.g., UTF-8).
4. Testing:
Involves verifying that the software behaves as expected when deployed in different
regions with different locales and languages. It checks the functionality of localization
features.
5. Release:
The product is released for different regions and is localized for the target audience.

b) Difference between Alpha and Beta Testing.

Alpha Testing Beta Testing


Performed by internal teams (e.g., developers, Performed by external users (actual
testers) before releasing the product to external customers) to gather feedback before the
users. final release.
Focuses on collecting user feedback and
Focuses on detecting bugs and issues early in
ensuring the product is ready for real-world
development.
use.
Alpha Testing Beta Testing
Occurs in a controlled environment (in-house). Performed in a real-world environment.
Typically done with limited users, such as
Typically done with a larger group of users
internal stakeholders or a small group of selected
outside the company.
testers.
Testing is often more technical and focused on
the functionality.

Q1: Attempt any 8 of the following:

a) What is fault?

A fault (also known as a defect or bug) is an issue in the software code or design that causes the
software to behave incorrectly or produce incorrect results. Faults can arise from coding
mistakes, poor design, or incorrect assumptions made during development.

b) Define verification.

Verification is the process of evaluating software during development to ensure that it conforms
to the specifications and design documents. It checks whether the software is being built
correctly according to the defined requirements and design standards.

c) Define stub.

A stub is a placeholder or mock implementation used in integration testing to simulate a


component or module that is yet to be developed or completed. Stubs are used to allow testing of
higher-level modules that depend on the missing functionality.

d) Write methods of white-box testing.

White-box testing involves testing the internal structures or workings of an application. Common
methods include:

1. Statement Coverage: Ensures every line of code is tested at least once.


2. Branch Coverage: Tests all decision points (if-else statements, loops) to ensure each
branch is executed.
3. Path Coverage: Ensures that all possible paths through the code are tested.
4. Condition Coverage: Ensures that each boolean expression is evaluated to both true and
false.

e) Define regression testing.


Regression testing is the process of re-running previously executed test cases after changes
(such as bug fixes or new features) to ensure that the changes have not introduced new defects
and that the software still works as expected.

f) What is Agile Methodology?

Agile methodology is a flexible, iterative approach to software development that focuses on


delivering small, incremental updates to the product. It encourages collaboration between cross-
functional teams, customer feedback, and continuous improvement throughout the development
process.

g) List dimensions of quality.

The dimensions of quality in software include:

1. Functionality - The ability to perform required tasks.


2. Reliability - The ability to perform consistently without failure.
3. Usability - The ease with which users can navigate and operate the system.
4. Efficiency - The use of minimal resources (e.g., time, memory).
5. Maintainability - The ease with which software can be updated or modified.
6. Portability - The ability of the software to work across different platforms or
environments.

h) Define strategy for web applications.

A strategy for web applications refers to the approach taken to ensure the development,
deployment, and maintenance of the application is successful. Key strategies include:

1. Security: Protecting data and preventing unauthorized access.


2. Scalability: Ensuring the application can handle increasing numbers of users or
transactions.
3. Performance: Ensuring the application runs efficiently, even under heavy load.
4. Usability: Designing the application with the user in mind for easy navigation and
interaction.

i) Define acceptance testing.

Acceptance testing is the process of verifying that the software meets the requirements and
expectations of the customer or end-users. It is often the final phase of testing before the product
is released to the customer. It includes functional, usability, and performance checks.

j) Black box testing is called glass box testing. Justify T/F.

False. Black box testing and glass box testing are different approaches:
 Black box testing focuses on testing the functionality of the application without
knowledge of the internal workings (i.e., you test based on input and output).
 Glass box testing, also known as white-box testing, involves testing the internal logic,
structure, and code of the application.

Q2: Attempt any four of the following:

a) Write a short note on testing roles.

In software testing, there are several key roles involved:

1. Test Manager: Responsible for overseeing the entire testing process, resource allocation,
and scheduling.
2. Test Lead: Manages the day-to-day testing activities, coordinates the testing team, and
ensures tests are executed as planned.
3. Test Analyst: Designs test cases and prepares the testing environment.
4. Tester: Executes the test cases and reports defects.
5. Automation Engineer: Develops and maintains automated test scripts.

b) Explain white box and black box testing.

 White Box Testing: Involves testing the internal structure of the application. Testers
have knowledge of the code, and test cases are designed to verify the logic, paths,
branches, and conditions within the code.
 Black Box Testing: Focuses on testing the software's functionality without any
knowledge of its internal structure. Test cases are designed based on the software's
requirements and user expectations.

c) Compare testing and debugging (any two points).

Testing Debugging
Focuses on identifying defects in the
Focuses on finding and fixing defects in the code.
software.
Performed after the code is written, often by Performed by the developer, often while writing
independent testers. or after writing the code.

d) Explain performance of testing.

Performance testing evaluates how well a system performs under varying loads. This type of
testing focuses on aspects like responsiveness, stability, scalability, and resource usage under
stress. It typically includes:

 Load testing: Verifying the system’s performance under expected load.


 Stress testing: Determining the system's behavior under extreme conditions.
 Scalability testing: Checking the system’s ability to scale as the load increases.

e) Write a short note on features of Agile testing.

Key features of Agile testing include:

1. Iterative Process: Testing is done in short iterations (sprints).


2. Continuous Feedback: Frequent feedback from stakeholders and customers is
incorporated.
3. Collaboration: Close communication between testers, developers, and business owners.
4. Test Automation: Heavy use of automated tests to speed up the testing process and
ensure continuous integration.
5. Flexibility: Agile testing adapts to changes in requirements, design, or development
throughout the project.

Q3: Attempt any two of the following:

a) Explain test case with example.

A test case is a detailed set of actions used to verify that a feature or function of the software
works as expected. It includes the conditions, inputs, expected results, and steps to execute.

Example Test Case:

 Test Case ID: TC_001


 Test Case Description: Verify login functionality with valid credentials.
 Preconditions: The user should have a valid username and password.
 Test Steps:
1. Open the login page.
2. Enter username: user1
3. Enter password: password123
4. Click the login button.
 Expected Result: The user should be logged in successfully and redirected to the
homepage.
 Actual Result: (To be filled during testing)
 Status: (Pass/Fail)

b) Write a short note on V-model with diagram.

The V-model (Verification and Validation model) is a software development lifecycle model
that emphasizes verification and validation at each stage. It’s called the "V-model" because the
process flows down in a sequential manner, then rises back up, reflecting verification and
validation activities.
V-model Diagram:

rust
Copy
Requirements Analysis ---> System Design ---> Architecture Design
| | |
Verification Activities Verification Activities Verification
Activities
| | |
V V V
Coding (Development) <--> Unit Testing <--> Integration Testing <-->
System Testing <--> Acceptance Testing
Validation Activities Validation Activities
Validation Activities

c) Explain navigation testing in detail.

Navigation testing verifies the correct navigation of the system, ensuring that users can move
between pages or sections as expected. It checks both the syntax (correct URLs or links) and
semantics (whether the links lead to the correct or appropriate content).

 Syntax Testing: Involves testing the actual functionality of links, ensuring they direct
users to the correct destinations.
 Semantics Testing: Involves testing whether the navigation structure makes sense from
the user’s perspective and whether it aligns with their expectations.

Q4: Attempt any two of the following:

a) Write a short note on alpha & beta testing.

 Alpha Testing: Conducted by internal developers or testers in a controlled environment


before the software is released to external users. It focuses on detecting bugs and
usability issues.
 Beta Testing: Performed by a selected group of external users or customers who provide
feedback on the product. It helps identify real-world issues before the final release.

b) Explain integration testing. What is bottom-up integration?

Integration testing involves testing the interfaces between modules to ensure they work together
as expected. It is done after unit testing and ensures that different parts of the system integrate
correctly.

 Bottom-up Integration: In this approach, testing starts with the lowest-level modules
(leaf modules) and progresses upward to higher-level modules. Stubs are used for
modules that are not yet developed.
c) What is a web application? How it works? Explain with a diagram.

A web application is a software application that runs on a web server and can be accessed via a
web browser. It works by:

1. The user interacts with the front-end (UI) in the browser.


2. The front-end sends requests to the back-end server (e.g., via HTTP requests).
3. The server processes the request, interacts with databases if needed, and returns the
response to the browser.
4. The browser displays the response to the user.

Diagram:

rust
Copy
User (Browser) <--> Web Server <--> Database

Q5: Attempt any one of the following:

a) Explain different layers of automated tests.

The layers of automated tests typically include:

1. Unit Testing: Tests individual units or functions of the software.


2. Integration Testing: Tests interactions between integrated components or modules.
3. Functional Testing: Verifies the functionality of the software against the requirements.
4. End-to-End Testing: Validates the entire system's functionality from the user’s
perspective.
5. Regression Testing: Ensures that new changes don't negatively affect existing features.

b) Write a short note on internationalization testing.

Internationalization testing ensures that the software can be adapted to different languages,
regions, and cultures without engineering changes. It involves checking that the application
handles different character sets, date formats, currencies, and other locale-specific features
correctly. This is critical when developing software for a global audience.

You might also like