0% found this document useful (0 votes)
9 views

Tybcs Software Testing

The document outlines key concepts and definitions related to software testing, including fault, verification, regression testing, and agile methodology. It also discusses various testing strategies, levels, and objectives, emphasizing the importance of quality assurance in software development. Additionally, it highlights the differences between agile and traditional testing approaches, along with specific testing techniques such as white box and performance testing.

Uploaded by

aniketjagadale59
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views

Tybcs Software Testing

The document outlines key concepts and definitions related to software testing, including fault, verification, regression testing, and agile methodology. It also discusses various testing strategies, levels, and objectives, emphasizing the importance of quality assurance in software development. Additionally, it highlights the differences between agile and traditional testing approaches, along with specific testing techniques such as white box and performance testing.

Uploaded by

aniketjagadale59
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

SOFTWARE TESTING

ALL 1 MARK QUESTION

Q1) Attempt any 8 of the following : [8 × 1 = 8]


a) What is fault?
FAULT: An incorrect step, process or data definition in a computer program which causes
the program to perform in an unintended or unanticipated manner. A fault is introduced
into the software as the result of an error. It is an anomaly in the software that may cause it
to behave incorrectly, and not according to its specification. It is the result of the error
b) Define verification.
Verification is the process of checking that a software achieves its goal without any bugs. It
is the process to ensure whether the product that is developed is right or not. It verifies
whether the developed product fulfills the requirements that we have. Verification is Static
Testing
c) Define stub.

The software stubs are used in the top down integration testin. They are implemented by
the developers as alternatives to specific units of the software which are missed or have not
been developed completely. They have the capability to simulate all the features of the
unavailable modules of the software. They are mainly used when certain lower level
components are required for testing but inaccessible at that moment.d) Write methods of
white box testing.
e) Define regression testing.
Regression Testing is the process of testing the modified parts of the code and the parts that
might get affected due to the modifications to ensure that no new errors have been
introduced in the software after the modifications have been made. Regression means
return of something and in the software field, it refers to the return of a bug. f) What is Agile
Methodology?
g) List dimensions of quality
In software testing, key quality dimensions include functionality, reliability, usability,
performance, security, maintainability, portability, and compatibility
h) Define strategy for web applications.
A web application testing strategy outlines how you'll ensure a web application functions
correctly, performs well, and is secure, encompassing various testing types, tools, and
approaches to achieve quality and reliability.
i) Define acceptance testing.
Acceptance Testing: To obtain customer sign-off so that software can be delivered and
payments received. Types of Acceptance Testing are Alpha, Beta & Gamma Testing

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

Justification:

• Black box testing focuses on testing the functionality of an application without


knowing its internal workings. In black box testing, the tester is concerned only with
the input and output of the system, without any knowledge of the code or logic
behind it. This type of testing is typically used in functional testing.
• Glass box testing (also known as white box testing or clear box testing) is the
opposite, where the tester has knowledge of the internal workings of the
application, such as its code, algorithms, and data structures. In glass box testing, the
focus is on testing the internal logic of the software.

K) Define software testing.


Software testing is a process, to evaluate the functionality of a software application with an
intent to find whether the developed software met the specified requirements or not and to
identify the defects to ensure that the product is defect-free in order to produce the quality
product.
L) What is mean by validation?
Validation is the process of checking whether the software product is up to the mark or in
other words product has high level requirements. It is the process of checking the validation
of product i.e. it checks what we are developing is the right product. it is validation of actual
and expected product. Validation is the Dynamic Testing. Activities involved in validation: 1.
Black box testing 2. White box testing 3. Unit testing 4. Integration testing
M) What is DRIVER?

o The Drivers establish the test environments and takes care of the communication,
estimates results, and also sends the reports.
o These are just like stubs and used by software test engineers in order to accomplish
the missing or incomplete modules/ components requirements.
o The drivers are mainly developed in the Bottom-up approach of incremental
integration testing.

N) Write goal of white box testing.

Code Coverage: To verify that every path, branch, and condition within the code is tested
and exercised.
Identifying Bugs: To detect errors, bugs, or vulnerabilities in the internal structure or logic
of the software.

Optimization: To improve code efficiency and performance by identifying unnecessary


code or redundancies.

Security: To identify potential security risks, such as unhandled exceptions, vulnerabilities,


or unauthorized access points in the code.

Ensuring Functionality: To verify that the internal operations of the software (such as
loops, functions, and data handling) are correct.

