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

Tybcs Software Testing 2 Marks Sppu Questions

The document provides an overview of software testing, detailing its roles, types (white box and black box), and methodologies. It discusses the importance of testing in the software development process, including bug prevention, usability evaluation, and performance testing. Additionally, it covers agile testing features, differences between bugs, faults, and failures, as well as various testing techniques and their advantages.

Uploaded by

aniketjagadale59
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)
30 views

Tybcs Software Testing 2 Marks Sppu Questions

The document provides an overview of software testing, detailing its roles, types (white box and black box), and methodologies. It discusses the importance of testing in the software development process, including bug prevention, usability evaluation, and performance testing. Additionally, it covers agile testing features, differences between bugs, faults, and failures, as well as various testing techniques and their advantages.

Uploaded by

aniketjagadale59
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/ 14

SOFTWARE TESTING

ALL 2 MARK as well as 4 Marks QUESTION

a) Write short note on testing roles.


The Role of Software Testing in the Software Development Process
Software testing is a bedrock in the software development life cycle process; it plays
a crucial role in ensuring that an end product has no bugs and remains of high
quality. This is a complete process that aims not just to find and fix defects but also
involves considering the software’s usability from an end-user’s viewpoint.
Bug Prevention and Quality Enhancement

Software testing is essentially a mechanism for averting the consequences of


overlooked functionalities. Finding out missing features or coding mistakes while also
saving efforts of starting the difficult task again from the first requirement analysis.
This preventive measure is crucial in preventing potential disasters that may have
arisen due to gathering the wrong requirements or errors in coding styles, saving
time and resources.

Usability Evaluation
Software testing is more than just finding bugs; it carefully tests how easy usability
would be from a user’s point of view. This means that the final product should be
what users expect, with comfort and simplicity of interaction being highlighted. By
considering these usability aspects during testing, developers can achieve the best
match between software and user needs and preferences.
Verification of Software
Verification and validation are a significant part of software testing as they involve
scrutinizing every aspect documented in the Software Requirements Specifications
(SRS) document. This strict analysis also includes the performance of software in
unforeseen situations, such as incorrect input data or changes to environmental
conditions. Through these scenarios, testing gives confidence that the system is
capable of managing such variations well enough to correct an error before it occurs.
Accelerating Development
Software testing plays an important role as an accelerant of development.
Testers identify bugs and describe scenarios that lead to bug reproduction, providing
developers with insights for efficient problem resolution. Parallel work by testers and
developers makes it possible to develop depth in the manner in which design is
understood from an implementing point of view. This also speeds up the
development process because the chances of bugs are reduced.

b) Explain white box and black box testing.


WHITE BOX TESTING (also known as Clear Box Testing, Open Box Testing, Glass Box Testing,
Transparent Box Testing, Code-Based Testing or Structural Testing) is a software testing
method in which the internal structure/design/implementation of the item being tested is
known to the tester. The tester chooses inputs to exercise paths through the code and
determines the appropriate outputs. Programming know-how and the implementation
knowledge is essential. White box testing is testing beyond the user interface and into the
nitty-gritty of a system. This method is named so because the software program, in the eyes
of the tester, is like a white/transparent box; inside which one clearly sees. • White-box
testing: Testing based on an analysis of the internal structure of the component or system. •
White-box test design technique: Procedure to derive and/or select test cases based on an
analysis of the internal structure of a component or system.

BLACK BOX TESTING


BLACK BOX TESTING BLACK BOX TESTING, also known as Behavioral Testing, is a software
testing method in which the internal structure/design/implementation of the item being
tested is not known to the tester. These tests can be functional or non-functional, though
usually functional.

c) Compare testing and debugging any two points.

Key Testing Debugging

Testing is a process to check if the application is Debugging is the activity performed by


Definition working same as it was supposed to do, and not developers to fix the bug found in the
working as it was not supposed to do. system.

The main objective of Debugging is to


The main objective of Testing is to find bugs and
find the exact root cause at code level to
Objective errors in an application which get missed during
fix the errors and bugs found during the
the unit testing by the developer.
testing.

As Testing is mainly to find out the errors and Debugging is to find the missing or de-
bugs is mainly performed by the testers. Also if faulty code in an application hence
Perform
testing is at developer end known as unit testing major performed by the developers
then it is performed by the Developer. only.

As Testing covers the functional and behavioral Debugging is to find the error at code
Knowledge flow of an application so only functional level so technical and code level
Required knowledge is required for the tester to perform the knowledge is required for the developer
testing. to perform debugging.

