100% (1) 100% found this document useful (1 vote) 7 views 21 pages Software Testing (Unit 1)
The document discusses the importance of software testing in the development lifecycle, highlighting its role in ensuring product quality and preventing costly errors. It outlines various testing types, including manual and automated testing, and emphasizes the significance of the Software Development Life Cycle (SDLC) phases. Additionally, it covers debugging processes, model-based testing, and the implications of untested software through real-life examples of failures.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content,
claim it here .
Available Formats
Download as PDF or read online on Scribd
Go to previous items Go to next items
s SOFTWARE TESTING
o UNITE
a
Introduction: Purpose:
_ Testing the produet is essential, whether for software development or a game or Vet
s for mechanical equipment. Without the proper testing of products, it wi II not be an assured
product with well:maintained quality and assurance that cannot be given 10 those un-tested
Ss products, Hence testing becomes an essential phase ofthe software development lifecycle In
x this tutorial, you will be learning about the importance of testing, various testing types, and
its ways and phases.
x
x Define Software Testing:
x Software testing can be defined as the action_for-checking if the tangible result oF
i ‘output of product matches with the projected of expected output (of your client), and testing
x also ensures thatthe product is ftee fiom any bug or defect. Testing of software involves the
x implementation of a module or part of a system ofa produet to evaluate all or some ofits
~ properties. Through testing, testers can identify errors, gaps in the requirement, or missing
elements in a projector system (that has been developed), Testing ean be done both ‘manually
and with the help of automated tools available in the market, Sofware testing can be broken
into two main testing types - White box testing and Black Box Testing.
Why is Software Testing Important?
Software testing plays a significant role in software or system; bugs can be expensive
and can lead to a dangerous situation. Bugs in software or application can likely lead to loss
of monetary value, jobs, or even a human loss. Here is some real-life example of how
untested software can become hazardous:
It was Apfil 2015, the Bloomberg terminal of London crashed because of software
malfunction, which affects 300,000+ traders on financial markets.
raw more than 1 million cars (launched in the
ints have been reported due to this.
The car company, Nissan, has had to
market) due to airbag sensory software failure, Two ac
‘A company name ‘Starbucks’ was strained to close around 60% of its stores forcefully in the
ULS and Canada because of POS system-sofiware failure.
Some of Amazon's 3rd party retailers noticed abnormalities in product price, which gets
reduced to one paisa because of bug.
‘There are frequently heard vulnerabilities found in Windows 10, which is all because ofa
lack of proper system testing.
‘An Airlines’ Airbus of China crashed due to a bug, leading to the mass killing of 264
innocent lives
Page |2
VeeYUuUBUUEYYdBDYDYWOUOUYOUODY |
@ scanned with OKEN ScannerWho docs testing?
This question's answer is depending on the process and its connected project-stakeholders, In
the information technology industry, big companies have team members responsible for
evaluating the project or software based on the requirements during the test phase. Moreover,
some bugs can get detected if proper testing is done in the development stage of a software or
application. So, people who can do testing are:
Software Testers
Project Developer
Project Lead
Team Manager
End Users,
SDLC Model:
SDLC abbreviated, as the Software Development Life Cycle, can be defined as the stages
of producing software having the maximum quality and least or minimum cost. It comprises
of a detailed plan as to how development, altering, maintenance along with replacement of
Software or product take place,
gepaste
SDLC contains some disérete phases, including planning, designing, construction, test,
and deployment of the project. Some of the most famous SDLC models are:
© Waterfall model
© Spiral model and
© Agile model
Here's a diagram of how the SDLC Cycle looks like:
Software testing is one of the major phases of software development, as listed among the
SDLC's various phases
SDLC (modete)
Page |3
@ scanned with OKEN ScannerSoftware Development Life Cycle (SDLC):
ag is a proces that creates a structure of development of software. There are different
phases within SDLC, and each phase has its various activites. It makes the development
team able to design, create, and deliver a high-quality product.
SDLC describes various phases of software development and the order of execution of
phases. Each phase requires deliverable from the previous phase in a life cycle of software
development. Requirements are translated into design, design into development and
development into testing; after testing, itis given to the client.
Let’s see all the phases in detail:
Different phases of the software development cycle
Requirement |_,, Designing |__, Development| |g! Maintenance
re > san ste _ategra-» OB + Me
has
1, Requirement Phase
This is the most crucial phase of the software development life eycle for the developing team
as well as for the project manager. During this phase, the client states requirements,
specifications, expectations, and any other special requirement related to the product or
software, All these are gathered by the business manager or project manager or analyst of the
service providing company.
the product will be used and who will use the product to
‘The requirement includes ho
mation gathered from this phase is critical to
determine the load of operations. AIL infor
developing the product as per the customer requirements.
Design Phase
n phase incides a detailed analysis of new software according to the requirement
the high priority phase in the development life cycle of a system because the
ng of the system is converted into physical designing
‘The output ofthe requirement phase isa collection of things that are required, and the design
phase gives the way to accomplish these requirements,
The decision of all required essential tools such as programming language like Java, .NET,
PHP, a database like Oracle, MySQL, a combination of hardware and software to provide a
platform on which software can run without any problem is taken in this phase,
‘as data flow diagrams, flowcharts, decision
There are several techniques and tools, such
and the structured dictionary are used for
tables, and decision trees, Data dictionary,
describing the system design.
@ scanned with OKEN Scanner:
3. Build Development Phase
After the successful completion of the requirement and design phase, the next step is to
implement the design into the development of a software system. In this phase, work is
divided into small units, and coding starts by the team of developers according to the design
'd in the previous phase and according to the requirements of the client discussed in
requirement phase to produce the desired result.
diseu
Front-end developers develop casy and attractive GUI and necessary interfaces to interact
with back-end operations and back-end developers do back-end coding according to the
required operations. All is done according to the procedure and guidelines demonstrated by
the project manager,
Testing of software is exceptionally imaginative and an intellectual task for testers to
perform. The testing of software or applications pursues some principles that are mentioned
in this chapter. These principles also play a significant role for a software tester to test the
project.
These principles are:
Software testing can help detect bugs: Testing any software or project can reveal a few or
some defects that may or may not be detected by developers. However, testing of software
alone cannot confirm that your developed project or software is error-free. Hence, it
essential to devise test cases and find out as many defects as possible.
Testing with effectiveness is impossible: Until your project or application under test has a
straightforward structure having limited input, it won't be likely or achievable to check and
test all feasible sets of data, modules, and scenarios.
he earlier you will begin to test your project or software, the better you will
Early testins
utilize your existing time
Defect in clustering: At the time of testing, you can observe that majority of the defects or
bugs reported are because of a small number of modules inside your software or system.
Software testing is context-dependent: Various methods, procedures, and kinds of testing
fare there, which defines the type and characteristics of the application. For example, an
application related to a health device necds more testing and doctor-based feedback than a
game or small software.
Errorfree or Bug-free software is a myth: Just because when a tester tested an application
and didn't detect any defects in that project doesn't indicate or imply that your software is
ready for shipping.
What is Testing?
Testing is the process of verifying and validating that a sofiware or application is bug-
free, meets the technical requirements as guided by its design and development, and meets
he user requirements effectively and efficiently by handling all the exceptional and boundary
Page |5
OHHMADANADAPRABRAANNGEOCHOCOOCECHKECESEOCOCCCEA
@ scanned with OKEN Scannercases, The purpose of software testing is to identify the errors, faults, or missing
snts in contrast to actual requirements,
requiren
‘Types of Testing:
Manual Testing
© White Box Testing
© Black Box Testing
© Gray Box Testing
Automated Te
Functional Testing
© Unit Testing
© Integration Testing
© system Testing
Non-Funetional Testing
© Performance Testing
© Usability Testing
© Compatibility Testing
What is Debugging?
Debugging is the process of fixing a bug in the software. It
removing errors. This activity begins after the software fails to execute
sting the software. It is
an be defined as identifying,
analyzing, and
properly and concludes by solving the problem and successfully te:
considered to be an extremely complex and tedious task because errors need to be resolved at
all stages of debugging.
Aspects Testing Debugging
Debugging is the process of correcting
Testing is the process to find bugs
the bugs found during testing.
Definition and errors.
Aspects Testing Debugging
Page| 6
——“<=‘( iEHEmhEhEhE—E™—E— LL
@ scanned with OKEN ScannerPurpose
Focus
Approach
Tools and
Technique
Methodology
‘Team Involve
Design
Knowledge
Categorization
Basic
SDLC
Aspects
is to
of testing
purpose
idemify defects or errors in the
software s}
It is the process to identify the
failure of implemented code.
Testing is done before debugging
Testing involves executing the
software system with test cases
Testing can involve using
automated or manual testing tools
the display of errors.
Testing,
‘Testing is done by the tester.
of
There i need
knowledge in the tes
no
Testing can be done by
well as outsiders.
It is based on different testing
levels ic. unit testing, integration
testing, system testing, ete,
Testing is a stage of the software
development life cycle (SDLC).
Testing
The purpose of debugging is to fix
those defects or errors.
It is the process to give absolution to
code failure.
Debugging is done after te:
the
and
Debugging involves analyzing
symptoms problem
identifying the root cause of the
of a
problem
Debugging typically involves using
tools and techniques such as logging,
tracing, and code inspe
Debugging is a deductive process,
Debugging is done by either
programmer or the developer.
ing is done only by insiders.
can't do debugging.
Debugging is based on different types
of bugs.
Debugging is not an aspect of the
software development life cycle, it
occurs as a consequence of testing,
Debugging
Page |7
PARAAAADDIPPDOAFGHOOOCOF CCE HH DDD)
>
@ scanned with OKEN ScannerTesting is composed of the Debugging process seeks to match
validation and verification of symptoms with cause, by that it leads
Process Nature software. to error correction.
Testing is initiated after the code Debugging commences with the
Initiation is written. execution of a test case.
Model Based Testing in Software Testing:
Prerequisites: software-testing:
Model-based testing is nothing but a simple testing technique in which we get different
test cases that are described by the model. In this type, the test cases are generated via both,
online and offline test case models
Significance of Model-Based Testing:
Early Defect Detection: Model-Based Testing (MBT) makes it possible for testers to find
problems during the requirements or design phases by using model validation, By doing this,
flaws are kept from spreading to more expensive fixing development phases.
tions to the
menance Costs: Since test cases are derived from models, any modifi
system can immediately update the approprate text cases, which in turn can reflect any
changes made to the models. This lessens the work and expense of maintaining test cases,
particularly in complex and large-scale systems,
Reusable Test Assets: Models and test cases developed during the software development
lifeeyele can be uulized again for regression testing, This guarantees uniformity in testing
procedures across projects and helps optimize the return on investment in testing efforts,
‘Types of Model-Based Testing
Statecharts: These are an expansion of FSMs that enable complicated transitions,
parallelism, and hierarchical state representation. They are frequently used to simulate the
behavior of reactive systems, like embedded systems and user interfaces.
Markov Models: These systems display probabilistic behavior, with state changes taking
place according to probabilistic rules. They are employed in system performance and
reliability analysis as well as modelling stochastic processes.
Decision Tables: Decision Tables are a condensed, tabular method of expressing intricate
decision reasoning. They are frequently utilized in rule-based systems and business logic
validation, and they are helpful for modelling systems having conditional behavior.
Entity-Relationship Diagrams (ERDs): These diagrams show how different entities in a
Page |®
——
@ scanned with OKEN Scanneree
“They are frequently employed in d
between various entities
abase design
ma are related to one another
database sch
for showing the relationships and data structure
corder in which the code is executed,
Control Flow Graphs (CFGs): CFGs show the
est case generation,
ustrating the contro! flow of a program. They are employed in t
coverage analysis, and programme behavior analysis,
Data flow diagrams (DFDs): These show how data moves through a system with an
emphasis on the entry, processing, and output of data, They are helpful in determining data
dependencies and confirming that data transformations in software systems are accurate
: Itoffers a common notation for expressing
ms
Unified Modelling Language (UML)
different sofiware system components. Use case diagrams show how users and syste
interact, whereas activity diagrams show how control moves across a system.
Advantages of Model-Based Testing:
Efficiency: The automation efficiency is so much higher in this type and the higher level also
be acquired by the model.
CO ee
Comprehensive testing is also possible in this type and the changes that have been made can
be easily tested by model.
Different types of machines like finite state machines, unified model diagrams, and state
charts are mostly taking part in this testing technique:
a
By reducing the cost of the process available in this type. Simultaneously many numbers of ler
processes are running together for performance iner le
‘The defects that are made in the beginning stage are identified and the defect counts increase ie
accordingly the testing undergoes in a progressing manner. c
Disadvantages of Model-Based Testing: c
For testing purposes system always needs formal specifications and the changes are made «
according to different sets in a combined manner.
; ¢
‘To understand the concept is so much difficult for the user and also for utilization. So, the
earning curve of the model will be more icc. the biggest failure of the model. ¢
‘To overcome this situation, the model should be thoroughly improvised and tr ¢
Bugs in Software Testing: ¢
Software testing is the process of testing and verifying that a software product or 7
application is doing what it is supposed to do. The benefits of testing include preventing ‘
distractions, reducing development costs, and improving performance. There are many i
different types of software testing, each with specific goals and strategies.
Acceptance Testing: Ensuring that the whole system works as intended.
Page| 9
@ scanned with OKEN ScannerOT
Wtegration Testing: Ensuring that sofware components or functions work together
Unit Vesting: To ensure that each software unit is operating as expected, ‘The unit is
testable component of the application,
unctional Testin
‘operational requirements. Checking the black box is a common way to confirm tasks.
Evaluating activities by imitating business conditions, based on
Performance Testing: A test of how the soflware works under various operating loads, Load
testing, for example, is used to assess performance under real-life load conditions,
Re-Testing: To test whether new features are broken of degraded. Hygiene checks can be
used to verify menus, fictions, and commands at the highest level when there is no time for
a full reversal test
What isa Bug?
A malfunction in the software/system is an error that may cause components oF the
system to fail to perform its required functions. In other words, if an error is encountered
during the test it can cause malfunction. For example, incorrect data description, statements,
input data, design, ete.
Reasons Why Bugs Occur?
1. Lack of Communication: This is a key factor contributing to the development of software
bug fixes. Thus, a lack of clarity in communication can lead to misunderstandings of what the
software should or should not do. In many cases, the customer may not fully understand how
the product should ultimately work, This is especially true if the software is designed for a
completely new product. Such situations often lead to many misinterpretations from both
sides.
2, Repeated Definitions Required: Constantly changing software requirements creates
confusion and pressure in both software development and testing teams. Usually, adding a
new feature or deleting an existing feature can be linked to other modules or software
components. Observing such problems causes software interruptions.
3. Policy Framework Does Not Exist: Also, debugging a software component/software
component may appear in a different or similar component. Lack of foresight can cause
serious problems and increase the number of distractions. Addition, Design and redesign, UI
integration, module integration, database management all add to the complexity of the
software and the system as a whole,
4, Performance Errors: Significant problems with software design and architecture can
cause problems for systems. Improved sofiware tends to make mistakes as programmers can
also make mistakes. As a test tester, data/announcement reference errors, control flow errors,
parameter errors, input/output errors, et.
5. Lots of Recycling: Resetting resources, redoing or discarding a fi
hardware/software requirements may also affect the software. Assigning a new developer to a
Page | 10
@ scanned with OKEN Scannerproject in the middle of nowhere can cause software interruptions. This can happen if proper
coding standards are not followed, incorrect coding, inaccurate data transfer, ete. Discarding
part of existing code may leave traces on other parts ofthe software; Ignoring or deleting that
code may cause software interruptions. In addition, critical bugs can occur especially with
large projects, as it becomes difficult to pinpoint the location of the problem.
Types of Software Testing Techni
ues:
‘There are two main categories of software testing techniques:
Static Testing Techniques are testing techniques that are used to find defects in an
application under test without executing the code. Static Testing is done to avoid errors at an
carly stage of the development cycle thus reducing the cost of fixing them.
Dynamic Testing Techniques are testing techniques that are used to test the dynamic
behaviour of the application under test, that is by the execution of the code base. The main
purpose of dynamic testing isto test the application with dynamic inputs- some of which may
be allowed as per requirement (Positive testing) and some are not allowed (Negative Testing)
‘Testing Techniques:
Static Testing Techniques:
{As explained earlier, Static Testing techniques are testing techniques that do not require the
execution ofa code base. Static Testing Techniques are divided into two major categories:
[Link] Reviews: Informal reviews are generally conducted without any formal setup. It is
between peers. For Example- Two developers Testers review cach other's artifacts like
coude/test cases.
jegory where the author of work (code oF test case oF
[Link]: Walkthrough is a ca
document under review) Walks through what he/she has done and the logic behind it to the
common understanding or for the intent of feedback.
stakeholders to achieve
that focuses solely on the technical aspects of the
-ss or no focus on the identification of
3. Technical review: It is a review me
document under review to achieve a consensus. It has:
defects based on reference documentation. Technical experts like architects/chief designers
are required to do the review. It can vary from Informal to fully formal
[Link]: Inspection is the most formal category of reviews, Before the inspection, the
document under review is thoroughly prepared before going for an inspection. Defects that
are identified in the Inspection mecting are logged in the defect management tool and
followed up until closure, The discussion on defects is avoided and a separate discussion
phase is used for discussions, which makes Inspections a very effective form of review
Data Flow: It means how the data tail is followed in a given program ~ How data gets accessed and
modified as per the instructions in the program. By Data flow analysis, you can identify defects like a
variable definition that never got used.
Page | 11
TeHRPPHMAAOAAAHHHHHOOHCCOCE ECE E CE HY,
@ scanned with OKEN ScannerControl Now: tt is the
picture of how program instructions get executed ie. conditions,
iterations, or loops. Ci
“erations, or loops, Control flow analysis helps to identify defects such as Dead code ie. a
code that ne
‘ver gets used under any condition.
D:
Pata Structure: It refers to the organization of data irrespective of code. The complexity of
ta structures adds to the complexity of cove. Thus, it provides information on how to test
the control low and data flow in a given code.
namic Testing Techniques:
Dynamic techniques are subdivided into three categories:
1. Structure-based Testing:
These are also called White box techniques. Structure-based testing techniques are focused on
how the code structure works and test accordingly. To understand Structure-based
techniques, we first need to understand the concept of code coverage.
Code Coverage is normally done in Component and Integration Testing. It establishes what
code is covered by structural testing techniques out of the total code written. One drawback
of code coverage is that- it does not talk about code that has not been written at all (Missed
requirement), There are tools in the market that can help measure code coverage.
There are mul
le ways to test code coverage:
1. Statement coverage: Number of Statements of code exercised/Total number of
statements. For Example, if a code segment has 10 lines and the test designed by you covers
only 5 of them then we can say that statement coverage given by the test is 50%.
2. Decision coverage: Number of decision outcomes exercised/Total number of Decisions.
For Example, Ifa code segment has 4 decisions (If conditions) and your test executes just 1,
then decision coverage is 25%
3. Conditional/Multiple condition coverage: It has the aim to identify that each outcome of
every logical condition in a program has been exercised.
2. Experience-Based Techniques:
These are techniques for exccuting testing activities with the help of experience gained over
the years. Domain skill and background are major contributors to this type of testing. These
techniques are used majorly for UAT/business user testing. These work on top of structured
techniques like Specification-based and Structure-based, and they complement them, Here
are the types of experience-based techniques:
Error guessing: It is used by a tester who has either very good experience in testing or with the
application under test and hence they may know where a system might have a weakness. It eannot be
fan effective technique when used stand-alone but is helpful when used along with structured
techniques.
Page | 12
@ scanned with OKEN Scanner1. Exploratory testing: It is hands-on t
coverage with mi
to have maximum execution
imal planning. The test design and execution are carried out in parallel
without documenting the test design steps. The key aspect of this type of testing is the tester's
learning about the strengths and weaknesses of an application under test, Similar to error
uessing, it is used along with other formal techniques to be useful
sting where the a
2. Specification-based Techniques:
This includes both functional and non-
It means creating and executing tests based on functional or non-functional specifications
from the business. Its focus is on idemtifying defects corresponding to given specifications
Here are the types of specification-based techniques
functional techniques (i.e. qualit
y characteristics),
{- Equivalence partitioning: It is generally used together and can be applied to any level of
‘esting, The idea is to partition the input range of data into valid and non-valid sections such
that one parition is considered “equivalent”. Once we have the partitions identified, it only
Fequires us to test with any value in a given partition assuming that all values in the partition
will behave the same, For example, ifthe input field takes the value between 1-999, then
values between 1-999 will yield similar results, and we need NOT test with each
the testing complet
ue to call
2, Boundary Value Analysis (BVA): This analysis tests the boundaries of the range- both
valid and invalid. In the example above, 0.1.99, and 1000 are boundaries that can be tested
The reasoning behind this kind of testing is that more often than not, boundaries
handled gracefully in the code.
are not
Decision Tables: These are a xood way to test the combination of inputs. It is also called
-Fffect table, In layman’s language, one can structure the conditions applicable for the
nent under test as a table and identify the outcomes against each one
to reach an effective test.
of them
It should be taken into consideration that there are
not too many combinations so the table
becomes too big to be eflective.
Take an example of a Credit Card that is issued if both credit score and salary limit are met.
This can be illustrated in below decision table below
Rule 1 Rule 2 | Rule 3 Rule 4
Credit Score Met Facse | FALSE | TRUE TRUE
|_Salary Limit Met FALSE TRUE | FALSE TRUE
Issue Credit Gard No No No Yes ‘
Page| 13,
@ scanned with OKEN Scanner
AAPPMAHODA®S SHH TTSCHHHHOOCHHE HONIG AH ae|
Decision Table:
4, Use case-based Testing: This technique helps us to identify test cases that execute the
system as a whole- ike an actual user (Actor), transaction by transaction. Use cases are
sequence of steps that describe the interaction between the Actor and the system. They are
not the system. This testing is most effective in
mnditions of
always defined in the language of the Actor,
idemifying integration defects. Use case also defines any preconditions and postco
the process flow. ATM example can be tested via use case:
Happy 1 Ai insert Gard
Flow 2 A: Enter PIN
A: Actor 3 S: Validte PIN
'S: System 4 ‘S Allow to withdraw
Use case-based Testing
under test or a part of it can be
fied ATM example above, We
the State transition
5. State Transition Testing: It is used where an application v
treated as FSM or finite state machine. Continuing the simpli
can say that ATM flow has finite states and hence can be tested witht
ue. There are 4 basic things to consider
tecl
States a system can achieve
Events that cause the change of state
‘The transition from one state to another
Outcomes of change of state
be created to derive test conditions ~ both positive and negative
A state event pair table
Advantages of software testing techniques:
State Transi
Improves software quality and reliability ~ By using different testing techniques. software
developers can identify and fix defects early in the development process, reducing the risk of
failure or unexpected behaviour in the final product.
@ scanned with OKEN ScannerGG agen a aa ere TC
el lt
Enhances user experience ~ Techniques like usability testing can help to identify usability
issues and improve the overall user experience.
ve
increases confidence — By testing the software, developers, and stakeholders can hai :
confidence thatthe software meets the requirements and works as intended.
Facilitates maintenance — By identifying and fixing defects earl, testing makes it easier to
maintain and update the software.
Reduces costs — Finding and fixing defects early in the development process is less
expensive than fixing them later in the life cycle.
Disadvantages of software testing techniques:
‘Time-consuming ~ Testing can take a significant amount of time, particularly if thorough
testing is performed. f
Resource-intensive — Testing requires specialized skills and resources, which can be
cexpens
Limited coverage Testing can only reveal defects that are present in the test eases, and
defects cam be missed.
Unpredictable results ~ The outcome of testing is not always predictable, and defects can be
hard to replicate and fix ‘
Delivery delays ~ Testing can delay the del
expected or if significant defects are idemtified
cry of the software if testing takes longer than q
‘Automated testing limitations - Automated testing tools may have limitations, such as
difficulty in testing certain aspects of the software, and may require sig
and updates. \
Ss
Fig 1.1 Diagram of Bug Life Cycle
Bug Report:
Defect! Bug Name: A short headline describing the defect. It should be specific and accurate
Defeet/Bug ID: Unique identification number for the defect.
Pag
@ scanned with OKEN Scanner7)
Defect Descripti
ription:
tion: Detailed description of the bug including the information of the module
in which it ws :
bi Was detected. It contains a detailed summary including the severity, priority,
pected results vs actual output, etc
6 4
Severity: This describes the impact ofthe defect on the application under test.
Priority: This is related to how urgent it is to fix the defect, Priority can be High’ Medium!
Low based on the impact urgency at which the defect should be fixed.
Reported By: Name/ ID of the tester who reported the bug.
Reported On: Date when the defect is raised.
Steps: These include detailed steps along with the screenshots with which the developer can
reproduce the same defect.
Status: New/ Open’ Active
Fixed By: Name/ ID of the developer who fixed the defect.
Data Closed: Date when the defect is closed.
Factors to be Considered while Reporting a Bug:
‘The whole team should clearly understand the different conditions of the trauma before
starting rescarch on the life cycle of the disability.
To prevent future confusion, a flawed life cycle should be well documented.
Make sure everyone who has any work related to the Default Life Cycle understands his or
her best results work very clearly.
Everyone who changes the status quo should be aware of the situation which should provide
sufficient information about the nature of the feature and the reason for it so that everyone
working on that feature can easily see the reason for that feature,
'A feature tracking tool should be carefully handled in the course of a defective life eycle
work to ensure consistency between errors.
MCQ Questions:
1. Which of the following is the correct order of phases in the Waterfall model?
a) Requirements, Design, Implementation, Verification, Maintenance
by Design, Requirements, Implementation, Maintenance, Verification
) Implementation, Design, Requirements, Maintenance, Verification
4) Verification, Implementation, Requirements, Design, Maintenance
Answer: a) Requirements, Design, Implementation, Verification, Maintenance
Vee ooo Ue ee Oe eo ee eee oo
@ scanned with OKEN Scanner2. In which SDLC model is the project developed in iterative eyeles?
a) Wa
fall Model
b) Spiral Model
©) V-Model
4) Big Bang Model Answer: b) Spiral Model
3. Which SDLC model emphasizes risk analysis?
a) Waterfall Model
») Incremental Model
©) Spiral Model
4) Agile Model
Answer: ¢) Spiral Model
4. In the Agile model, which of the following is not a principle of Agile Manifesto?
) Customer collaboration over contract negotiation
b) Following a plan over responding to change
) Individuals and interactions over processes and tools
4) Working software over comprehensive documentation
Answer: b) Following a plan over responding to change
5. Which SDLC model is best suited for projects where requirements are expected to
change frequently?
a) Waterfall Model
b) V-Model
) Agile Model
4) Big Bang Mode!
Answer:e) Agile Model
6. Which of the following best describes the process of testing?
a) Identifying and fixing defects
b) Executing a program with the intent of findizg exrors
c) Writing code to fix issues
Page| 17
nono
@ scanned with OKEN Scanner
1
14) None of the above
Answer: b) Executing a program with the intent of finding errors
7. What is the main goal of debugging?
4) To verify that the system works according to the requirements
b) To idemify, isolate, and fix the cause of a defect
©) To find as many defects as possible
d) To write test cases
Answer: b) To identify, isolate, and fix the cause of a defect
8. Which of the following is a type of testing performed without executing the code?
4) Unit testing
b) Integration testing
©) Static testing
«d) Dynamic testing
Answer: ¢) Static testing
9. Which of the following activities is not a part of debugging?
a) Ana
yzing the error
by Modifying the code
©) Identifying the error
d) Writing user documentation
Answer: d) Writing user documentation
10, Which testing level is primarily concerned with verifying that in
components work as intended?
a) System testing
byIn
jon testing
¢) Unit testing,
4) Acceptance testing
Answer: ¢) Unit testing
Page | 18
@ scanned with OKEN ScannerAvhich of the following fsa common cause of software bugs?
uN
nents
2) Ineorrect regi
hy Coding ertors
©) Miscommunieation
4) All ofthe above:
Anower: d) All ofthe above
12 Which type of bug occurs when the software does not
specific conditions?
a) Functional bug
b) Performance bug
) Security bug
4) Usability bug
Answer: a) Functional bug
13, What is a "regression bug’?
) A bug that occurs due to poor performance
) A bug that appears after a certain period of
ne
©) A bug that reappears after it has been fixed in a previous version
4) A bug related to user interface design
Answer: c) A bug that reappears after it has been fixed in a previous version
14. Which of the following (ools is commonly used for bug tracking?
a) Microsoft Word
) Jira
¢) Photoshop
4d) Eclipse
Answer: b) Jira
15, What is a ‘showstopper’ bug?
) A minor bug that does not affect functionalivy
b) A bug that prevents the software from functioning
perform as intended under
Page |19
2OFAAnnnnnnnnaaneceecee
@ scanned with OKEN Scannereee
QM he te
t
4
(7
uy
v
vy
©) Ming that is related to user interface
1) A bug that is easy to fix
Anowers by A hug that prevents the software fram functioning at all
V6. Which of the following Is not a type of software testing?
8) Unit testing,
1) Integration testing
©) Build testing
a) System testing,
Answer: ¢) Build testing
17, What is the main objective of acceptance testing?
3) To test individual units of code
b) To test the system's performance
c) To verify that the system meets user requirements
4) To test the integration of different modules
Answer: ¢) To verify that the system meets user requirements
18. Which type of testing is performed to determine the system's behavior under specific
conditions, such as load or stress?
a) Functional testing
b) Usability testing
©) Performance testing
4) Security testing
Answer: ¢) Performance testing
19, In which type of testing do testers have no knowledge of the internal workings of the
application?
a) White-box testing
b) Black-box testing
©) Gray-box testing
4) Unit testing
‘Answer: b) Black-box testing
Page |20
@ scanned with OKEN Scanner20, Which testing method involves evaluating a product by simulating real-world
conditions? [
a) Alpha testing le
by) Beta testing. ie
©) Unit testing le
4) Integration testing c
Answer: b) Beta testing ©
21, Which design principle emphasizes that a class should have only one reason to 6
change?
a) Open Closed Principle
b) Single Responsibility Principle €
©) Liskov Substitution Principle ‘
4) Interface Segregation Principle iH
Answer: b) Single Responsibility Principle =
22. What docs the acronym SOLID stand for in software design? ¢
a) Simple, Object-Oriented, Light, Iterative, Design e
'b) Single Responsibility, Open/Closed, cov Substitution, Interface Segregation, e
Dependency Inversion —
¢) Structured, Organized, Layered, Integrated, Documented =
4) Simple, Organized, Logical, Integrated, Detailed —
Answer: b) Single Responsibility, Open/Closed, Liskov Substitution, Interface =
Segregation, Dependency Inversion
cc
23. Which design pattern ensures a class has only one instance and provides a global
Point of access to it? cs
a) Factory Pattern Ss
- ios
b) Singleton Pattern
co
©) Observer Pattern
4) Decorator Pattern
e.
Answer: b) Singleton Pattern «
e
Page | 21
¢
©
@ scanned with OKEN Scanner—
Pa
ee
We i A
ot
VYUUUOEUUEUYD YD Y
24. In which design pattern isan object created without exposing the creation logic 0
the client and refers to newly ereated objects through a common interface?
a) Factory Pattern
1b) Builder Pattern
©) Prototype Pattern
4) Adapter Pattern
Answer: a) Factory Pattern
25. Which principle of design states that software entities should be open for extension
but closed for modification?
a) Single Responsibility Principle
b) Open/Closed Principle
¢) Liskov Substitution Principle
4) Dependency Inversion Principle
Answer: b) Open/Closed Principle
Page | 22
© scanned wit
ith OKEN Scanner