O) List any 2 agile principles.

Continuous Delivery of Working Software: Agile emphasizes delivering small, incremental


updates to the software regularly, typically in short iterations (sprints). This principle
ensures that software is always in a working state, allowing for early and frequent testing.
By continuously delivering working software, teams can quickly identify issues and make
necessary adjustments, improving the overall quality.

Customer Collaboration Over Contract Negotiation: Agile prioritizes working closely with
customers throughout the development process rather than focusing on rigid contracts or
documentation. In terms of testing, this principle encourages frequent feedback from the
customer or end-users to ensure that the software meets their needs and expectations. It
helps ensure the product is aligned with customer requirements, leading to better-quality
software.

P) Define web application, testing.


Web application testing is the process of verifying and validating that a web application
functions correctly, securely, and meets its intended requirements. The goal is to ensure
that the application performs as expected in different environments and provides a
seamless, bug-free user experience.

I) List levels of testing.?


Testing Levels:
1. Unit Testing
2. Integration Testing
3. System Testing
4. Acceptance Testing
Q) What is test plan?
A Test plan outlines the common strategy that will be applied to test an application, the
resources that will be used, the test environment in which testing will be performed, and
the schedule of testing activities along with the limitations. Typically writing a Test Plan is
the competence of the Quality Assurance Team Lead.

R) WHAT IS DEBUGGING ?
In the context of software engineering, debugging is the process of fixing a bug in the
software. In other words, it refers to identifying, analyzing and removing errors. This activity
begins after the software fails to execute properly and concludes by solving the problem
and successfully testing the software. It is considered to be an extremely complex and
tedious task because errors need to be resolved at all stages of debugging.
S) WRITE ADVANTAGES OF LOAD TESTING IN SOFTWARE TESTING ?

Advantages of Load Testing in Software Testing:

1. Ensures Performance Under Load: Load testing helps verify how the software
behaves when multiple users access it simultaneously. It ensures that the application
performs well under expected user loads, preventing slowdowns or crashes.
2. Identifies Performance Bottlenecks: By simulating real-world user traffic, load
testing helps identify areas in the application (e.g., database, server, network) that
could become bottlenecks under high usage. This allows teams to address
performance issues before they impact real users.
3. Optimizes System Capacity: Load testing helps determine the system's capacity
limits—how many users, requests, or transactions the system can handle without
performance degradation. This information is vital for scaling infrastructure and
planning future capacity needs.
4. Improves User Experience: Ensuring that the application can handle peak traffic
without slowing down enhances the user experience. Load testing helps maintain
fast response times even during high demand, which is critical for user retention and
satisfaction.

T) WRITE DIFFRENCE BETWEEN AGILE AND TRADITIONAL TESTING

1. Approach to Development:

• Agile Testing: Agile follows an iterative and incremental approach where testing is
integrated throughout the development lifecycle. Testing is continuous, with
frequent releases and updates in short cycles (sprints).
• Traditional Testing: Traditional testing follows a sequential, waterfall model where
testing typically happens after the development phase is completed. It is often
treated as a distinct phase at the end of the project.

2. Flexibility:
• Agile Testing: Agile is highly flexible, accommodating changes in requirements,
design, and code even late in the development process. Testers and developers
collaborate continuously to adjust to changing needs.
• Traditional Testing: Traditional testing is less flexible. Once the project requirements
and design are defined, changes to these are typically costly and difficult to
accommodate, especially after the testing phase begins.

3. Team Collaboration:

• Agile Testing: Agile emphasizes strong collaboration among cross-functional teams,


including developers, testers, product owners, and stakeholders. Testing is a team
activity, and everyone is responsible for quality.
• Traditional Testing: In traditional models, testing is typically a separate phase
handled by dedicated testers, and there is less collaboration between testers and
developers during the development process.

4. Test Planning:

• Agile Testing: In Agile, test planning is ongoing, with each sprint having its own set of
requirements and testing plans. Test cases evolve with the development process.
• Traditional Testing: Test planning in traditional testing is usually done upfront, with
a detailed test plan created before development begins. The test cases are often
fixed and follow a set structure.

5. Test Execution:

• Agile Testing: Testing is done throughout the development process, often with each
iteration or sprint delivering a tested version of the software. Automated testing is
frequently used to speed up test cycles.
• Traditional Testing: Testing is often done at the end of the development phase, once
the software has been fully built. It may involve manual testing and longer testing
cycles.