Testing can be manual or made automated with the Debugging can't be get automated it is
Automation
help of different tools. always be the manual.
Testing on basis of level of performing is at
Level different level i.e., unit testing, integration testing, No such level of Debugging is possible.
system testing, etc.

d) Explain performance of testing.


Performance Testing Performance Testing also knows as ‘Perf Testing', is a type of testing
performed to check how application or software performs under workload in terms of
responsiveness and stability. The Performance Test goal is to identify and remove
performance bottlenecks from an application. This test is mainly performed to check
whether the software meets the expected requirements for application speed, scalability,
and stability.

e) Write a short note on features of Agile testing

1. Iterative and Incremental Testing:

• Feature: Testing is done in small iterations or increments, often aligning with each
Agile sprint (typically 1-4 weeks). Each iteration produces a working piece of
software, and testing happens continuously throughout the sprint.
• Benefit: It allows for early detection of defects and quicker feedback, ensuring that
the software is always tested and functional at each stage.

2. Continuous Collaboration:

• Feature: Agile testing encourages continuous collaboration between


developers, testers, business stakeholders, and customers. Testers work closely
with developers from the start, ensuring that the software meets business
requirements and user expectations.
• Benefit: Close communication leads to faster identification of issues, better
alignment with requirements, and ensures that the software is developed
according to user needs.

3. Test-Driven Development (TDD):

• Feature: TDD is often part of Agile testing, where tests are written before the
code. Developers write unit tests that define expected behavior, and then code
is written to pass these tests.
• Benefit: TDD improves code quality by ensuring that each piece of code is
tested right from the beginning and helps catch issues early.

f) Write 2 differences between bugs, Faults & Failures.


BUG: A bug is the result of a coding error. An Error found in the development environment
before the product is shipped to the customer. A programming error that causes a program
to work poorly, produce incorrect results or crash. An error in software or hardware that
causes a program to malfunction. Bug is terminology of Tester.
FAILURE: A failure is the inability of a software system or component to perform its
required functions within specified performance requirements. When a defect reaches the
end customer it is called a Failure. During development Failures are usually observed by
testers.
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.

g) Write short note on black box testing.


BLACK BOX TESTING
BLACK BOX TESTING, also known as Behavioral Testing, is a software testing method in
which the internal structure/design/implementation of the item being tested is not known
to the tester. These tests can be functional or non-functional, though usually functional.

This method is named so because the software program, in the eyes of the tester, is like a
black box; inside which one cannot see.
This method attempts to find errors in the following categories:
• Incorrect or missing functions
• Interface errors
• Errors in data structures or external database access
• Behavior or performance errors
• Initialization and termination errors Black box testing:
Testing, either functional or non-functional, without reference to the internal structure of
the component or system.

h) Explain equivalance partitioning.

Equivalence partitioning is a technique of software testing in which input data


is divided into partitions of valid and invalid values, and it is mandatory that all
partitions must exhibit the same behavior. If a condition of one partition is true,
then the condition of another equal partition must also be true, and if a
condition of one partition is false, then the condition of another equal partition
must also be false. The principle of equivalence partitioning is, test cases should
be designed to cover each partition at least once. Each value of every equal
partition must exhibit the same behavior as other.

The equivalence partitions are derived from requirements and specifications of


the software. The advantage of this approach is, it helps to reduce the time of
testing due to a smaller number of test cases from infinite to finite. It is
applicable at all levels of the testing process.

• Examples of Equivalence Partitioning technique

Assume that there is a function of a software application that accepts a particular


number of digits, not greater and less than that particular number. For example, an
OTP number which contains only six digits, less or more than six digits will not be
accepted, and the application will redirect the user to the error page.

1. 1. OTP Number = 6 digits


I) Explain Top-down integration TESTING.
1.Top-down approach This technique starts from the topmost module and gradually
progress towards the lower modules. Only the top module is unit tested in isolation. After
this, the lower modules are integrated one by one.
The process is repeated until all the modules are integrated and tested. In the context of our
figure, testing starts from Module A, and lower modules B1 and B2 are integrated one by
one. Now here the lower modules B1 and B2 are not actually available for integration. So in
order to test the topmost modules A, we develop “STUBS”. “Stubs” can be referred to as
code a snippet which accepts the inputs/requests from the top module and returns the
results/ response

2. In top-down incremental integration testing, we will add the modules


incrementally or one by one and test the data flow in similar order as we can:
3. This testing technique deals with how higher-level modules are tested with
lower-level modules until all the modules have been tested successfully.

