SVVT File
SVVT File
ackground of the objective : Software has made the world a global village today. The
B
impact of softwarespansacrossalmostallaspectsofhumanlife.Allorganizations,Institutions
and companies are leveraging the potentialofsoftwareinautomatingthecriticalfunctionsand
eliminating manual interventions. Software is also a predominant area for trade and export
especially for countries like India. Domains like health care, Airlines, financial Services,
Insurance , retails,Education,andmanymorehaveexploitedsoftwareandstillthereisalotof
scope for software to create impact and add values in multiple dimensions.
roblem Description :In the context of this background, identify the areas (or application or
P
systems) how software has been leveraged extensively in the following domains with example:
● Health Care
● Airlines
● Banking Insurance
● Retail
● Education
I ntroduction
What is Software?
Softwareisasetofinstructions,dataorprogramsusedtooperatecomputersandexecutespecific
tasks. It is the opposite of hardware, which describes the physical aspects of a computer.
Software is a generic term used to refer to applications, scripts and programs that run on a
device. Itcanbethoughtofasthevariablepartofacomputer,whilehardwareistheinvariable
part.the two main categories of software are application software and system software. An
applicationissoftwarethatfulfillsaspecificneedorperformstasks.Systemsoftwareisdesigned
to run a computer's hardware and provides a platform for applications to run on top of.
YPES OF SOFTWARE
T
1. APPLICATION SOFTWARE : Application Software is the kind of programmingwhich
runs according to client demand. Framework programming gave the stage to application
programming. Elevated level dialects are wont to compose machine programming. It's a
particular reason for programming. One oftheessentialthingstothinkabouttheexpression
“application programming” isthatit’sextremelywide.Thatisit,moreorless.Inthatsense,
any client program is frequently called an “application.”
2. SYSTEM SOFTWARE : System software is software designed to provide a platformfor
other software. Examples of system software include operating systems (OS) like macOS,
inux, Android and Microsoft Windows, computational science software, game engines,
L
search engines, industrial automation, and software as a service applications
ISADVANTAGESOFSOFTWARE: Creatingapplicationprogrammingintendedtofulfill
D
explicitpurposescanpersuadebeveryexorbitantforengineers.Thiscaninfluencetheirfinancial
planandtheirincomestream,particularlyifaninordinatemeasureoftimeisspentbuildingupa
product that is not by and large worthy. Application programming that isutilizedregularlyby
numerous individuals of us, atthatpointsharedontheweb,conveysatrulygenuinedangerof
contamination by a bug or othervindictiveprojects.Creatingthemareafewthingsthattakea
spread ofyourtimesinceitwishesreliablecorrespondencebetweenengineerandconsequently
supporter. This defers the whole creation methodology, which could demonstrate to behurtful
duringacoupleofcases.eprogrammingprogramwhichcanbeplannedexplicitlyforaspecific
business endeavour, probably won’t be very much coordinated with various famous
programming. This is something which may demonstrate to be the most obstruction forafew
offices.
XAMPLES OF SOFTWARE :
E
● Operating systems (such as Microsoft Windows, Linux, mac OS)
● Productivity Software (for example, Microsoft Office Suite including Word, Excel, and
● PowerPoint)
● Internet Browsers (including Firefox, Chrome, and Safari)
ECTORS:
S
1.EDUCATION: The main objective is to make sure that certain concepts in the education
sector are practical and are understood better by students. Learning institutions are where
students can learn technology. The digital transition has resulted in the rearrangement and
reconstruction of companies. Nearly all schools commonly employ a different form of
education software. They tend to be very ubiquitous since the numberofpossiblesolutions
and the options for the prospected solution seems to be augmenting.
BENEFITS:
1. Smart and Clear Content Well, this software indeedhasthecapabilityofrevolutionizing
howideasandcontentarecreatedandpresentedtoallstudents.Moreover,digitalcontentthat
hasbeenembeddedusingartificialintelligencecapacitiesprovidessourcesthathighlyadjust
to a student’s skills and knowledge. Considering the smart ideas, it can be easily changed,
distributed, and recycled with the help of different generations of learners.
2. EnhancestheCommunicationofParents,Teachers,andStudentsOpencommunication
betweenteachersandstudentsiscrucialduringtheprocessoflearning.Respectandtrustmust
betheresothatstudentscanbetaughtwell.Thatiswhy,withtheintroductionofapplications
andeducationalsoftware,thestrongbondcanbemaintainedbytheusageofportals,forums,
and additional interactive factors. Moreover, teachers and students have equipment at hand
that they can use to make the communication process easy.
3. ConsolidationofData Differentformsofeducationsoftwarearespecificallycreatedsothat
information can be combined in a common repository. Focusing on the related data in a
specific program is capable of providing clear insight and analysis of precise facts about
particular data. Educators and professionals may use such ideastobeaguidingstrategyfor
administrative and lower-level policies in an advanced position.
4. Enhanced Efficacy and Effectiveness The objective of any school is effectiveness and
efficiency, and software used in education aids firmsinattainingtheirgoals.Instructorsuse
resources, for example, class resources management software, to restrict distractions and
augment concentration within the course materials.
2 . HEALTHCARE: Overthelastfewyears,healthcaresoftwarehasgainedgreatpopularity
amongclinicsandhealthcareorganizations.Medicalsoftwareiscrucialtothehealthcareindustry
since it lets healthcare providers monitor and manage healthcare organization and patient data.
ENEFITS:
B
1.Easieraccesstohealthcaredata: BecauseaMPMSprocessesdocumentsanddataonline,
it optimizes operations within a practice, allowing employees to search within electronic
Documents.
2.Focusonqualitycare: Byautomatingroutinemedicalprocesses,aPMSallowshealthcare
providers to concentrate on patient care.
3.Improvedpatientsatisfaction:Duetostandardizedworkflowsandautomatedfeatureslike
instantaccesstopatientrecordsandhistoryofmedicaltreatment,medicalproviderscanwork
more effectively. This improves patient satisfaction.
ENEFITS:
B
1.Multipleaccountsaresupported: Ausercanopenandaccessmultipleaccountswiththe
help of banking softwareapplications.Theuserscanalsomanagetheirinvestmentsandbuy
various insurances needed for health, security and so on. In this way, the users can easily
operate from one platform and carry out various tasks in a jiffy. Although the banking
softwareapplicationsvarydependingontheversion,theoverallfunctioningandoperationis
usually the same.
2.Secured transactions : are provided. One of the prime concerns of banks is to provide
securedservicestotheircustomers,andthisisthereasonwhythebanksprovideanumberof
securityfeaturesthathelpcustomerswithsecuredtransactions.Bankingsoftwareapplications
provideoneofthemostsecuredtransactionstocustomersandasaresulttheusersareableto
trust their banks.
3.Easeofnavigation: Thecustomersusingbankingsoftwareapplicationsarenotnecessarily
techsavvy,andthisiswhereeaseofoperationcomesintoplay.Theinterfaceisuserfriendly
andeasyforthemtonavigate,andasaresult,thecustomerscancarryoutmostofthebanking
withoutorminimalhelp.Ifthenavigationiseasy,thenthebusinessofthebankalsoimproves
becausetherearemanysignificantbenefitstothecustomers,andsothiswillalsoworkoutto
be word of mouth marketing.
4.Always available forthecustomers: Whichcustomerwillwanttowaitforthesupport?
We’ll,noonewantstowaitthesedays.Theproblemsareusuallytheregularonesandsothe
softwarehasvarioussectionsthathelpthecustomersinvarioustasks.Thisensuresthathelpis
available for the customers at all the time So when it comes to banking, the customers are
always sure that there is 24 x 7 help available to them. As a result, the banks have the
opportunity to function 24 hours in a day without beingphysicallypresenttohandleallthe
problems.
.AIRLINES:Withoutsoftware,modernaviationasweknowitwouldnotexist.Forexample,
4
itwouldn’tbepossibletomanageflightplans,airtrafficcontrol,autopilotsystemsandcomplex
maintenanceroutines.Therearealotofautomatedsoftwaresystemsthataviationcurrentlyrelies
on. Eg Aircraft maintenance
ENEFITS:
B
1.User-friendly: Anaircraftmaintenancesoftwareisuser-friendly.Itmakeskeepingrecords,
schedulingandreschedulingflights,planemaintenance,andmaintaininginventorieseasier.It
also helps maintain the payrolls of the staff and flight crew, along withsharingreportsand
tracking all kinds of flight data.
2.Excellent Customer Support : Onlineaircraftmaintenancesoftwareallowsthecompany
to provide excellent customer service by staying alert and responding to queries 24/7. The
online chatbots enable the staff to tend to their customer needs and manage the questions
anytime. This also helps business owners to assess their customer feedback and look into
areas that can be improved by providing better services.
3.Cloud Storage : An aircraft management softwareallowstheflightcompanytostoretheir
recordsandoperationaldataoncloudstorage.Thesavingsystemofthecloudismoresecure
thanconventionalstoringdevices.Thebestaspectofcloudstorageisthatitcanbeaccessed,
altered,andupdatedbythepermittedemployees.Thismeansthatachangeinonearealeads
to the automatic update in other areas affected by the change.
. RETAIL : With the advent of technology, retail software is quickly becoming buzz in all
5
sectorsofretailbusinesses—fromfastfoodoutletstotrendygiftshops.Acomprehensiveretail
management system can encompass all retail business requirements to improve inventory
positions,increaseprofitandbettercustomerservicereducingoperationalandwagecosts.Bigor
small, every retailerundoubtedlymayenjoyimmediatereturnontheirinvestmentchoosingthe
right retail software.
ENEFITS:
B
1.Hassle-free in Inventory Management : Retail software will provide details on current
stock of items, reminding additional stock requirements to smoothly operate the business,
inventory cost estimations etc. Maintaining stock details and sales through a computerized
POS system will provide accurate information about the stock movement. Thus any theft,
wastage, damage of items can be tracked efficiently.
2.Autocalculationoftax: ProfessionalretailsoftwareshouldbecapableofalltypesofVAT
and Tax calculations, with multi-currency facility.
3. Properanticipationofsalestrends.VariousMISreportshelptoforecastsalescorrectlysothat
youcanstockmoreproductsthatgiveyougreaterprofitsandfewerproductsthatgiveyouthe
least amount of profit. This will contribute to your business overall profitability and success.
4.No longer checkout lines : Your customers will appreciate a quicker, more accurate
checkoutexperiencetheywillgetfromtherightretailpointofsalesoftware.Forfastercredit
cardauthorizations,selectaretailsoftwarepackagewithintegratedcreditcardprocessingand
high-speed credit card authorizations via an Internet gateway.
5.Correctly examining sales & expenses : A complete retail software will provide you
consolidated data on the money your business owes to different vendors (i.e. Accounts
Payables) and the money owed by customers to your business (i.e. Accounts Receivable),
allowing you to monitor and control the collection and disbursement at any time – easily
calculating daily gross revenue, cost and profit.
6.PositiveDecision:TrendyBIreportswithstatistics/graphsboostthestrengthofthesoftware
which eventually may provide shortened lead-time to respond (in making any strategic
decision even) to any market changes.
PRACTICAL - 2
IM :To identify any scenario and identify suitable software development model for the
A
given scenario.
oftware Development Life Cycle (SDLC) is a process used by the software industry to
S
design, develop and test high quality softwares. The SDLC aims to produce high-quality
software that meetsorexceedscustomerexpectations,reachescompletionwithintimeandcost
estimates.
● SDLC is the acronym for Software Development Life Cycle.
● It is also called the Software Development Process.
● SDLC is a framework defining tasks performed at each step in the software development
process.
● ISO/IEC12207isaninternationalstandardforsoftwarelife-cycleprocesses.Itaimstobethe
standard that defines all the tasks required for developing and maintaining software.
What is SDLC ?
DLCisaprocessfollowedforasoftwareproject,withinasoftwareorganization.Itconsistsof
S
a detailed plan describing how to develop, maintain, replace and alter or enhance specific
software. The life cycle defines a methodology for improving the quality of software and the
overall development process.
The following figure is a graphical representation of the various stages of a typical SDLC.
tage 2: Defining Requirements : Once the requirement analysis isdonethenextstepisto
S
clearlydefineanddocumenttheproductrequirementsandgetthemapprovedfromthecustomer
or the market analysts. This is done through an SRS (Software Requirement Specification)
document which consists of all the product requirements to bedesignedanddevelopedduring
the project life cycle.
tage3:DesigningtheProductArchitecture: SRSisthereferenceforproductarchitectsto
S
come out withthebestarchitecturefortheproducttobedeveloped.Basedontherequirements
specifiedinSRS,usuallymorethanonedesignapproachfortheproductarchitectureisproposed
and documented in a DDS - Design Document Specification. ThisDDSisreviewedbyallthe
important stakeholdersandbasedonvariousparametersasriskassessment,productrobustness,
design modularity, budget and time constraints, the best design approach is selected for the
product. A design approach clearly defines all the architectural modules of the product along
withitscommunicationanddataflowrepresentationwiththeexternalandthirdpartymodules(if
any). The internal design of all the modules of the proposed architecture should be clearly
defined with the minutest of the details in DDS.
tage4:BuildingorDevelopingtheProduct:InthisstageofSDLCtheactualdevelopment
S
startsandtheproductisbuilt.TheprogrammingcodeisgeneratedasperDDSduringthisstage.
If the design is performed in a detailed and organized manner, code generation can be
accomplished without much hassle. Developers must follow the coding guidelines defined by
theirorganizationandprogrammingtoolslikecompilers,interpreters,debuggers,etc.areusedto
generatethecode.DifferenthighlevelprogramminglanguagessuchasC,C++,Pascal,Javaand
PHP are used for coding. The programming language is chosen with respect to the type of
software being developed.
Stage5:TestingtheProduct: Thisstageisusuallyasubsetofallthestagesasinthemodern
SDLCmodels,thetestingactivitiesaremostlyinvolvedinallthestagesofSDLC.However,this
stagereferstothetestingonlystageoftheproductwhereproductdefectsarereported,tracked,
fixed and retested, until the product reaches the quality standards defined in the SRS.
tage6:DeploymentintheMarketandMaintenance:Oncetheproductistestedandready
S
tobedeployeditisreleasedformallyintheappropriatemarket.Sometimesproductdeployment
happens in stages as per the business strategy of that organization. The product may first be
releasedinalimitedsegmentandtestedintherealbusinessenvironment(UAT-Useracceptance
testing). Then based on the feedback, the product may be released as it is or with suggested
enhancements in the targeting market segment. After the product is released in themarket,its
maintenance is done for the existing customer base.
DLC Models
S
There are various software development life cycle models defined and designed which are
followedduringthesoftwaredevelopmentprocess.ThesemodelsarealsoreferredtoasSoftware
evelopment Process Models".EachprocessmodelfollowsaSeriesofstepsuniquetoitstype
D
to ensure success in the process of software development.
Following are the most important and popular SDLC models followed in the industry −
● Waterfall Model
● Iterative Model
● Spiral Model
● V-Model
● Big Bang Model
ther related methodologies are Agile Model, RAD Model, Rapid Application Development and
O
Prototyping Models.
SDLC - Waterfall Model
he Waterfall Model was the first Process Model to be introduced. It is also referred to as a
T
linear-sequentiallifecyclemodel.Itisverysimpletounderstandanduse.Inawaterfallmodel,
each phase must be completed before the next phase can begin and there is no overlapping in the
Phases. The Waterfall model is the earliest SDLC approach that was used for software
development. The waterfall Model illustrates the software development process in a linear
sequential flow. This means that any phase in the development process begins only if the
previous phase is complete. In this waterfall model, the phases do not overlap.
aterfallModel-Design WaterfallapproachwasthefirstSDLCModeltobeusedwidelyin
W
Software Engineering to ensure success of the project.In"TheWaterfall"approach,thewhole
process of software development is divided into separate phases. In this Waterfall model,
typically, the outcome of one phase acts as the input for the next phase sequentially.
The following illustration is a representation of the different phases of the Waterfall Model.
The sequential phases in Waterfall model are −
● Requirement Gathering and analysis− All possible requirements of the system to be
developed are captured in this phase and documented in a requirement specification
document.
● System Design− The requirement specifications from first phase are studied in this phase
and the system design is prepared. This system design helps in specifying hardware and
system requirements and helps in defining the overall system architecture.
● Implementation−Withinputsfromthesystemdesign,thesystemisfirstdevelopedinsmall
programs called units, which are integrated in the next phase. Each unit is developed and
tested for its functionality, which is referred to as Unit Testing.
● Integration and Testing− All the units developed in the implementation phase are
integrated intoasystemaftertestingofeachunit.Postintegrationtheentiresystemistested
for any faults and failures.
● Deploymentofsystem −Oncethefunctionalandnon-functionaltestingisdone;theproduct
is deployed in the customer environment or released into the market.
● Maintenance−Therearesomeissueswhichcomeupintheclientenvironment.Tofixthose
issues, patches are released. Also to enhance the product some better versionsarereleased.
Maintenance is done to deliver these changes in the customer environment.
ll these phases are cascaded to each other in which progress is seen as flowing steadily
A
downwards(likeawaterfall)throughthephases.Thenextphaseisstartedonlyafterthedefined
set of goals are achievedforthepreviousphaseanditissignedoff,hencethename"Waterfall
Model". In this model, phases do not overlap.
Waterfall Model - Application
very software developed is different and requires a suitable SDLC approach to be followed
E
based on the internal and externalfactors.SomesituationswheretheuseofWaterfallmodelis
most appropriate are −
Requirements are very well documented, clear and fixed.
●
● Product definition is stable.
● Technology is understood and is not dynamic.
● There are no ambiguous requirements.
● Ample resources with required expertise are available to support the product.
● The project is short.
Waterfall Model - Advantages
he advantages ofwaterfalldevelopmentarethatitallowsfordepartmentalizationandcontrol.
T
A schedule can besetwithdeadlinesforeachstageofdevelopmentandaproductcanproceed
through the developmentprocessmodelphasesonebyone.Developmentmovesfromconcept,
through design, implementation, testing, installation, troubleshooting, and endsupatoperation
and maintenance. Each phase of development proceeds in strict order.
Some of the major advantages of the Waterfall Model are as follows −
Simple and easy to understand and use
●
● Easy to manage due to the rigidityofthemodel.Eachphasehasspecificdeliverablesanda
review process.
● Phases are processed and completed one at a time.
● Works well for smaller projects where requirements are very well understood.
● Clearly defined stages.
● Well understood milestones.
● Easy to arrange tasks.
● Process and results are well documented.
aterfall Model - Disadvantages The disadvantage of waterfall developmentisthatitdoes
W
not allow much reflection or revision. Once an application is in the testing stage, it is very
difficulttogobackandchangesomethingthatwasnotwell-documentedorthoughtuponinthe
concept stage.
The major disadvantages of the Waterfall Model are as follows −
No working software is produced until late during the life cycle.
●
● High amounts of risk and uncertainty.
● Not a good model for complex and object-oriented projects.
● Poor model for long and ongoing projects.
● Not suitable for the projects where requirements areatamoderatetohighriskofchanging.
So, risk and uncertainty is high with this process model.
● It is difficult to measure progress within stages.
● Cannot accommodate changing requirements.
● Adjusting scope during the life cycle can end a project.
● Integration is done as a "big-bang. at the very end, which doesn't allow identifying any
technological or business bottleneck or challenges early.
WHEN TO USE WATERFALL MODEL :
I nordertounderstanda real-lifeexampleofthewaterfallmodel,let’sfamiliarizeourselveswith
situations when the waterfall model is usually used:
● When the project requirements are laid down at the outset and remain more or less fixed
throughout the entire process
● When the product definition is stable andalotofinformationisrequiredbeforecompleting
each phase
● In cases where a strict timeline needs to be prepared and followed, without alterations
● In sectors involving engineering design and software development that generally demand
project management on a large scale
● In manufacturing and construction industries, where design changes are usually very costly
EXAMPLES OR SCENARIOS:
iththeevolutionoftechnology,therewerecaseswherelarge-scaleenterprisesystems,withthe
W
waterfall model as the default choice, were developed over a period of two to threeyearsbut
became redundant by the time they werecompleted.Slowly,theseenterprisesystemsswitched
o ver to more flexible and less expensive models, but the waterfall model continued to be
preferred in systems where:
DLC - Iterative Model In the Iterative model, the iterative process starts with a simple
S
implementationofasmallsetofthesoftwarerequirementsanditerativelyenhancestheevolving
versions until the complete system is implemented and ready to be deployed.
n iterative life cyclemodeldoesnotattempttostartwithafullspecificationofrequirements.
A
Instead,developmentbeginsbyspecifyingandimplementingjustpartofthesoftware,whichis
then reviewed to identify further requirements. This process isthenrepeated,producinganew
version of the software at the end of each iteration of the model.
I terative Model - Design Iterative processstartswithasimpleimplementationofasubsetof
thesoftwarerequirementsanditerativelyenhancestheevolvingversionsuntilthefullsystemis
implemented. At each iteration, design modifications are madeandnewfunctionalcapabilities
are added. The basic idea behind this method is to develop a system through repeated cycles
(iterative) and in smaller portions at a time (incremental).
● Thismodelcanbeusedwhentherequirementsofthecompletesystemareclearlydefinedand
understood.
● Major requirements must be defined; however, some details can evolve with time.
● There is a need to get a product to the market early.
● A new technology is being used
● Resources with needed skill set are not available
● There are some high risk features and goals.
EXAMPLES OR SCENARIOS:
ser Interfaces : A requirement of a film company needs a custom system for equipment
U
tracking, costumes, and props. The business section included is unusual for rendering
specificationsfortechnology-basedprojects.Toevadetheusualcircumstanceswheredevelopers
continuously work for a month and build something that customers will decline, an iterative
outline strategy is utilized. In a week, the developers and users sit twice to discuss the recent
system. Consumers experience the products and create new specifications that are rigorous
prioritization downtofewerworkdays.Inthismanner,thesystememergestobebeneficialand
simple to utilize.
rchitecture A firm of architecture promptly produces models and architecture animation to
A
place in the presence of the customer. This holds the customer involved and delivers it more
possible for the firm to be selected for a specific project.
arketing Ane-commercefashionwebsitenevermorebeginsdesignedagaintodisplaceanold
M
website.Alternatively,theUI(userinterface)issteadilycontentious,alteredandperfected.Track
themetricsandcorrelatewithalterations.Thedevelopmentbyfirmsareexpertlyestablishedon
practices that are incomparable to its industry.
DLC - Spiral Model The spiral model combines the idea ofiterativedevelopmentwiththe
S
systematic, controlled aspects of the waterfall model. This Spiral model is a combination of
iterative development process modelandsequentiallineardevelopmentmodeli.e.thewaterfall
model with averyhighemphasisonriskanalysis.Itallowsincrementalreleasesoftheproduct
or incremental refinement through each iteration around the spiral.
piralModel-Design Thespiralmodelhasfourphases.Asoftwareprojectrepeatedlypasses
S
through these phases in iterations called Spirals.
I dentification Thisphasestartswithgatheringthebusinessrequirementsinthebaselinespiral.
In the subsequent spirals as the product matures, identification of system requirements,
subsystem requirements and unit requirements are all done in this phase. This phase also
includes understanding the system requirements by continuous communication between the
customer and the system analyst. At the end of the spiral, the product is deployed in the
identified market.
esign: TheDesignphasestartswiththeconceptualdesigninthebaselinespiralandinvolves
D
architectural design, logical design of modules, physicalproductdesignandthefinaldesignin
the subsequent spirals.
onstructorBuild TheConstructphasereferstoproductionoftheactualsoftwareproductat
C
every spiral. In the baseline spiral, when the product isjustthoughtofandthedesignisbeing
developed a POC (Proof of Concept) is developed in this phase to get customer feedback.
heninthesubsequentspiralswithhigherclarityonrequirementsanddesigndetailsaworking
T
model of the software called buildisproducedwithaversionnumber.Thesebuildsaresentto
the customer for feedback.
valuation and RiskAnalysis RiskAnalysisincludesidentifying,estimatingandmonitoring
E
thetechnicalfeasibilityandmanagementrisks,suchasscheduleslippageandcostoverrun.After
testingthebuild,attheendofthefirstiteration,thecustomerevaluatesthesoftwareandprovides
feedback.
he following illustration is a representation of the Spiral Model, listing the activities ineach
T
phase.
asedonthecustomerevaluation,thesoftwaredevelopmentprocessentersthenextiterationand
B
subsequentlyfollowsthelinearapproachtoimplementthefeedbacksuggestedbythecustomer.
The process of iterations along the spiral continues throughout the life of the software.
Spiral Model Application
he Spiral Model is widely used in the software industry as it is in sync with the natural
T
development process of any product, i.e. learning with maturity whichinvolvesminimumrisk
for the customer as well as the development firms.
The following pointers explain the typical uses of a Spiral Model −
When there is a budget constraint and risk evaluation is important.
●
● For medium to high-risk projects.
● Long-term project commitment because of potential changes to economic priorities as the
requirements change with time.
● Customers are not sure of their requirements which is usually the case.
● Requirements are complex and need evaluation to get clarity.
● New product line which should be released in phases to get enough customer feedback.
● Significant changes are expected in the product during the development cycle.
Spiral Model - Pros and Cons
headvantageofthespirallifecyclemodelisthatitallowselementsoftheproducttobeadded
T
in, when they become available or known. This assures that there is noconflictwithprevious
requirements and design.
hismethodisconsistentwithapproachesthathavemultiplesoftwarebuildsandreleaseswhich
T
allows making an orderly transition to a maintenance activity. Another positive aspect of this
method is that the spiral model forces an early user involvement in the system development
effort.
ntheotherhand,ittakesverystrictmanagementtocompletesuchproductsandthereisarisk
O
of running the spiralinanindefiniteloop.So,thedisciplineofchangeandtheextentoftaking
change requests is very important to develop and deploy the product successfully.
The advantages of the Spiral SDLC Model are as follows −
Changing requirements can be accommodated.
●
● Allows extensive use of prototypes.
● Requirements can be captured more accurately.
● Users see the system early.
● Development can be divided into smaller parts and the risky parts canbedevelopedearlier
which helps in better risk management.
The disadvantages of the Spiral SDLC Model are as follows −
Management is more complex.
●
● End of the project may not be known early.
● Not suitable for small or low risk projects and could be expensive for small projects.
● Process is complex
● Spiral may go on indefinitely.
● Large number of intermediate stages requires excessive documentation.
hen to use Spiral model:
W
● When costs and risk evaluation is important
● For medium to high-risk projects
● Long-term project commitment unwise because of potential changes to economic priorities
● Users are unsure of their needs
● Requirements are complex
● New product line
● Significant changes are expected (research and exploration)
Validation PhasesThe different Validation Phases in a V-Model are explained in detail below.
nit Testing Unit tests designed in the module design phase areexecutedonthecodeduring
U
thisvalidationphase.Unittestingisthetestingatcodelevelandhelpseliminatebugsatanearly
stage, though all defects cannot be uncovered by unit testing.
I ntegration Testing Integration testing is associated with the architectural design phase.
Integration tests are performed to test the coexistence and communication of the internal
modules within the system.
ystemTesting Systemtestingisdirectlyassociatedwiththesystemdesignphase.Systemtests
S
check the entire system functionality andthecommunicationofthesystemunderdevelopment
withexternalsystems.Mostofthesoftwareandhardwarecompatibilityissuescanbeuncovered
during this system test execution.
cceptance Testing Acceptance testing is associated with the business requirement analysis
A
phase and involves testing the product in user environment. Acceptance tests uncover the
c ompatibility issues with the other systems availableintheuserenvironment.Italsodiscovers
the non-functional issues such as load and performance defects in the actual user environment.
- Model ─ Application V- Model application is almost the sameasthewaterfallmodel,as
V
both the models are of sequential type. Requirements have to be very clear before theproject
starts, because it is usually expensive to go backandmakechanges.Thismodelisusedinthe
medical development field, as it is strictly a disciplined domain.
The following pointers are some of the most suitable scenarios to use the V-Model application.
Requirements are well defined, clearly documented and fixed.
●
● Product definition is stable.
● Technology is not dynamic and is well understood by the project team.
● There are no ambiguous or undefined requirements.
● The project is short.
V-Model - Pros and Cons
he advantage of the V-Model method is that it is very easy to understand and apply. The
T
simplicityofthismodelalsomakesiteasiertomanage.Thedisadvantageisthatthemodelisnot
flexible to changes and just in case there is a requirement change, which is very common in
today’s dynamic world, it becomes very expensive to make the change.
The advantages of the V-Model method are as follows −
This is a highly-disciplined model and Phases are completed one at a time.
●
● Works well for smaller projects where requirements are very well understood.
● Simple and easy to understand and use.
● Easy to manage due to the rigidityofthemodel.Eachphasehasspecificdeliverablesanda
review process.
The disadvantages of the V-Model method are as follows −
High risk and uncertainty.
●
● Not a good model for complex and object-oriented projects.
● Poor model for long and ongoing projects.
● Not suitable for the projects where requirements are at a moderate to high risk of changing.
● Once an application is in the testing stage, it is difficult to go back and change a functionality.
● No working software is produced until late during the life cycle.
hen to use the V-model:
W
● The V-shaped model should beusedforsmalltomediumsizedprojectswhererequirements
are clearly defined and fixed.
● The V-Shaped model should be chosen when ample technical resources are available with
needed technical expertise.
ighconfidenceofcustomersisrequiredforchoosingtheV-Shapedmodelapproach.Since,no
H
prototypes are produced, there is a very high risk involved in meeting customer expectations.
DLC-BigBangModel TheBigBangmodelisanSDLCmodelwherewedonotfollowany
S
specific process. The development just starts with the requiredmoneyandeffortsastheinput,
a ndtheoutputisthesoftwaredevelopedwhichmayormaynotbeaspercustomerrequirement.
This Big Bang Model does not follow a process/procedure and there is a very little planning
required. Even the customer is not sure about what exactly he wantsandtherequirementsare
implemented on the fly without much analysis.
Usually this model is followed for small projects where the development teams are very small.
igBangModel─DesignandApplication TheBigBangModelcomprisesfocusingallthe
B
possibleresourcesinthesoftwaredevelopmentandcoding,withverylittleornoplanning.The
requirementsareunderstoodandimplementedastheycome.Anychangesrequiredmayormay
not need to revamp the complete software.
his model is ideal for small projectswithoneortwodevelopersworkingtogetherandisalso
T
usefulforacademicorpracticeprojects.Itisanidealmodelfortheproductwhererequirements
are not well understood and the final release date is not given.
ig Bang Model - Pros and Cons The advantage of this Big Bang Model is that it is very
B
simple and requires very little or no planning. Easy to manage and no formal procedures are
required.
owever, the Big Bang Model is a very high risk model and changes in the requirements or
H
misunderstoodrequirementsmayevenleadtocompletereversalorscrappingoftheproject.Itis
ideal for repetitive or small projects with minimum risks.
The advantages of the Big Bang Model are as follows −
This is a very simple model
●
● Little or no planning required
● Easy to manage
● Very few resources required
● Gives flexibility to developers
● It is a good learning aid for newcomers or students.
The disadvantages of the Big Bang Model are as follows −
Very High risk and uncertainty.
●
● Not a good model for complex and object-oriented projects.
● Poor model for long and ongoing projects.
● Can turn out to be very expensive if requirements are misunderstood.
DLC-AgileModel AgileSDLCmodelisacombinationofiterativeandincrementalprocess
S
modelswithfocusonprocessadaptabilityandcustomersatisfactionbyrapiddeliveryofworking
softwareproducts.AgileMethodsbreaktheproductintosmallincrementalbuilds.Thesebuilds
are provided in iterations. Each iteration typically lasts from about one to three weeks. Every
iteration involves cross functional teams working simultaneously on various areas like −
Planning
●
● Requirements Analysis
● Design
● Coding
● Unit Testing and
● Acceptance Testing.
t the end of the iteration, a working product is displayed to the customer and important
A
stakeholders.
What is Agile?
he Agile model believes that
T
every project needs to be
handled differently and the
existing methods need to be
tailored to best suit the project
requirements. In Agile, the
tasks are divided into time
boxes (small time frames) to
deliver specific features for a
release.
I terative approach is taken and
working software build is
delivered after each iteration.
Each build is incremental in
terms of features; the final
build holds all the features
required by the customer.
ereisagraphicalillustrationoftheAgileModel− TheAgilethoughtprocesshadstarted
H
early in the softwaredevelopmentandstartedbecomingpopularwithtimeduetoitsflexibility
and adaptability.
hemostpopularAgilemethodsincludeRationalUnifiedProcess(1994),Scrum(1995),Crystal
T
Clear, Extreme Programming (1996), Adaptive Software Development, Feature Driven
Development, and Dynamic Systems Development Method (DSDM) (1995). These are now
collectively referred to as Agile Methodologies, after the Agile Manifesto was published in 2001.
Following are the Agile Manifesto principles −
● Individuals and interactions − In Agile development, self-organization and motivation are
important, as are interactions like co-location and pair programming.
● Workingsoftware −Demoworkingsoftwareisconsideredthebestmeansofcommunication
with the customers to understand their requirements, instead of just depending on
documentation.
● Customercollaboration −Astherequirementscannotbegatheredcompletelyinthebeginning
oftheprojectduetovariousfactors,continuouscustomerinteractionisveryimportanttoget
proper product requirements.
● Responding to change − Agile Development is focused on quick responses to change and
continuous development.
gile Vs Traditional SDLC Models Agile is based on the adaptive software development
A
methods,whereasthetraditionalSDLCmodelslikethewaterfallmodelisbasedonapredictive
approach.PredictiveteamsinthetraditionalSDLCmodelsusuallyworkwithdetailedplanning
and have a complete forecast of the exact tasks and features to be delivered in the next few
months or during the product life cycle.
redictive methods entirely depend on the requirement analysis and planning done in the
P
beginning of cycle. Any changes to be incorporated go through a strict change control
management and prioritization.
gileusesan adaptiveapproach wherethereisnodetailedplanningandthereisclarityonfuture
A
tasksonlyinrespectofwhatfeaturesneedtobedeveloped.Thereisfeaturedrivendevelopment
and the team adapts to the changing product requirements dynamically. The product is tested
very frequently, through the release iterations, minimizing the risk of any major failures in
future.
ustomerInteraction isthebackboneofthisAgilemethodology,andopencommunicationwith
C
minimum documentation are the typical features ofAgiledevelopmentenvironment.Theagile
teams work in close collaboration with each other and are most often located in the same
geographical location.
gileModel-ProsandCons Agilemethodsarebeingwidelyacceptedinthesoftwareworld
A
recently.However,thismethodmaynotalwaysbesuitableforallproducts.Herearesomepros
and cons of the Agile model.
The advantages of the Agile Model are as follows −
Is a very realistic approach to software development.
●
● Promotes teamwork and cross training.
● Functionality can be developed rapidly and demonstrated.
● Resource requirements are minimum.
● Suitable for fixed or changing requirements
● Delivers early partial working solutions.
● Good model for environments that change steadily.
● Minimal rules, documentation easily employed.
● Enables concurrent development and delivery within an overall planned context.
● Little or no planning required.
● Easy to manage.
● Gives flexibility to developers.
The disadvantages of the Agile Model are as follows −
Not suitable for handling complex dependencies.
●
● More risk of sustainability, maintainability and extensibility.
● An overall plan, an agile leader and agile PM practice is a must without which it will not
work.
● Strictdeliverymanagementdictatesthescope,functionalitytobedelivered,andadjustments
to meet the deadlines.
● Depends heavily on customer interaction, so if the customer is not clear, the team can be
driven in the wrong direction.
● There is a very high individual dependency, since there is minimum documentation generated.
PRACTICAL - 3
IM: Toclassifytherequirementintofunctionalandnon-functionalrequirementsandlistfour
A
functional and non -functional requirements for any scenario.
lphaTesting: AlphaTestingisatypeofacceptancetesting;performedtoidentifyallpossible
A
issuesandbugsbeforereleasingthefinalproducttotheendusers.Alphatestingiscarriedoutby
thetesterswhoareinternalemployeesoftheorganization.Themaingoalistoidentifythetasks
that a typical user might perform and test them. To put it as simply as possible, this kind of
testing is called alpha only because it isdoneearlyon,neartheendofthedevelopmentofthe
software, and before beta testing. The main focus of alpha testing is to simulate real usersby
using a black box.
eta Testing : Beta Testing is performed by “real users” of the software application in “real
B
environment” and it can be consideredasaformofexternalUserAcceptanceTesting.Itisthe
finaltestbeforeshippingaproducttothecustomers.Directfeedbackfromcustomersisamajor
advantageofBetaTesting.Thistestinghelpstotestproductsinthecustomer'senvironment.Beta
version of the software is released to a limited number of end-users of the product to obtain
feedbackontheproductquality.Betatestingreducesproductfailurerisksandprovidesincreased
quality of the product through customer validation.
lpha testinginvolvesboththewhitebox
A eta testing commonly uses black box
B
and black box testing. testing.
lpha testingisperformedbytesterswho
A
eta testing is performed by clients who
B
are usually internal employees of the
are not part of the organization.
organization.
I n thewaterfallmodelearlystageplanning I nanincrementalmodelearlystageplanningis
is necessary. also necessary.
lexibilitytochangeinthewaterfallmodel F
F lexibility tochangeinincrementalmodels is
is Difficult. Easy.
Cost of the Waterfall model is Low. Cost of an incremental model is also Low.
I n a spiral model, overlapping of I n an incremental model, overlapping of
7.
phases is not possible. phases is possible.
estingisdoneinaspiralmodelat
T esting is done in an incremental model
T
8.
the end of the engineering phase. after every iteration of phase.
2. In V-model testing activities start Testing is done in a spiralmodelat
with the first stage. the end of the engineering phase.
3. Cost of a V-model is expensive. he spiral model is also very
T
expensive.
serinvolvementinV-modelisalso
U I n this user Involvement is only at
6.
only in the beginning. the beginning.
ifferencebetweenV-modelandWaterfallmodel: Besidesthatv-modelisthealternate
D
of the waterfall model. There is some difference between these two models which are
given below.
Flexibility of the Waterfall model is Rigid. Flexibility of the V-model is Little flexible.
1.3. T heusercanborrowabook.Hemustprovidetheusernameandthecardnumber,which
is unique and confidential to each user. By confirming the authenticity of a user, the
library management system provides information about the number of books already
borrowedbytheuserandbyreferringtothedatabasewhethertheusercanborrowbooks
ornot.Thelibrarymanagementsystemallowstheusertoenterthetitleandtheauthorof
the book and hence issues the book if it is available.
1.4. By entering the user details and the book details the user can return the borrowed book.
2. S YSTEM REQUIREMENT SPECIFICATION
2.1. INTRODUCTION
2.2. Purpose
2.2.1. ThepurposeofthisSRSistodescribetherequirementsinvolvedindevelopinga
Library management system.
2.2.2. The intended audience is any person, who wants to inquire, borrowandreturn
the books.
2.3. Scope
.3.1.
2 he product is titled Library Management System.
T
2.3.2. The product will perform the following tasks
2.3.3. Enquire about the availability of books.
2.3.4. Borrow books if available.
2.3.5. Return the borrowed books.
.4. D
2 efinitions, Acronyms and Abbreviations
2.5. DBMS– Database Management System.
2.6. References IEEE standard 830-1998 recommended practice for Software
Requirements Specifications-Description.
2.7. Overview
2.7.1. The SRS contains an analysis of the requirements necessary to help easy design.
2.7.2. The overall description provides interface requirements for the Library
Management System, product perspective, hardware interfaces, software
interfaces,communicationinterface,memoryconstraints,productfunctions,user
characteristics and other constraints.
2.7.3. Succeeding pages illustrate the characteristics of typical naïve users accessing
the system along with legal and functional constraints enforced that affect
Library Management System in any fashion.
2.8. THE OVERALL DESCRIPTION
2.9. Product perspective
2.10. Hardware interfaces
2.10.1. Harddisk: Thedatabaseconnectivityrequiresahardwareconfigurationthatis
on-line.Thismakesitnecessarytohaveafastdatabasesystemrunningonahigh
rpm hard disk permitting complete data redundancy and back-up systems to
support the primary goal of reliability.
2.11. The system must interface with the standard output device, keyboard and mouse to
interact with this software.
2.12. Software interfaces
2.12.1. Back End: MS-Access 2007
2.12.2. Front End: Microsoft Visual Basic 6.0
2.12.3. Memory Constraints
2.13. No specific constraints on memory.
2.14. Operations
2.14.1. The software allows three modes of operations
2.14.2. Enquire about the availability and status of books.
2.14.3. Byextractingtheusernameandpasswordthesoftwareallowstheusertoborrow
a maximum of three books.
2.14.4. By extractingtheusernameandpasswordthesoftwareallowstheusertoreturn
the borrowed books.
2.15. Product Functions
.15.1.
2 nquire about the availability and status of books.
E
2.15.2. Search the availability of the book by entering the title of the book.
2.15.3. Search the availability of books by entering the author of the book.
2.15.4. The software validates the authentic user by extracting their username and
password.
2.15.5. Afterthevalidationoftheusersoftwareallowstheusertoborrowamaximumof
three books based on the number of books which were already borrowed.
2.15.6. After the validation of the user software allows the user to return the books,
which were borrowed.
2.16. User characteristics
2.16.1. Theintendedusersofthissoftwareneednothavespecificknowledgeastowhat
is the internal operation of the system. Thus the end user is at a high level of
abstraction that allows easier, faster operation and reduces the knowledge
requirement of end user
2.16.2. The Product is absolutely user friendly, so the intended users can be thenaïve
users.
2.16.3. The product doesnotexpecttheusertopossessanytechnicalbackground.Any
personwhoknowshowtousethemouseandthekeyboardcansuccessfullyuse
this product.
2.17. Constraints
2.17.1. Theuserhasauniqueusernameandpassword,therearenooptionstoretrievea
passwordorusernameincaseitisforgottenorlosthencetheuserisrequiredto
remember or store the username and password.
2.18. SPECIFIC REQUIREMENTS
2.19. Logical Database Requirements
2.19.1. The system should contain databases that include all necessaryinformationfor
the product to function according to the requirements.
2.19.2. These include relations such as user details and book details.
2.19.3. Theuserdetailsrefertotheinformationsuchasname,cardnumber,no.ofbooks
borrowed, the title and the name of the author of the books that were borrowed.
2.19.4. The book details refer to the information such as the title of the book, author
availability status and the number of copies that are available.
2.19.5. FRONT – END DESCRIPTION - The library management system is an
automated library system where the user can search for the book by either
entering the detailsofthebookortheauthor’sname.Byenteringtheusername
andthepasswordthesoftware,bycheckingthenumberofbooksthatarealready
borrowed,enablesustoborrowamaximumofthreebooks.Andbyenteringthe
username and password(cardnumber),whichisunique,theusercanreturnthe
books.
2.20. BACK – END DESCRIPTION
2.20.1. T
helibrarymanagementsystemconsistsoftwotables.Onecontainsthestudent
details such as the name, card number that is the password, title and the author of
BOOK DETAILS
IELD NAME
F YPE
T CONSTRAINTS
REGISTER_NO NUMBER NOT NULL
BOOK_ID NUMBER NOT NULL
ISSUE_DATE DATE/TIME
RETURN_DATE DATE/TIME
BOOK_NAME TEXT
STUDENT DETAILS
FIELD NAME YPE
T CONSTRAINTS
REGISTER_NO NUMBER NOT NULL
FNAME TEXT NOT NULL
LNAME TEXT
GENDER TEXT
DEPT TEXT
EXPECTED ACTUAL
FORM NAME INPUT STATUS
OUTPUT OUTPUT
MEMBERSHIP FORM
LOGIN FORM
ISSUE FORM
RETURN/REISSUE FORM
ime Consuming Regression Testing consumes a lot of time tocomplete.Regressiontesting
T
involves existing tests again, so testers are not excited to re-run the test.
omplex Regression Testing is complex as well when there is a need to updateanyproduct;
C
lists of the test are also increasing.
ommunicating business rule Regression Testing ensures the existing product features are
C
still in working order. Communication about regressiontestingwithanon-technicalleadercan
be a difficult task. The executive wants to see the product move forward and make a
considerable time investment in regression testing toensureexistingfunctionalityworkingcan
be hard.
1. Identify Impact Area
2 . Test Cases Increases Release by Release
3. Less Resources
4. No Accuracy
5. Repetitive Task
6. Monotonous Job
egressiontestingprocess Theregressiontestingprocesscanbeperformedacrossthebuilds
R
and thereleases.
or example, How we perform the regression testing if we have different builds as Build1,
F
Build 2, and Build 3, which have different scenarios.
uild1
B
● Firstly the client will provide the business needs.
● Then the development team starts developing the features.
● After that, the testing team will start writing thetestcases;forexample,theywrite900test
cases for the release#1 of the product.
● And then, they will start implementing the test cases.
Build2
● Now, the customer asks for 3-4 extra (new) features to be added and also provides the
requirements for the new features.
● Afterthat,thetestingteamwillstartwritingthetestcaseforthenewfeatures,andtheywrite
about 150 new test cases.
● Onceitisdone,theywillbegintestingtheoldfeatureswiththehelpof900testcasestoverify
that adding the new feature has damaged the old features or not.
● Here, testing the old features is known asRegression Testing.
● Once all the features (New and Old) have been tested, the product is handed over to the
customer, and then the customer will do the acceptance testing.
Build3
● After the second release, the customer wants to remove one of the features like Sales.
● Then he/she will delete all the test cases which belong to the sales module.
Regression testing across the release
The regression testing process starts whenever there is a new Release for the same project
because the new feature may affect the old elements in the previous releases.
o understand the regression testing process, we will follow the below steps:
T
Step1 ThereisnoregressiontestinginRelease#1becausethereisnomodificationhappeninthe
Release#1 as the release is new itself.
tep4 Afterunderstandingthenewrequirements,wewillperformoneroundofimpactanalysis
S
to avoid the major risk, but here the question arises who will do the Impact analysis?
tep5 The impact analysis is done by the customer based on their business knowledge, the
S
developerbasedontheircodingknowledge,andmostimportantly,itisdonebythetestengineer
because they have the product knowledge.
tep8 OncetheTestleadgetstheReports#,he/shewillconsolidatethereportsandstoredinthe
S
test case requirement repository for the release#1.
tep9 Afterthat,theTestLeadwilltakethehelpofRTMandpickthenecessaryregressiontest
S
case from the test case repository, and those files will be placed in the Regression Test Suite.
● The test lead will store the regression test case in the regression test suite for no further
confusion.
● Regressiontestsuite:Here,
we willsavealltheimpact
area test documents.
● Regression Test Cases:
These are the test cases of
the old releases text
document need to be
re-executed as we can see
in the below image:
tep10 After that, when the test engineer has finished working on the newtestcases,thetest
S
lead willassign the regression test caseto the test engineer.
tep11 Whenalltheregressiontestcasesandthenewfeaturesarestableandpass,thencheck
S
theimpactareausingthetestcaseuntilitisdurableforoldfeaturesplusthenewfeatures,and
then it will be handed over to the customer.
gileTestingcanbecreatedatthebeginningoftheprojectwithendlessincorporationbetween
A
developmentandtesting.Itisnotasequentialbutcontinuousprocess.Theagiletestingprocessis
a smart way oftestingcomplicatedsoftware,whichacceptsmoreeffectiveresultsascompared
to the traditional testing procedures.In the modern days of software testing, agile testing has
gained a lot ofsignificance.Theexecutionofagiletestingwillhelpusidentifytheinitialerror
and elimination, giving better results in less development time and costs.
rinciplesofAgileTesting: AgileTestingincludesvariousdifferentprinciplesthathelpusto
P
increase the productivity of our software.
1. Constant response
2. Less documentation
3. Continuous Testing
4. Customer Satisfaction
5. Easy and clean code
6. Involvement of the entire team
7. Test-Driven
8. Quick feedback
For our better understanding, let's see them one by one in detail:
1.ConstantResponse TheimplementationofAgiletestingdeliversaresponseorfeedbackon
anongoingbasis.Therefore,ourproductcanmeetthebusinessneeds.Inotherwords,wecan
say that the Product and business requirements are understood throughout the constant
response.
2.LessDocumentation TheexecutionofagiletestingrequireslessdocumentationastheAgile
teams or all the test engineers use a reusable specification or a checklist. And the team
emphasizes the test rather than the secondary information.
3.ContinuousTesting Theagiletestengineersexecutethetestingendlesslyasthisistheonly
technique to make sure of the constant improvement of the product.
4.Customer Satisfaction In any project delivery, customer satisfaction is important as the
customers are exposed to their product throughout the development process. As the
developmentphaseprogresses,thecustomercaneasilymodifyandupdaterequirements.And
the tests can also be changed as per the updated requirements.
5.Easy and clean code When the bugs or defects occurred by the agile team or the testing
team are fixed in a similar iteration, which leads us to get the easy and clean code.
6.Involvementoftheentireteam Asweknowthat,thetestingteamistheonlyteamwhois
responsible for a testing process intheSoftwareDevelopmentLifeCycle.Butontheother
hand, in agile testing, the business analysts (BA) and the developers can also test the
application or the software.
7.Test-Driven Whiledoingtheagiletesting,weneedtoexecutethetestingprocessduringthe
implementation that helps us to decrease the development time. However, the testing is
implemented after implementation or when the software is developed in the traditional
process.
8.Quick response In each iteration ofagiletesting,thebusinessteamisinvolved.Therefore,
we can get continuous feedback that helps us to reduce the time of feedback response on
development work.
est-Driven Development (TDD) The test-driven development method begins with the test
T
itself. As thenameproposes,theTDDvariesupontherepetitionofthedevelopmentcycle.We
alreadyknewthatthefirststepinthedevelopmentcycleistocreateaunittestcase.Andinthe
next step, we will be designing the code that fits the test case in order to execute the test cases.
Hence,thewholecodeisdesigneduntiltheunittestpasses.Generally,test-drivendevelopment
is executed by using the automated testing tools andimplementedonunitsandcomponentsof
the code.
ehavior-Driven Development (BDD) The following method in agile testing is
B
behavior-driven development. The BDD enhances the communication between the project
stakeholders tofacilitatethemembersadequatelyandunderstandallthecomponentsbeforethe
developmentprocessbegins.ItisconstructedonthesamerulesasTDDandATDD.Therefore,
thecodeisdevelopedasperthetestcasedesignedinthistestingmethodologytoo.Theprimary
purpose of this development is to emphasize the identification of business needs and outputs.
And the development should be consistent with business output.
In behavior-driven development, we need to follow the below steps:
1. Describe the behavior.
2. Generating the test case.
3. Writing code as per the test case is specified.
4. Continuing the process until the code passes the test case.
xploratory Testing In Software testing, exploratory testing is one particulartypewherethe
E
test engineers have the fundamental freedom to explore the codeandcreatethemosteffective
software. In simple words, we can say that if we don't have the requirement, then we do one
round of exploratory testing. Exploratory testing isaverysignificantpartoftheagiletestasit
helps discover the unknown risks from the software that a simple testing approach could not
h ave noticed. To explore each aspect of the software functionality, the test engineer creates
varioustestcases,executesdifferenttests,andrecordstheprocesstolearnitandunderstandits
particular flow.
While performing the exploratory testing, we need to follow the below steps:
Exploring the application in all possible ways
●
● Understanding the flow of the application
● Preparing a test document
● Testing the application
cceptance Test-Driven Development (ATDD) Another methodology of agile testing is
A
Acceptance Test-Driven Development (ATDD). The ATDD approach emphasizes the
customer's requirements by involving the team members with different viewpoints.The team's
membersofdevelopment,testing,andthecustomerscometogether in order to develop the
acceptance test from the customer'sperspective.InAcceptanceTestDrivenDevelopment,
the code is acquired along with the developed acceptance test case.
xtreme Programming (XP) The next significant agile methodology is Extreme
E
Programming which is denotedasXP.Whenthereisacontinuousmodificationintheuser
requirements,wewillgofortheextremeprogrammingmethodology.TheXPwillhelpusdeliver
a quality product, which meets the customer's requirementsthataremadeclearthroughoutthe
process of development and testing.
ession-BasedTesting Intherowofvariousagiletestingmethodologies,thenextmethodology
S
is Session-based testing. It is mainly created on the values of exploratory testing.Though
session-based testing contains some structure and on the other hand, exploratory testing is
performedunexpectedlywithoutanyplanning.Itisusedtohelpusidentifythehiddenbugsand
defects in the particular software.
ynamicSoftwareDevelopmentMethod(DSDM)Anothereffectivemethodofagiletesting
D
is Dynamic Software Development Method. ItisaRapidApplicationDevelopment(RAD)
approach that offers a delivery framework toagileprojects.Inotherwords,wecansaythatthe
Dynamic Systems Development technique (DSDM) is a correlate degree agile code
development approach, which gives a framework for developing and maintaining systems.
rystal Methodologies The subsequent agile testing is crystal methodologies. This
C
methodologymainlyemphasizesrecording,cyclicdelivery,andwrap-up,whichistomakesure
during the various analyses.
gile Testing Quadrants It has different quadrants to easily understand agile testing, which
A
divides the whole testing process into four parts.In additiontothefourquadrants,thelefttwo
specifythetestengineerthatcodetowrite,andtherighttwoquadrantshelpthemunderstandthe
code improved with the support of response to theleftquadrants.Theseagiletestingquadrants
maybeunderstoodasatraditionalprocessorstrategiestoperformtheend-to-endagiletestingof
a software application in four different stages, as we can see in the following image:
gileTestPlan Ascomparedtothewaterfallmodel,theagiletestplaniscreatedandupdated
A
for every release. Furthermore, the agile test plan containsthosetypesoftestingexecutedina
specific iteration, such as test environments, test data requirements, test results, and
infrastructure.
hat is STLC?
W
Software Testing Life Cycle (STLC) is the testing process that is executed in a well-planned
manner. In the STLC process, various activities are carried out to improve the quality of the
product.However,STLCphasesonlydealwithtestinganddetectingerrorsbutnotdevelopment
itself.DifferentcompaniesdefinedifferentphasesinSTLC.However,thegenericSoftwareTest
Life Cycle has the following stages.
1 . Requirement Analysis
2. Test Planning
3. Test Development
4. Test Environment Setup
5. Test Execution & Closure
EY DIFFERENCE
K
SDLC defines all the standard phases which are involved during the software development
process, whereas the STLC process defines various activities to improve the quality of the
product. SDLC is a DevelopmentLifeCyclewhereasSTLCisaTestingLifeCycle.InSDLC,
the development team creates the high and low-level design plans while In STLC, the test
analyst creates the System,Integration Test Plan In SDLC, real code is developed, and actual
ork takes place as per the design documents,whereasinSTLCtestingteampreparesthetest
w
environment and executes test cases.TheSDLClifecyclehelpsateamtocompletesuccessful
development of the software while STLC phases only cover software testing.
Why Use SDLC?
Here, are some prime reasons for using SDLC method:
hy STLC?
W
Here, are Important reasons for using STLC method:
STLC helps make the testing process more sophisticated, consistent and effective
●
● You can include milestones and deliverables for each step of the project
● Easy to understand and implement even if the model is expanded to various levels
● Time constraints are strongly built in project formulation
● Each module of the project is tested before the beginning of the another module
● The requirement of the specific project is measured against the actual result.
Parameter SDLC STLC
hemainobjectofSDLClifecycle
T
Objective is to complete successful T he only objective of the STLC
development of the software phase is testing.
including testing and other phases.
In STLC, the QA team analyze
I n SDLC the business analyst r equirement documents like
Requirement
gathers the requirementsandcreate functional and non-functional
Gathering
Development Plan documents a nd createSystemTest
Plan
eatures of SDLC
F
● The model structure & functions are well documented, and the tested result is readily
available
● The project can be completed step by step before another project begins. Project units are
distinct and easily identifiable.
● Risk management is integral to the model and is handled efficiently.
● The project can be designed so that the pieces should be sourced
eatures of STLC
F
● STLC analyze system requirements collected from clients and stakeholders
● Helps you to create traceability Matrix
● Identify the testing technique and testing types
● Prioritize the feature which should be primarily targeted on the test
● You can Analyze the Automation feasibility with STLC
● Identify the information about the testing environment where the actual test should be
executed