U) WRITE OBJECTIVE OF SPIKE TESTING ?

Spike testing is a type of performance testing where the system is subjected to


sudden, extreme loads (or spikes) to observe how the system behaves under unexpected
stress or load conditions. The main objective of spike testing is to identify the system's
stability, performance limits, and ability to recover from rapid changes in load.

Key Objectives of Spike Testing:

1. Evaluate System Behavior Under Sudden Load Changes: Spike testing helps assess
how well the application can handle sudden, unexpected surges in traffic or load.
This helps identify potential system failures or performance degradation when the
load increases abruptly.
2. Assess System Stability and Performance: The goal is to check if the system can
maintain its stability, performance, and response time when subjected to a spike in
traffic or load. It helps to determine whether the application can continue to
function properly during such spikes.
3. Identify Resource Bottlenecks: Spike testing helps to identify system bottlenecks or
performance issues related to resources such as CPU, memory, or network
bandwidth. These bottlenecks could cause the system to fail or slow down under
heavy load.
4. Understand System Recovery: One of the primary objectives of spike testing is to
determine how quickly and effectively the system can recover from a sudden spike in
load. This is important for systems that need to resume normal operations swiftly
after peak load periods.
5. Verify Load Handling Beyond Normal Capacity: By simulating extreme load
conditions, spike testing helps verify if the system can handle unexpected traffic
spikes beyond its usual capacity without crashing or failing.
6. Ensure High Availability: For mission-critical applications, spike testing ensures that
the system remains highly available and responsive, even when there are sudden
surges in usage, avoiding any downtime or failures.

V) LIST ANY 2 OBJECTIVE OF SOFTWARE TESTING ?

Ensure Software Quality: The primary objective of software testing is to ensure that the
software meets the specified requirements and is of high quality. It aims to identify defects,
errors, or discrepancies between the expected and actual results, ensuring the software
works as intended and fulfills the user's needs.

Verify and Validate Functionality: Testing ensures that the software functions as
expected, performs all intended tasks correctly, and meets the requirements. It validates
that the application behaves as expected in various scenarios and verifies that it satisfies
both functional and non-functional requirements (e.g., performance, security).

W) DEFINE CYCLOMATIC COMPLEXITY

Cyclomatic complexity is defined as the number of decision points (e.g., loops, if statements,
case statements) plus one. More formally, it can be calculated using the 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 flow graph (representing control flow paths)
• N = Number of nodes in the flow graph (representing blocks of code)
• P = Number of connected components (usually P = 1 for a single program)
X) WRITE METHODS OF WHITE BOX TESTING ?

1. Unit Testing:

2. Code Coverage Testing:

3. Control Flow Testing:

4. Data Flow Testing:

5. Path Testing:

6. Loop Testing:

7. Mutation Testing:

8. Branch Testing:

9. Interprocedural Testing:

Y) WHAT IS AGILE METHODOLOGY

Agile software testing is a testing approach that aligns with the agile software development
methodology, emphasizing iterative development, frequent feedback, and continuous
integration of testing throughout the development lifecycle, rather than at the end.

Z) define strategy for web application in software testing

A robust web application testing strategy involves a comprehensive plan encompassing


various testing types (functional, security, performance, usability, etc.), clear objectives,
defined scope, resource allocation, and a schedule, ensuring the application is reliable,
secure, and user-friendly.

A) DEFINE PERFORMANCE TESTING

It is testing that is performed, to determine how fast some aspect of a system performs
under a particular workload.

B) Write goal of unit testing


The primary goal of unit testing in software testing is to verify that individual code
units (like functions or methods) function correctly in isolation, ensuring they meet
their intended purpose and specifications.

C) which is a core agile principles in software testing

A core agile principle in software testing is continuous and early testing throughout
the development lifecycle, focusing on delivering value to the customer early and
often.

In detail:

❖ Continuous and Early Testing:

Agile testing doesn't wait until the end of the development cycle; instead, it's
integrated into every stage, allowing for faster feedback and defect detection.
❖ Whole Team Approach:
Testing isn't the sole responsibility of a dedicated QA team; developers, business
analysts, and other stakeholders are involved in testing to ensure a comprehensive
approach.
❖ Frequent Deliveries:
Agile emphasizes delivering working software frequently, which necessitates a robust
testing process to ensure quality at each iteration.

You might also like