4.
Difference between Black Box and White Box
Testing
Parameter Black Box Testing White Box Testing

Tests software with knowledge of the


Definition Tests software without knowledge of the internal structure.
internal structure.

Also known as data-driven, box testing, and functional Also known as structural, clear box,
Alias
testing. code-based, or glass box testing.

Based on external expectations; internal behavior is Internal working is known; tests are
Base of Testing
unknown. designed accordingly.

Best suited for lower levels like unit and


Usage Ideal for higher levels like system and acceptance testing.
integration testing.

Programming
Not needed. Required.
Knowledge

Implementation
Not required. Complete understanding is necessary.
Knowledge

Challenging to automate due to dependency on external


Automation Easier to automate.
behavior.

Objective To check the functionality of the system under test. To check the quality of the code.

Basis for Test Can start after preparing the requirement specification Can start after preparing the detailed
Cases document. design document.

Tested By End users, developers, and testers. Primarily testers and developers.

Granularity Low. High.

Focuses on data domain and internal


Testing Method Based on trial and error.
boundaries.

Time Less exhaustive and time-consuming. Exhaustive and time-consuming.

Algorithm Test Not the best method for algorithm testing. Best suited for algorithm testing.

Required. Code security is a concern if


Code Access Not required.
testing is outsourced.

Helps in removing extra lines of code,


Benefit Well-suited for large code segments.
revealing hidden defects.
Parameter Black Box Testing White Box Testing

Testers with lower skill levels can test the application without Requires expert testers with vast
Skill Level
knowledge of the implementation or programming. experience.

5.
6. In the top-down method, we will also make sure that the module we are adding
is the child of the previous one, like Child C, is a child of Child B.

7. The purpose of executing top-down integration testing is to detect the


significant design flaws and fix them early because required modules are tested
first.

J) write a short note on dimensions of quality

The dimensions of quality refer to the various attributes or characteristics that determine the
overall quality of a product or service. These dimensions are often used to assess and improve
quality from different perspectives, ensuring that customer expectations are met. Some key
dimensions of quality include:

1. Performance: How well a product or service performs its intended function. For
example, the speed and efficiency of a car or the reliability of a software application.
2. Features: The additional characteristics that enhance the product or service, such as
extra functionalities or design elements that provide more value to the customer.
3. Reliability: The consistency of a product's performance over time. A reliable product
performs its function under normal usage without frequent breakdowns.
4. Conformance: The degree to which a product or service meets established standards
or specifications. This ensures that products are made according to the defined design
or blueprint.
5. Durability: The lifespan of a product and its ability to withstand wear, pressure, or
damage over time, making it a long-term investment.
6. Serviceability: The ease and speed with which a product can be repaired or
maintained. Products that are easy to service tend to have higher customer
satisfaction.
7. Aesthetics: The sensory characteristics of a product, including its appearance, feel,
smell, taste, or sound. This dimension focuses on the appeal of the product to the
customer.
8. Perceived Quality: The customer’s overall impression of the product or service,
based on reputation, brand, and personal experiences.

K) Write Advantages of Regression Testing:


• It ensures that no new bugs has been introduced after adding new functionalities to the
system.
• As most of the test cases used in Regression Testing are selected from the existing test
suite and we already know their expected outputs. Hence, it can be easily automated by the
automated tools. • It helps to maintain the quality of the source code.

L) Write advantages of white box testing .

• Thorough Code Coverage: White box testing allows testers to examine the code in detail,
ensuring that all paths, conditions, and branches are tested. This leads to comprehensive
coverage of the software’s internal functions.

• Early Bug Detection: Since the tester has access to the code, they can identify issues like
logic errors, incorrect syntax, or security vulnerabilities early in the development cycle,
allowing for quicker resolution.

• Optimized Code: By reviewing the code during testing, inefficiencies, redundant code, or
areas for optimization can be identified and improved, leading to better performance.

• Improved Security: White box testing helps uncover potential security vulnerabilities,
such as unauthorized access points or flaws in encryption, by directly examining the source
code.

• Better Test Case Design: White box testing helps in designing more effective and
meaningful test cases, as it is based on the internal structure of the application rather than
external behavior. It enables testing of all possible paths, loops, and conditions in the code.

M) Explain working of web application in software testing

Step 1 − While performing the web application testing, all the features,
functionalities, actions etc which can be performed on the websites are
verified to check if they are working properly as per the requirements. The
functional testing approaches can be adopted during this phase of testing.

Step 2 − While performing the web application testing, the scalability, and
usability of the website are verified. The application under testing is tested
across various browsers and hardware.

Step 3 − While performing the web application testing, it is mandatory to


validate whether the website and its contents are clearly accessible in various
browsers, platforms, devices etc.

Step 4 − While performing the web application testing, the security features
such as mishandling of information, unauthorized access etc are verified.
Step 5 − While performing the web application testing, the characteristics of
the websites are evaluated under a particular load.

Step 6 − While performing the web application testing, the database is


thoroughly tested to check whether the database storage is working as
expected. It includes verifying the response time of execution of query, the
data sync between the front end and back end etc.

N) Explain various forms of acceptance testing

Acceptance testing is the final phase of software testing, performed to determine whether a
software system meets the required business needs and is ready for deployment. It validates
whether the system behaves as expected in real-world scenarios. There are various forms of
acceptance testing in software testing, each serving different purposes:

1. Alpha Testing

• Purpose: Alpha testing is typically the first phase of acceptance testing, performed by
the internal development team.
• When: It is done before the product is released to external users.
• Process: During alpha testing, developers and testers simulate real user scenarios to
identify and fix defects. The goal is to ensure the software is stable enough for
external testing.
• Focus: It mainly focuses on functionality, usability, and ensuring that major issues are
addressed before beta testing.

2. Beta Testing

• Purpose: Beta testing is conducted after alpha testing and is usually performed by a
select group of external users.
• When: This phase occurs before the final release, and the software is made available
to real users who are not part of the development team.
• Process: The users test the software in a real-world environment and provide
feedback to the development team about bugs, usability issues, and improvements.
• Focus: It helps uncover defects that were not identified in earlier testing phases and
validates the software's performance and user experience.

3. User Acceptance Testing (UAT)

• Purpose: UAT is performed to ensure that the software meets the business
requirements and satisfies the end user's needs.
• When: This is the final stage of testing before the software is deployed into
production.
• Process: UAT is typically carried out by the end users or the client. They test whether
the system can handle required tasks in real-world scenarios, confirming that it meets
the business objectives.
• Focus: The focus is on validating whether the software can perform its intended
functions in the environment it will be used, ensuring that it is aligned with the user’s
needs and expectations.
4. Operational Acceptance Testing (OAT)

• Purpose: OAT focuses on verifying whether the system is ready for deployment in
terms of its operational requirements.
• When: This type of testing is performed after the application passes UAT but before
it goes into production.
• Process: It includes tests related to system performance, backup, recovery,
maintenance, security, and other operational aspects.
• Focus: OAT ensures that the software can function smoothly in the production
environment and can be maintained and supported effectively.

5. Contract Acceptance Testing

• Purpose: This form of acceptance testing is conducted when the software is


developed based on a contract, and the testing ensures that the deliverables meet the
requirements specified in the contract.
• When: It is performed when the product is completed and ready for final delivery.
• Process: The software is tested based on the criteria defined in the contract, and the
product is accepted if it meets the contractual specifications.
• Focus: The focus is to ensure that all requirements mentioned in the contract are
fulfilled, and the product is ready for delivery to the client.

6. Regulatory Acceptance Testing

• Purpose: This testing is required when software must comply with regulatory
standards or government regulations.
• When: It occurs when the software needs to meet specific legal, financial, or industry
standards before being released.

O) Explain various types of system testing

System Testing includes testing of a fully integrated software system.


Generally, a computer system is made with the integration of software (any
software is only a single element of a computer system). The software is
developed in units and then interfaced with other software and hardware to
create a complete computer system. In other words, a computer system
consists of a group of software to perform the various tasks, but only software
cannot perform the task; for that software must be interfaced with compatible
hardware. System testing is a series of different type of tests with the purpose
to exercise and examine the full working of an integrated software computer
system against requirements.
Regression Testing

Regression testing is performed under system testing to confirm and identify that if
there's any defect in the system due to modification in any other part of the system. It
makes sure, any changes done during the development process have not introduced
a new defect and also gives assurance; old defects will not exist on the addition of new
software over the time.

For more information about regression testing refers to the below link:

regression-testing

Load Testing

Load testing is performed under system testing to clarify whether the system can work
under real-time loads or not.
Functional Testing

Functional testing of a system is performed to find if there's any missing function in


the system. Tester makes a list of vital functions that should be in the system and can
be added during functional testing and should improve quality of the system.

Recovery Testing

Recovery testing of a system is performed under system testing to confirm reliability,


trustworthiness, accountability of the system and all are lying on recouping skills of
the system. It should be able to recover from all the possible system crashes
successfully.

You might also like