0% found this document useful (0 votes)
13 views55 pages

SVVT File

Uploaded by

deepanshu.saini
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views55 pages

SVVT File

Uploaded by

deepanshu.saini
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 55

Index:

S. No Program name Page no Signature

1. To identify the role of the software in today’s world


across a few significant domains related to day to day life.

2. To identify any scenario and identify suitable software


development model for the given scenario.

3. To classify the requirement into functional and non-


functional requirements and list four functional and
non -functional requirements for any scenario.

4. Do comparative study of various software development


models.

5 Preparation of requirement document for standard application


problems in standard format. (eg. Library Management System,
Railway Reservation system, Hospital management System,
University Admission system)

6 To identify the usage of Regression Testing.

7 To identify the usage of Agile Testing.

8 To understand the importance of the SDLC and STLC


process.
‭PRACTICAL - 1‬
‭ IM‬ ‭:‬ ‭To‬ ‭identify‬ ‭the‬ ‭role‬ ‭of‬ ‭the‬ ‭software‬ ‭in‬ ‭today’s‬ ‭world‬ ‭across‬ ‭a‬ ‭few‬ ‭significant‬ ‭domains‬
A
‭related to day to day life.‬

‭ ackground‬ ‭of‬ ‭the‬ ‭objective‬ ‭:‬ ‭Software‬ ‭has‬ ‭made‬ ‭the‬ ‭world‬ ‭a‬ ‭global‬ ‭village‬ ‭today.‬ ‭The‬
B
‭impact‬ ‭of‬ ‭software‬‭spans‬‭across‬‭almost‬‭all‬‭aspects‬‭of‬‭human‬‭life.‬‭All‬‭organizations,‬‭Institutions‬
‭and‬ ‭companies‬ ‭are‬ ‭leveraging‬ ‭the‬ ‭potential‬‭of‬‭software‬‭in‬‭automating‬‭the‬‭critical‬‭functions‬‭and‬
‭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,‬‭and‬‭many‬‭more‬‭have‬‭exploited‬‭software‬‭and‬‭still‬‭there‬‭is‬‭a‬‭lot‬‭of‬
‭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?‬
‭Software‬‭is‬‭a‬‭set‬‭of‬‭instructions,‬‭data‬‭or‬‭programs‬‭used‬‭to‬‭operate‬‭computers‬‭and‬‭execute‬‭specific‬
‭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.‬ ‭It‬‭can‬‭be‬‭thought‬‭of‬‭as‬‭the‬‭variable‬‭part‬‭of‬‭a‬‭computer,‬‭while‬‭hardware‬‭is‬‭the‬‭invariable‬
‭part.the‬ ‭two‬ ‭main‬ ‭categories‬ ‭of‬ ‭software‬ ‭are‬ ‭application‬ ‭software‬ ‭and‬ ‭system‬ ‭software.‬ ‭An‬
‭application‬‭is‬‭software‬‭that‬‭fulfills‬‭a‬‭specific‬‭need‬‭or‬‭performs‬‭tasks.‬‭System‬‭software‬‭is‬‭designed‬
‭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‬ ‭programming‬‭which‬
‭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‬ ‭of‬‭the‬‭essential‬‭things‬‭to‬‭think‬‭about‬‭the‬‭expression‬
‭“application‬ ‭programming”‬ ‭is‬‭that‬‭it’s‬‭extremely‬‭wide.‬‭That‬‭is‬‭it,‬‭more‬‭or‬‭less.‬‭In‬‭that‬‭sense,‬
‭any client program is frequently called an “application.”‬

‭2.‬ ‭SYSTEM‬ ‭SOFTWARE‬ ‭:‬ ‭System‬ ‭software‬ ‭is‬ ‭software‬ ‭designed‬ ‭to‬ ‭provide‬ ‭a‬ ‭platform‬‭for‬
‭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‬

‭ DVANTAGES‬ ‭OF‬ ‭SOFTWARE‬ ‭:‬ ‭Their‬‭single‬‭greatest‬‭favourable‬‭position‬‭is‬‭that‬‭it‬‭meets‬


A
‭the‬ ‭exact‬ ‭requirements‬ ‭of‬ ‭the‬ ‭client.‬ ‭Since‬ ‭it’‬ ‭s‬ ‭planned‬ ‭explicitly‬ ‭in‬ ‭view‬ ‭of‬ ‭one‬ ‭reason,‬ ‭the‬
‭client‬‭realizes‬‭that‬‭he‬‭must‬‭utilize‬‭one‬‭explicit‬‭programming‬‭to‬‭achieve‬‭his‬‭errand.‬‭Business‬‭that‬
‭accompanies‬ ‭it‬ ‭can‬ ‭confine‬ ‭access‬ ‭and‬ ‭may‬ ‭think‬ ‭of‬ ‭intends‬ ‭to‬ ‭monitor‬ ‭their‬ ‭organization‬
‭additionally.‬ ‭Standard‬ ‭updates‬ ‭from‬ ‭engineers‬ ‭for‬ ‭Licensed‬ ‭application‬ ‭programming‬ ‭were‬
‭obtained‬‭with‬‭rationale‬‭of‬‭wellbeing.‬‭Moreover,‬‭engineers‬‭additionally‬‭consistently‬‭send‬‭faculty‬
‭to‬‭exact‬‭any‬‭issues‬‭which‬‭may‬‭arise‬‭periodically.‬‭Possibility‬‭of‬‭infections‬‭attacking‬‭hand‬‭crafted‬
‭projects‬‭may‬‭be‬‭little,‬‭as‬‭long‬‭as‬‭any‬‭business‬‭that‬‭accompanies‬‭it‬‭can‬‭limit‬‭access‬‭and‬‭ought‬‭to‬
‭give you a strategy to secure their locale too.‬

‭ ISADVANTAGES‬‭OF‬‭SOFTWARE‬‭:‬ ‭Creating‬‭application‬‭programming‬‭intended‬‭to‬‭fulfill‬
D
‭explicit‬‭purposes‬‭can‬‭persuade‬‭be‬‭very‬‭exorbitant‬‭for‬‭engineers.‬‭This‬‭can‬‭influence‬‭their‬‭financial‬
‭plan‬‭and‬‭their‬‭income‬‭stream,‬‭particularly‬‭if‬‭an‬‭inordinate‬‭measure‬‭of‬‭time‬‭is‬‭spent‬‭building‬‭up‬‭a‬
‭product‬ ‭that‬ ‭is‬ ‭not‬ ‭by‬ ‭and‬ ‭large‬ ‭worthy.‬ ‭Application‬ ‭programming‬ ‭that‬ ‭is‬‭utilized‬‭regularly‬‭by‬
‭numerous‬ ‭individuals‬ ‭of‬ ‭us,‬ ‭at‬‭that‬‭point‬‭shared‬‭on‬‭the‬‭web,‬‭conveys‬‭a‬‭truly‬‭genuine‬‭danger‬‭of‬
‭contamination‬ ‭by‬ ‭a‬ ‭bug‬ ‭or‬ ‭other‬‭vindictive‬‭projects.‬‭Creating‬‭them‬‭are‬‭a‬‭few‬‭things‬‭that‬‭take‬‭a‬
‭spread‬ ‭of‬‭your‬‭time‬‭since‬‭it‬‭wishes‬‭reliable‬‭correspondence‬‭between‬‭engineer‬‭and‬‭consequently‬
‭supporter.‬ ‭This‬ ‭defers‬ ‭the‬ ‭whole‬ ‭creation‬ ‭methodology,‬ ‭which‬ ‭could‬ ‭demonstrate‬ ‭to‬ ‭be‬‭hurtful‬
‭during‬‭a‬‭couple‬‭of‬‭cases.‬‭e‬‭programming‬‭program‬‭which‬‭can‬‭be‬‭planned‬‭explicitly‬‭for‬‭a‬‭specific‬
‭business‬ ‭endeavour,‬ ‭probably‬ ‭won’t‬ ‭be‬ ‭very‬ ‭much‬ ‭coordinated‬ ‭with‬ ‭various‬ ‭famous‬
‭programming.‬ ‭This‬ ‭is‬ ‭something‬ ‭which‬ ‭may‬ ‭demonstrate‬ ‭to‬ ‭be‬ ‭the‬ ‭most‬ ‭obstruction‬ ‭for‬‭a‬‭few‬
‭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‬ ‭number‬‭of‬‭possible‬‭solutions‬
‭and the options for the prospected solution seems to be augmenting.‬

‭BENEFITS:‬
‭1.‬ ‭Smart‬ ‭and‬ ‭Clear‬ ‭Content‬ ‭Well,‬ ‭this‬ ‭software‬ ‭indeed‬‭has‬‭the‬‭capability‬‭of‬‭revolutionizing‬
‭how‬‭ideas‬‭and‬‭content‬‭are‬‭created‬‭and‬‭presented‬‭to‬‭all‬‭students.‬‭Moreover,‬‭digital‬‭content‬‭that‬
‭has‬‭been‬‭embedded‬‭using‬‭artificial‬‭intelligence‬‭capacities‬‭provides‬‭sources‬‭that‬‭highly‬‭adjust‬
‭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.‬ ‭Enhances‬‭the‬‭Communication‬‭of‬‭Parents,‬‭Teachers,‬‭and‬‭Students‬‭Open‬‭communication‬
‭between‬‭teachers‬‭and‬‭students‬‭is‬‭crucial‬‭during‬‭the‬‭process‬‭of‬‭learning.‬‭Respect‬‭and‬‭trust‬‭must‬
‭be‬‭there‬‭so‬‭that‬‭students‬‭can‬‭be‬‭taught‬‭well.‬‭That‬‭is‬‭why,‬‭with‬‭the‬‭introduction‬‭of‬‭applications‬
‭and‬‭educational‬‭software,‬‭the‬‭strong‬‭bond‬‭can‬‭be‬‭maintained‬‭by‬‭the‬‭usage‬‭of‬‭portals,‬‭forums,‬
‭and‬ ‭additional‬ ‭interactive‬ ‭factors.‬ ‭Moreover,‬ ‭teachers‬ ‭and‬ ‭students‬ ‭have‬ ‭equipment‬ ‭at‬ ‭hand‬
‭that they can use to make the communication process easy.‬
‭3.‬ ‭Consolidation‬‭of‬‭Data‬ ‭Different‬‭forms‬‭of‬‭education‬‭software‬‭are‬‭specifically‬‭created‬‭so‬‭that‬
‭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‬ ‭ideas‬‭to‬‭be‬‭a‬‭guiding‬‭strategy‬‭for‬
‭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‬ ‭firms‬‭in‬‭attaining‬‭their‬‭goals.‬‭Instructors‬‭use‬
‭resources,‬ ‭for‬ ‭example,‬ ‭class‬ ‭resources‬ ‭management‬ ‭software,‬ ‭to‬ ‭restrict‬ ‭distractions‬ ‭and‬
‭augment concentration within the course materials.‬

2‭ .‬ ‭HEALTH‬‭CARE‬‭:‬ ‭Over‬‭the‬‭last‬‭few‬‭years,‬‭healthcare‬‭software‬‭has‬‭gained‬‭great‬‭popularity‬
‭among‬‭clinics‬‭and‬‭healthcare‬‭organizations.‬‭Medical‬‭software‬‭is‬‭crucial‬‭to‬‭the‬‭healthcare‬‭industry‬
‭since it lets healthcare providers monitor and manage healthcare organization and patient data.‬

‭ ENEFITS:‬
B
‭1.‬‭Easier‬‭access‬‭to‬‭healthcare‬‭data‬‭:‬ ‭Because‬‭a‬‭MPMS‬‭processes‬‭documents‬‭and‬‭data‬‭online,‬
‭it‬ ‭optimizes‬ ‭operations‬ ‭within‬ ‭a‬ ‭practice,‬ ‭allowing‬ ‭employees‬ ‭to‬ ‭search‬ ‭within‬ ‭electronic‬
‭Documents.‬
‭2.‬‭Focus‬‭on‬‭quality‬‭care‬‭:‬ ‭By‬‭automating‬‭routine‬‭medical‬‭processes,‬‭a‬‭PMS‬‭allows‬‭healthcare‬
‭providers to concentrate on patient care.‬
‭3.‬‭Improved‬‭patient‬‭satisfaction‬‭:‬‭Due‬‭to‬‭standardized‬‭workflows‬‭and‬‭automated‬‭features‬‭like‬
‭instant‬‭access‬‭to‬‭patient‬‭records‬‭and‬‭history‬‭of‬‭medical‬‭treatment,‬‭medical‬‭providers‬‭can‬‭work‬
‭more effectively. This improves patient satisfaction.‬

‭ .‬ ‭BANKING‬ ‭INSURANCE‬ ‭:‬ ‭Software‬ ‭has‬‭become‬‭one‬‭of‬‭the‬‭most‬‭important‬‭things‬‭in‬‭our‬


3
‭lives.‬ ‭From‬ ‭healthcare‬ ‭to‬ ‭financial‬ ‭and‬ ‭retail‬ ‭industries,‬ ‭almost‬ ‭all‬ ‭need‬ ‭effective‬ ‭software‬ ‭to‬
‭function‬ ‭smoothly.‬ ‭Banking‬ ‭can‬ ‭never‬ ‭be‬ ‭too‬ ‭far‬ ‭off‬ ‭when‬ ‭it‬ ‭comes‬ ‭to‬ ‭using‬ ‭software‬
‭applications.‬ ‭Banking‬ ‭software‬ ‭applications‬ ‭have‬ ‭made‬ ‭their‬ ‭functioning‬ ‭highly‬ ‭efficient.‬ ‭The‬
‭implementation‬‭of‬‭this‬‭software‬‭ensures‬‭that‬‭productivity‬‭is‬‭increased‬‭and‬‭that‬‭there‬‭are‬‭efficient‬
‭processes‬ ‭in‬ ‭place‬ ‭to‬ ‭serve‬ ‭the‬ ‭customers‬ ‭better.‬ ‭Internet‬ ‭banking‬ ‭is‬‭one‬‭of‬‭the‬‭most‬‭important‬
t‭hings‬ ‭these‬ ‭days,‬ ‭and‬ ‭this‬ ‭would‬‭not‬‭have‬‭been‬‭possible‬‭without‬‭the‬‭efficient‬‭banking‬‭systems‬
‭software.‬ ‭If‬ ‭you‬ ‭are‬ ‭looking‬ ‭for‬ ‭ways‬ ‭to‬ ‭implement‬ ‭this‬ ‭system‬ ‭in‬ ‭your‬ ‭organization,‬ ‭here‬‭are‬
‭some‬ ‭of‬ ‭the‬ ‭advantages‬ ‭that‬ ‭will‬ ‭help‬ ‭you‬ ‭in‬ ‭making‬ ‭your‬ ‭decision‬ ‭on‬ ‭whether‬ ‭or‬ ‭not‬ ‭to‬
‭implement this system in your organization.‬

‭ ENEFITS:‬
B
‭1.‬‭Multiple‬‭accounts‬‭are‬‭supported‬‭:‬ ‭A‬‭user‬‭can‬‭open‬‭and‬‭access‬‭multiple‬‭accounts‬‭with‬‭the‬
‭help‬ ‭of‬ ‭banking‬ ‭software‬‭applications.‬‭The‬‭users‬‭can‬‭also‬‭manage‬‭their‬‭investments‬‭and‬‭buy‬
‭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‬
‭software‬‭applications‬‭vary‬‭depending‬‭on‬‭the‬‭version,‬‭the‬‭overall‬‭functioning‬‭and‬‭operation‬‭is‬
‭usually the same.‬
‭2.‬‭Secured‬ ‭transactions‬ ‭:‬ ‭are‬ ‭provided.‬ ‭One‬ ‭of‬ ‭the‬ ‭prime‬ ‭concerns‬ ‭of‬ ‭banks‬ ‭is‬ ‭to‬ ‭provide‬
‭secured‬‭services‬‭to‬‭their‬‭customers,‬‭and‬‭this‬‭is‬‭the‬‭reason‬‭why‬‭the‬‭banks‬‭provide‬‭a‬‭number‬‭of‬
‭security‬‭features‬‭that‬‭help‬‭customers‬‭with‬‭secured‬‭transactions.‬‭Banking‬‭software‬‭applications‬
‭provide‬‭one‬‭of‬‭the‬‭most‬‭secured‬‭transactions‬‭to‬‭customers‬‭and‬‭as‬‭a‬‭result‬‭the‬‭users‬‭are‬‭able‬‭to‬
‭trust their banks.‬
‭3.‬‭Ease‬‭of‬‭navigation‬‭:‬ ‭The‬‭customers‬‭using‬‭banking‬‭software‬‭applications‬‭are‬‭not‬‭necessarily‬
‭tech‬‭savvy,‬‭and‬‭this‬‭is‬‭where‬‭ease‬‭of‬‭operation‬‭comes‬‭into‬‭play.‬‭The‬‭interface‬‭is‬‭user‬‭friendly‬
‭and‬‭easy‬‭for‬‭them‬‭to‬‭navigate,‬‭and‬‭as‬‭a‬‭result,‬‭the‬‭customers‬‭can‬‭carry‬‭out‬‭most‬‭of‬‭the‬‭banking‬
‭without‬‭or‬‭minimal‬‭help.‬‭If‬‭the‬‭navigation‬‭is‬‭easy,‬‭then‬‭the‬‭business‬‭of‬‭the‬‭bank‬‭also‬‭improves‬
‭because‬‭there‬‭are‬‭many‬‭significant‬‭benefits‬‭to‬‭the‬‭customers,‬‭and‬‭so‬‭this‬‭will‬‭also‬‭work‬‭out‬‭to‬
‭be word of mouth marketing.‬
‭4.‬‭Always‬ ‭available‬ ‭for‬‭the‬‭customers‬‭:‬ ‭Which‬‭customer‬‭will‬‭want‬‭to‬‭wait‬‭for‬‭the‬‭support?‬
‭We’ll,‬‭no‬‭one‬‭wants‬‭to‬‭wait‬‭these‬‭days.‬‭The‬‭problems‬‭are‬‭usually‬‭the‬‭regular‬‭ones‬‭and‬‭so‬‭the‬
‭software‬‭has‬‭various‬‭sections‬‭that‬‭help‬‭the‬‭customers‬‭in‬‭various‬‭tasks.‬‭This‬‭ensures‬‭that‬‭help‬‭is‬
‭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‬ ‭being‬‭physically‬‭present‬‭to‬‭handle‬‭all‬‭the‬
‭problems.‬

‭ .‬‭AIRLINES‬‭:‬‭Without‬‭software,‬‭modern‬‭aviation‬‭as‬‭we‬‭know‬‭it‬‭would‬‭not‬‭exist.‬‭For‬‭example,‬
4
‭it‬‭wouldn’t‬‭be‬‭possible‬‭to‬‭manage‬‭flight‬‭plans,‬‭air‬‭traffic‬‭control,‬‭autopilot‬‭systems‬‭and‬‭complex‬
‭maintenance‬‭routines.‬‭There‬‭are‬‭a‬‭lot‬‭of‬‭automated‬‭software‬‭systems‬‭that‬‭aviation‬‭currently‬‭relies‬
‭on. Eg Aircraft maintenance‬

‭ ENEFITS:‬
B
‭1.‬‭User-friendly‬‭:‬ ‭An‬‭aircraft‬‭maintenance‬‭software‬‭is‬‭user-friendly.‬‭It‬‭makes‬‭keeping‬‭records,‬
‭scheduling‬‭and‬‭rescheduling‬‭flights,‬‭plane‬‭maintenance,‬‭and‬‭maintaining‬‭inventories‬‭easier.‬‭It‬
‭also‬ ‭helps‬ ‭maintain‬ ‭the‬ ‭payrolls‬ ‭of‬ ‭the‬ ‭staff‬ ‭and‬ ‭flight‬ ‭crew,‬ ‭along‬ ‭with‬‭sharing‬‭reports‬‭and‬
‭tracking all kinds of flight data.‬
‭2.‬‭Excellent‬ ‭Customer‬ ‭Support‬ ‭:‬ ‭Online‬‭aircraft‬‭maintenance‬‭software‬‭allows‬‭the‬‭company‬
‭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‬ ‭software‬‭allows‬‭the‬‭flight‬‭company‬‭to‬‭store‬‭their‬
‭records‬‭and‬‭operational‬‭data‬‭on‬‭cloud‬‭storage.‬‭The‬‭saving‬‭system‬‭of‬‭the‬‭cloud‬‭is‬‭more‬‭secure‬
‭than‬‭conventional‬‭storing‬‭devices.‬‭The‬‭best‬‭aspect‬‭of‬‭cloud‬‭storage‬‭is‬‭that‬‭it‬‭can‬‭be‬‭accessed,‬
‭altered,‬‭and‬‭updated‬‭by‬‭the‬‭permitted‬‭employees.‬‭This‬‭means‬‭that‬‭a‬‭change‬‭in‬‭one‬‭area‬‭leads‬
‭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
‭sectors‬‭of‬‭retail‬‭businesses‬‭—‬‭from‬‭fast‬‭food‬‭outlets‬‭to‬‭trendy‬‭gift‬‭shops.‬‭A‬‭comprehensive‬‭retail‬
‭management‬ ‭system‬ ‭can‬ ‭encompass‬ ‭all‬ ‭retail‬ ‭business‬ ‭requirements‬ ‭to‬ ‭improve‬ ‭inventory‬
‭positions,‬‭increase‬‭profit‬‭and‬‭better‬‭customer‬‭service‬‭reducing‬‭operational‬‭and‬‭wage‬‭costs.‬‭Big‬‭or‬
‭small,‬ ‭every‬ ‭retailer‬‭undoubtedly‬‭may‬‭enjoy‬‭immediate‬‭return‬‭on‬‭their‬‭investment‬‭choosing‬‭the‬
‭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.‬‭Auto‬‭calculation‬‭of‬‭tax‬‭:‬ ‭Professional‬‭retail‬‭software‬‭should‬‭be‬‭capable‬‭of‬‭all‬‭types‬‭of‬‭VAT‬
‭and Tax calculations, with multi-currency facility.‬
‭3.‬ ‭Proper‬‭anticipation‬‭of‬‭sales‬‭trends.‬‭Various‬‭MIS‬‭reports‬‭help‬‭to‬‭forecast‬‭sales‬‭correctly‬‭so‬‭that‬
‭you‬‭can‬‭stock‬‭more‬‭products‬‭that‬‭give‬‭you‬‭greater‬‭profits‬‭and‬‭fewer‬‭products‬‭that‬‭give‬‭you‬‭the‬
‭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‬
‭checkout‬‭experience‬‭they‬‭will‬‭get‬‭from‬‭the‬‭right‬‭retail‬‭point‬‭of‬‭sale‬‭software.‬‭For‬‭faster‬‭credit‬
‭card‬‭authorizations,‬‭select‬‭a‬‭retail‬‭software‬‭package‬‭with‬‭integrated‬‭credit‬‭card‬‭processing‬‭and‬
‭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.‬‭Positive‬‭Decision‬‭:‬‭Trendy‬‭BI‬‭reports‬‭with‬‭statistics/graphs‬‭boost‬‭the‬‭strength‬‭of‬‭the‬‭software‬
‭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‬ ‭meets‬‭or‬‭exceeds‬‭customer‬‭expectations,‬‭reaches‬‭completion‬‭within‬‭time‬‭and‬‭cost‬
‭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/IEC‬‭12207‬‭is‬‭an‬‭international‬‭standard‬‭for‬‭software‬‭life-cycle‬‭processes.‬‭It‬‭aims‬‭to‬‭be‬‭the‬
‭standard that defines all the tasks required for developing and maintaining software.‬

‭What is SDLC ?‬

‭ DLC‬‭is‬‭a‬‭process‬‭followed‬‭for‬‭a‬‭software‬‭project,‬‭within‬‭a‬‭software‬‭organization.‬‭It‬‭consists‬‭of‬
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.‬

‭A typical Software Development Life Cycle consists of the following stages -‬

‭ tage‬ ‭1:‬ ‭Planning‬ ‭and‬‭Requirement‬‭Analysis‬ ‭:‬‭Requirement‬‭analysis‬‭is‬‭the‬‭most‬‭important‬


S
‭and‬‭fundamental‬‭stage‬‭in‬‭SDLC.‬‭It‬‭is‬‭performed‬‭by‬‭the‬‭senior‬‭members‬‭of‬‭the‬‭team‬‭with‬‭inputs‬
f‭ rom‬‭the‬‭customer,‬‭the‬‭sales‬‭department,‬‭market‬‭surveys‬‭and‬‭domain‬‭experts‬‭in‬‭the‬‭industry.‬‭This‬
‭information‬ ‭is‬ ‭then‬ ‭used‬ ‭to‬ ‭plan‬ ‭the‬ ‭basic‬ ‭project‬ ‭approach‬ ‭and‬ ‭to‬ ‭conduct‬ ‭product‬ ‭feasibility‬
‭study‬ ‭in‬ ‭the‬ ‭economical,‬ ‭operational‬ ‭and‬ ‭technical‬ ‭areas.‬ ‭Planning‬ ‭for‬ ‭the‬ ‭quality‬ ‭assurance‬
‭requirements‬ ‭and‬ ‭identification‬ ‭of‬ ‭the‬ ‭risks‬ ‭associated‬ ‭with‬ ‭the‬ ‭project‬ ‭is‬ ‭also‬ ‭done‬ ‭in‬ ‭the‬
‭planning‬ ‭stage.‬ ‭The‬ ‭outcome‬ ‭of‬‭the‬‭technical‬‭feasibility‬‭study‬‭is‬‭to‬‭define‬‭the‬‭various‬‭technical‬
‭approaches that can be followed to implement the project successfully with minimum risks.‬

‭ tage‬ ‭2:‬ ‭Defining‬ ‭Requirements‬ ‭:‬ ‭Once‬ ‭the‬ ‭requirement‬ ‭analysis‬ ‭is‬‭done‬‭the‬‭next‬‭step‬‭is‬‭to‬
S
‭clearly‬‭define‬‭and‬‭document‬‭the‬‭product‬‭requirements‬‭and‬‭get‬‭them‬‭approved‬‭from‬‭the‬‭customer‬
‭or‬ ‭the‬ ‭market‬ ‭analysts.‬ ‭This‬ ‭is‬ ‭done‬ ‭through‬ ‭an‬ ‭SRS‬ ‭(Software‬ ‭Requirement‬ ‭Specification)‬
‭document‬ ‭which‬ ‭consists‬ ‭of‬ ‭all‬ ‭the‬ ‭product‬ ‭requirements‬ ‭to‬ ‭be‬‭designed‬‭and‬‭developed‬‭during‬
‭the project life cycle.‬

‭ tage‬‭3:‬‭Designing‬‭the‬‭Product‬‭Architecture‬‭:‬ ‭SRS‬‭is‬‭the‬‭reference‬‭for‬‭product‬‭architects‬‭to‬
S
‭come‬ ‭out‬ ‭with‬‭the‬‭best‬‭architecture‬‭for‬‭the‬‭product‬‭to‬‭be‬‭developed.‬‭Based‬‭on‬‭the‬‭requirements‬
‭specified‬‭in‬‭SRS,‬‭usually‬‭more‬‭than‬‭one‬‭design‬‭approach‬‭for‬‭the‬‭product‬‭architecture‬‭is‬‭proposed‬
‭and‬ ‭documented‬ ‭in‬ ‭a‬ ‭DDS‬ ‭-‬ ‭Design‬ ‭Document‬ ‭Specification.‬ ‭This‬‭DDS‬‭is‬‭reviewed‬‭by‬‭all‬‭the‬
‭important‬ ‭stakeholders‬‭and‬‭based‬‭on‬‭various‬‭parameters‬‭as‬‭risk‬‭assessment,‬‭product‬‭robustness,‬
‭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‬
‭with‬‭its‬‭communication‬‭and‬‭data‬‭flow‬‭representation‬‭with‬‭the‬‭external‬‭and‬‭third‬‭party‬‭modules‬‭(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.‬

‭ tage‬‭4:‬‭Building‬‭or‬‭Developing‬‭the‬‭Product‬‭:‬‭In‬‭this‬‭stage‬‭of‬‭SDLC‬‭the‬‭actual‬‭development‬
S
‭starts‬‭and‬‭the‬‭product‬‭is‬‭built.‬‭The‬‭programming‬‭code‬‭is‬‭generated‬‭as‬‭per‬‭DDS‬‭during‬‭this‬‭stage.‬
‭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‬
‭their‬‭organization‬‭and‬‭programming‬‭tools‬‭like‬‭compilers,‬‭interpreters,‬‭debuggers,‬‭etc.‬‭are‬‭used‬‭to‬
‭generate‬‭the‬‭code.‬‭Different‬‭high‬‭level‬‭programming‬‭languages‬‭such‬‭as‬‭C,‬‭C++,‬‭Pascal,‬‭Java‬‭and‬
‭PHP‬ ‭are‬ ‭used‬ ‭for‬ ‭coding.‬ ‭The‬ ‭programming‬ ‭language‬ ‭is‬ ‭chosen‬ ‭with‬ ‭respect‬ ‭to‬ ‭the‬ ‭type‬ ‭of‬
‭software being developed.‬
‭Stage‬‭5:‬‭Testing‬‭the‬‭Product‬‭:‬ ‭This‬‭stage‬‭is‬‭usually‬‭a‬‭subset‬‭of‬‭all‬‭the‬‭stages‬‭as‬‭in‬‭the‬‭modern‬
‭SDLC‬‭models,‬‭the‬‭testing‬‭activities‬‭are‬‭mostly‬‭involved‬‭in‬‭all‬‭the‬‭stages‬‭of‬‭SDLC.‬‭However,‬‭this‬
‭stage‬‭refers‬‭to‬‭the‬‭testing‬‭only‬‭stage‬‭of‬‭the‬‭product‬‭where‬‭product‬‭defects‬‭are‬‭reported,‬‭tracked,‬
‭fixed and retested, until the product reaches the quality standards defined in the SRS.‬

‭ tage‬‭6:‬‭Deployment‬‭in‬‭the‬‭Market‬‭and‬‭Maintenance‬‭:‬‭Once‬‭the‬‭product‬‭is‬‭tested‬‭and‬‭ready‬
S
‭to‬‭be‬‭deployed‬‭it‬‭is‬‭released‬‭formally‬‭in‬‭the‬‭appropriate‬‭market.‬‭Sometimes‬‭product‬‭deployment‬
‭happens‬ ‭in‬ ‭stages‬ ‭as‬ ‭per‬ ‭the‬ ‭business‬ ‭strategy‬ ‭of‬ ‭that‬ ‭organization.‬ ‭The‬ ‭product‬ ‭may‬ ‭first‬ ‭be‬
‭released‬‭in‬‭a‬‭limited‬‭segment‬‭and‬‭tested‬‭in‬‭the‬‭real‬‭business‬‭environment‬‭(UAT-‬‭User‬‭acceptance‬
‭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‬ ‭the‬‭market,‬‭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‬
‭followed‬‭during‬‭the‬‭software‬‭development‬‭process.‬‭These‬‭models‬‭are‬‭also‬‭referred‬‭to‬‭as‬‭Software‬
‭ evelopment‬ ‭Process‬ ‭Models".‬‭Each‬‭process‬‭model‬‭follows‬‭a‬‭Series‬‭of‬‭steps‬‭unique‬‭to‬‭its‬‭type‬
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-sequential‬‭life‬‭cycle‬‭model.‬‭It‬‭is‬‭very‬‭simple‬‭to‬‭understand‬‭and‬‭use.‬‭In‬‭a‬‭waterfall‬‭model,‬
‭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.‬

‭ aterfall‬‭Model‬‭-‬‭Design‬ ‭Waterfall‬‭approach‬‭was‬‭the‬‭first‬‭SDLC‬‭Model‬‭to‬‭be‬‭used‬‭widely‬‭in‬
W
‭Software‬ ‭Engineering‬ ‭to‬ ‭ensure‬ ‭success‬ ‭of‬ ‭the‬ ‭project.‬‭In‬‭"The‬‭Waterfall"‬‭approach,‬‭the‬‭whole‬
‭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‬‭−‬‭With‬‭inputs‬‭from‬‭the‬‭system‬‭design,‬‭the‬‭system‬‭is‬‭first‬‭developed‬‭in‬‭small‬
‭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‬ ‭into‬‭a‬‭system‬‭after‬‭testing‬‭of‬‭each‬‭unit.‬‭Post‬‭integration‬‭the‬‭entire‬‭system‬‭is‬‭tested‬
‭for any faults and failures.‬
‭●‬ ‭Deployment‬‭of‬‭system ‬‭−‬‭Once‬‭the‬‭functional‬‭and‬‭non-functional‬‭testing‬‭is‬‭done;‬‭the‬‭product‬
‭is deployed in the customer environment or released into the market.‬
‭●‬ ‭Maintenance‬‭−‬‭There‬‭are‬‭some‬‭issues‬‭which‬‭come‬‭up‬‭in‬‭the‬‭client‬‭environment.‬‭To‬‭fix‬‭those‬
‭issues,‬ ‭patches‬ ‭are‬ ‭released.‬ ‭Also‬ ‭to‬ ‭enhance‬ ‭the‬ ‭product‬ ‭some‬ ‭better‬ ‭versions‬‭are‬‭released.‬
‭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‬‭(like‬‭a‬‭waterfall)‬‭through‬‭the‬‭phases.‬‭The‬‭next‬‭phase‬‭is‬‭started‬‭only‬‭after‬‭the‬‭defined‬
‭set‬ ‭of‬ ‭goals‬ ‭are‬ ‭achieved‬‭for‬‭the‬‭previous‬‭phase‬‭and‬‭it‬‭is‬‭signed‬‭off,‬‭hence‬‭the‬‭name‬‭"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‬ ‭external‬‭factors.‬‭Some‬‭situations‬‭where‬‭the‬‭use‬‭of‬‭Waterfall‬‭model‬‭is‬
‭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‬ ‭of‬‭waterfall‬‭development‬‭are‬‭that‬‭it‬‭allows‬‭for‬‭departmentalization‬‭and‬‭control.‬
T
‭A‬ ‭schedule‬ ‭can‬ ‭be‬‭set‬‭with‬‭deadlines‬‭for‬‭each‬‭stage‬‭of‬‭development‬‭and‬‭a‬‭product‬‭can‬‭proceed‬
‭through‬ ‭the‬ ‭development‬‭process‬‭model‬‭phases‬‭one‬‭by‬‭one.‬‭Development‬‭moves‬‭from‬‭concept,‬
‭through‬ ‭design,‬ ‭implementation,‬ ‭testing,‬ ‭installation,‬ ‭troubleshooting,‬ ‭and‬ ‭ends‬‭up‬‭at‬‭operation‬
‭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‬ ‭rigidity‬‭of‬‭the‬‭model.‬‭Each‬‭phase‬‭has‬‭specific‬‭deliverables‬‭and‬‭a‬
‭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‬ ‭development‬‭is‬‭that‬‭it‬‭does‬
W
‭not‬ ‭allow‬ ‭much‬ ‭reflection‬ ‭or‬ ‭revision.‬ ‭Once‬ ‭an‬ ‭application‬ ‭is‬ ‭in‬ ‭the‬ ‭testing‬ ‭stage,‬ ‭it‬ ‭is‬ ‭very‬
‭difficult‬‭to‬‭go‬‭back‬‭and‬‭change‬‭something‬‭that‬‭was‬‭not‬‭well-documented‬‭or‬‭thought‬‭upon‬‭in‬‭the‬
‭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‬ ‭are‬‭at‬‭a‬‭moderate‬‭to‬‭high‬‭risk‬‭of‬‭changing.‬
‭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‭ n‬‭order‬‭to‬‭understand‬‭a real-life‬‭example‬‭of‬‭the‬‭waterfall‬‭model,‬‭let’s‬‭familiarize‬‭ourselves‬‭with‬
‭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‬ ‭and‬‭a‬‭lot‬‭of‬‭information‬‭is‬‭required‬‭before‬‭completing‬
‭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:‬
‭ ith‬‭the‬‭evolution‬‭of‬‭technology,‬‭there‬‭were‬‭cases‬‭where‬‭large-scale‬‭enterprise‬‭systems,‬‭with‬‭the‬
W
‭waterfall‬ ‭model‬ ‭as‬ ‭the‬ ‭default‬ ‭choice,‬ ‭were‬ ‭developed‬ ‭over‬ ‭a‬ ‭period‬ ‭of‬ ‭two‬ ‭to‬ ‭three‬‭years‬‭but‬
‭became‬ ‭redundant‬ ‭by‬ ‭the‬ ‭time‬ ‭they‬ ‭were‬‭completed.‬‭Slowly,‬‭these‬‭enterprise‬‭systems‬‭switched‬
o‭ ver‬ ‭to‬ ‭more‬ ‭flexible‬ ‭and‬ ‭less‬ ‭expensive‬ ‭models,‬ ‭but‬ ‭the‬ ‭waterfall‬ ‭model‬ ‭continued‬ ‭to‬ ‭be‬
‭preferred in systems where:‬

‭ ‬ ‭A human life is at stake and a system failure could result in fatalities‬



‭●‬ ‭Money‬ ‭and‬ ‭time‬ ‭are‬‭secondary‬‭factors‬‭and‬‭what‬‭matters‬‭more‬‭is‬‭the‬‭safety‬‭and‬‭stability‬‭of‬‭a‬
‭project‬
‭●‬ ‭Military and aircraft programs where requirements are declared early on and remain constant‬
‭●‬ ‭Projects‬‭with‬‭an‬‭extremely‬‭high‬‭degree‬‭of‬‭oversight‬‭and/or‬‭accountability‬‭such‬‭as‬‭those‬‭in‬‭the‬
‭sectors of banking, healthcare and control systems for nuclear facilities‬

‭ DLC‬ ‭-‬ ‭Iterative‬ ‭Model‬ ‭In‬ ‭the‬ ‭Iterative‬ ‭model,‬ ‭the‬ ‭iterative‬ ‭process‬ ‭starts‬ ‭with‬ ‭a‬ ‭simple‬
S
‭implementation‬‭of‬‭a‬‭small‬‭set‬‭of‬‭the‬‭software‬‭requirements‬‭and‬‭iteratively‬‭enhances‬‭the‬‭evolving‬
‭versions until the complete system is implemented and ready to be deployed.‬
‭ n‬ ‭iterative‬ ‭life‬ ‭cycle‬‭model‬‭does‬‭not‬‭attempt‬‭to‬‭start‬‭with‬‭a‬‭full‬‭specification‬‭of‬‭requirements.‬
A
‭Instead,‬‭development‬‭begins‬‭by‬‭specifying‬‭and‬‭implementing‬‭just‬‭part‬‭of‬‭the‬‭software,‬‭which‬‭is‬
‭then‬ ‭reviewed‬ ‭to‬ ‭identify‬ ‭further‬ ‭requirements.‬ ‭This‬ ‭process‬ ‭is‬‭then‬‭repeated,‬‭producing‬‭a‬‭new‬
‭version of the software at the end of each iteration of the model.‬
I‭ terative‬ ‭Model‬ ‭-‬ ‭Design‬ ‭Iterative‬ ‭process‬‭starts‬‭with‬‭a‬‭simple‬‭implementation‬‭of‬‭a‬‭subset‬‭of‬
‭the‬‭software‬‭requirements‬‭and‬‭iteratively‬‭enhances‬‭the‬‭evolving‬‭versions‬‭until‬‭the‬‭full‬‭system‬‭is‬
‭implemented.‬ ‭At‬ ‭each‬ ‭iteration,‬ ‭design‬ ‭modifications‬ ‭are‬ ‭made‬‭and‬‭new‬‭functional‬‭capabilities‬
‭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).‬

‭The following illustration is a representation of the Iterative and Incremental model −‬


I‭ terative‬ ‭and‬ ‭Incremental‬ ‭development‬ ‭is‬ ‭a‬ ‭combination‬ ‭of‬ ‭both‬ ‭iterative‬ ‭design‬ ‭or‬ ‭iterative‬
‭method‬‭and‬‭incremental‬‭build‬‭model‬‭for‬‭development.‬‭"During‬‭software‬‭development,‬‭more‬‭than‬
‭one‬ ‭iteration‬ ‭of‬ ‭the‬ ‭software‬ ‭development‬ ‭cycle‬ ‭may‬ ‭be‬ ‭in‬ ‭progress‬ ‭at‬ ‭the‬ ‭same‬ ‭time."‬ ‭This‬
‭process may be described as an "evolutionary acquisition" or "incremental build" approach."‬
I‭ n‬ ‭this‬ ‭incremental‬ ‭model,‬ ‭the‬ ‭whole‬ ‭requirement‬ ‭is‬ ‭divided‬ ‭into‬ ‭various‬ ‭builds.‬ ‭During‬ ‭each‬
‭iteration,‬ ‭the‬ ‭development‬ ‭module‬ ‭goes‬ ‭through‬ ‭the‬ ‭requirements,‬ ‭design,‬ ‭implementation‬ ‭and‬
‭testing‬‭phases.‬‭Each‬‭subsequent‬‭release‬‭of‬‭the‬‭module‬‭adds‬‭function‬‭to‬‭the‬‭previous‬‭release.‬‭The‬
p‭ rocess‬ ‭continues‬ ‭till‬ ‭the‬ ‭complete‬ ‭system‬ ‭is‬ ‭ready‬ ‭as‬ ‭per‬ ‭the‬ ‭requirement.‬ ‭The‬ ‭key‬ ‭to‬ ‭a‬
‭successful‬ ‭use‬ ‭of‬ ‭an‬ ‭iterative‬ ‭software‬ ‭development‬ ‭lifecycle‬ ‭is‬ ‭rigorous‬ ‭validation‬ ‭of‬
‭requirements,‬ ‭and‬ ‭verification‬ ‭&‬ ‭testing‬ ‭of‬ ‭each‬ ‭version‬ ‭of‬ ‭the‬ ‭software‬ ‭against‬ ‭those‬
‭requirements‬‭within‬‭each‬‭cycle‬‭of‬‭the‬‭model.‬‭As‬‭the‬‭software‬‭evolves‬‭through‬‭successive‬‭cycles,‬
‭tests must be repeated and extended to verify each version of the software.‬
‭Iterative Model - Application‬
‭ ike‬‭other‬‭SDLC‬‭models,‬‭Iterative‬‭and‬‭incremental‬‭development‬‭has‬‭some‬‭specific‬‭applications‬
L
‭in the software industry. This model is most often used in the following scenarios −‬
‭ ‬ ‭Requirements of the complete system are clearly defined and understood.‬

‭●‬ ‭Major‬ ‭requirements‬ ‭must‬ ‭be‬ ‭defined;‬ ‭however,‬ ‭some‬ ‭functionalities‬ ‭or‬ ‭requested‬
‭enhancements may evolve with time.‬
‭●‬ ‭There is a time constraint.‬
‭●‬ ‭A‬ ‭new‬ ‭technology‬‭is‬‭being‬‭used‬‭and‬‭is‬‭being‬‭learnt‬‭by‬‭the‬‭development‬‭team‬‭while‬‭working‬
‭on the project.‬
‭●‬ ‭Resources‬‭with‬‭needed‬‭skill‬‭sets‬‭are‬‭not‬‭available‬‭and‬‭are‬‭planned‬‭to‬‭be‬‭used‬‭on‬‭contract‬‭basis‬
‭for specific iterations.‬
‭●‬ ‭There are some high-risk features and goals which may change in the future.‬
I‭ terative‬‭Model‬‭-‬‭Pros‬‭and‬‭Cons‬‭The‬‭advantage‬‭of‬‭this‬‭model‬‭is‬‭that‬‭there‬‭is‬‭a‬‭working‬‭model‬
‭of‬ ‭the‬ ‭system‬ ‭at‬ ‭a‬ ‭very‬ ‭early‬ ‭stage‬‭of‬‭development,‬‭which‬‭makes‬‭it‬‭easier‬‭to‬‭find‬‭functional‬‭or‬
‭design‬ ‭flaws.‬ ‭Finding‬ ‭issues‬ ‭at‬ ‭an‬ ‭early‬ ‭stage‬ ‭of‬ ‭development‬ ‭enables‬ ‭us‬ ‭to‬ ‭take‬ ‭corrective‬
‭measures in a limited budget.‬
‭ he‬‭disadvantage‬‭with‬‭this‬‭SDLC‬‭model‬‭is‬‭that‬‭it‬‭is‬‭applicable‬‭only‬‭to‬‭large‬‭and‬‭bulky‬‭software‬
T
‭development‬ ‭projects.‬ ‭This‬ ‭is‬ ‭because‬ ‭it‬ ‭is‬ ‭hard‬ ‭to‬ ‭break‬ ‭a‬ ‭small‬ ‭software‬ ‭system‬ ‭into‬ ‭further‬
‭small serviceable increments/modules.‬
‭The advantages of the Iterative and Incremental SDLC Model are as follows −‬
‭ ‬ ‭Some working functionality can be developed quickly and early in the life cycle.‬

‭●‬ ‭Results are obtained early and periodically.‬
‭●‬ ‭Parallel development can be planned.‬
‭●‬ ‭Progress can be measured.‬
‭●‬ ‭Less costly to change the scope/requirements.‬
‭●‬ ‭Testing and debugging during smaller iterations is easy.‬
‭●‬ ‭Risks‬ ‭are‬ ‭identified‬ ‭and‬ ‭resolved‬ ‭during‬ ‭iteration;‬ ‭and‬ ‭each‬ ‭iteration‬ ‭is‬ ‭an‬ ‭easily‬ ‭managed‬
‭milestone.‬
‭●‬ ‭Easier to manage risk - High risk part is done first.‬
‭●‬ ‭With every increment, an operational product is delivered.‬
‭●‬ ‭Issues,‬‭challenges‬‭and‬‭risks‬‭identified‬‭from‬‭each‬‭increment‬‭can‬‭be‬‭utilized/applied‬‭to‬‭the‬‭next‬
‭increment.‬
‭●‬ ‭Risk analysis is better.‬
‭●‬ ‭It supports changing requirements.‬
‭●‬ ‭Initial Operating time is less.‬
‭●‬ ‭Better suited for large and mission-critical projects.‬
‭●‬ ‭During‬ ‭the‬ ‭life‬ ‭cycle,‬ ‭software‬ ‭is‬ ‭produced‬ ‭early‬ ‭which‬ ‭facilitates‬ ‭customer‬ ‭evaluation‬ ‭and‬
‭feedback.‬
‭The disadvantages of the Iterative and Incremental SDLC Model are as follows −‬
‭ ‬ ‭More resources may be required.‬

‭●‬ ‭Although the cost of change is lesser, it is not very suitable for changing requirements.‬
‭●‬ ‭More management attention is required.‬
‭●‬ ‭System‬ ‭architecture‬ ‭or‬ ‭design‬ ‭issues‬ ‭may‬ ‭arise‬ ‭because‬ ‭not‬ ‭all‬‭requirements‬‭are‬‭gathered‬‭in‬
‭the beginning of the entire life cycle.‬
‭●‬ ‭Defining increments may require definition of the complete system.‬
‭●‬ ‭Not suitable for smaller projects.‬
‭●‬ ‭Management complexity is more.‬
‭●‬ ‭End of the project may not be known which is a risk.‬
‭●‬ ‭Highly skilled resources are required for risk analysis.‬
‭●‬ ‭Project progress is highly dependent upon the risk analysis phase.‬
‭When to use the Incremental model:‬

‭●‬ ‭This‬‭model‬‭can‬‭be‬‭used‬‭when‬‭the‬‭requirements‬‭of‬‭the‬‭complete‬‭system‬‭are‬‭clearly‬‭defined‬‭and‬
‭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‬
‭specifications‬‭for‬‭technology-based‬‭projects.‬‭To‬‭evade‬‭the‬‭usual‬‭circumstances‬‭where‬‭developers‬
‭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‬ ‭down‬‭to‬‭fewer‬‭workdays.‬‭In‬‭this‬‭manner,‬‭the‬‭system‬‭emerges‬‭to‬‭be‬‭beneficial‬‭and‬
‭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‬ ‭An‬‭e-commerce‬‭fashion‬‭website‬‭nevermore‬‭begins‬‭designed‬‭again‬‭to‬‭displace‬‭an‬‭old‬
M
‭website.‬‭Alternatively,‬‭the‬‭UI‬‭(user‬‭interface)‬‭is‬‭steadily‬‭contentious,‬‭altered‬‭and‬‭perfected.‬‭Track‬
‭the‬‭metrics‬‭and‬‭correlate‬‭with‬‭alterations.‬‭The‬‭development‬‭by‬‭firms‬‭are‬‭expertly‬‭established‬‭on‬
‭practices that are incomparable to its industry.‬
‭ DLC‬ ‭-‬ ‭Spiral‬ ‭Model‬ ‭The‬ ‭spiral‬ ‭model‬ ‭combines‬ ‭the‬ ‭idea‬ ‭of‬‭iterative‬‭development‬‭with‬‭the‬
S
‭systematic,‬ ‭controlled‬ ‭aspects‬ ‭of‬ ‭the‬ ‭waterfall‬ ‭model.‬ ‭This‬ ‭Spiral‬ ‭model‬ ‭is‬ ‭a‬ ‭combination‬ ‭of‬
‭iterative‬ ‭development‬ ‭process‬ ‭model‬‭and‬‭sequential‬‭linear‬‭development‬‭model‬‭i.e.‬‭the‬‭waterfall‬
‭model‬ ‭with‬ ‭a‬‭very‬‭high‬‭emphasis‬‭on‬‭risk‬‭analysis.‬‭It‬‭allows‬‭incremental‬‭releases‬‭of‬‭the‬‭product‬
‭or incremental refinement through each iteration around the spiral.‬
‭ piral‬‭Model‬‭-‬‭Design‬ ‭The‬‭spiral‬‭model‬‭has‬‭four‬‭phases.‬‭A‬‭software‬‭project‬‭repeatedly‬‭passes‬
S
‭through these phases in iterations called Spirals.‬
I‭ dentification‬ ‭This‬‭phase‬‭starts‬‭with‬‭gathering‬‭the‬‭business‬‭requirements‬‭in‬‭the‬‭baseline‬‭spiral.‬
‭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‬‭:‬ ‭The‬‭Design‬‭phase‬‭starts‬‭with‬‭the‬‭conceptual‬‭design‬‭in‬‭the‬‭baseline‬‭spiral‬‭and‬‭involves‬
D
‭architectural‬ ‭design,‬ ‭logical‬ ‭design‬ ‭of‬ ‭modules,‬ ‭physical‬‭product‬‭design‬‭and‬‭the‬‭final‬‭design‬‭in‬
‭the subsequent spirals.‬

‭ onstruct‬‭or‬‭Build‬ ‭The‬‭Construct‬‭phase‬‭refers‬‭to‬‭production‬‭of‬‭the‬‭actual‬‭software‬‭product‬‭at‬
C
‭every‬ ‭spiral.‬ ‭In‬ ‭the‬ ‭baseline‬ ‭spiral,‬ ‭when‬ ‭the‬ ‭product‬ ‭is‬‭just‬‭thought‬‭of‬‭and‬‭the‬‭design‬‭is‬‭being‬
‭developed a POC (Proof of Concept) is developed in this phase to get customer feedback.‬
‭ hen‬‭in‬‭the‬‭subsequent‬‭spirals‬‭with‬‭higher‬‭clarity‬‭on‬‭requirements‬‭and‬‭design‬‭details‬‭a‬‭working‬
T
‭model‬ ‭of‬ ‭the‬ ‭software‬ ‭called‬ ‭build‬‭is‬‭produced‬‭with‬‭a‬‭version‬‭number.‬‭These‬‭builds‬‭are‬‭sent‬‭to‬
‭the customer for feedback.‬
‭ valuation‬ ‭and‬ ‭Risk‬‭Analysis‬ ‭Risk‬‭Analysis‬‭includes‬‭identifying,‬‭estimating‬‭and‬‭monitoring‬
E
‭the‬‭technical‬‭feasibility‬‭and‬‭management‬‭risks,‬‭such‬‭as‬‭schedule‬‭slippage‬‭and‬‭cost‬‭overrun.‬‭After‬
‭testing‬‭the‬‭build,‬‭at‬‭the‬‭end‬‭of‬‭the‬‭first‬‭iteration,‬‭the‬‭customer‬‭evaluates‬‭the‬‭software‬‭and‬‭provides‬
‭feedback.‬
‭ he‬ ‭following‬ ‭illustration‬ ‭is‬ ‭a‬ ‭representation‬ ‭of‬ ‭the‬ ‭Spiral‬ ‭Model,‬ ‭listing‬ ‭the‬ ‭activities‬ ‭in‬‭each‬
T
‭phase.‬
‭ ased‬‭on‬‭the‬‭customer‬‭evaluation,‬‭the‬‭software‬‭development‬‭process‬‭enters‬‭the‬‭next‬‭iteration‬‭and‬
B
‭subsequently‬‭follows‬‭the‬‭linear‬‭approach‬‭to‬‭implement‬‭the‬‭feedback‬‭suggested‬‭by‬‭the‬‭customer.‬
‭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‬ ‭which‬‭involves‬‭minimum‬‭risk‬
‭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‬
‭ he‬‭advantage‬‭of‬‭the‬‭spiral‬‭lifecycle‬‭model‬‭is‬‭that‬‭it‬‭allows‬‭elements‬‭of‬‭the‬‭product‬‭to‬‭be‬‭added‬
T
‭in,‬ ‭when‬ ‭they‬ ‭become‬ ‭available‬ ‭or‬ ‭known.‬ ‭This‬ ‭assures‬ ‭that‬ ‭there‬ ‭is‬ ‭no‬‭conflict‬‭with‬‭previous‬
‭requirements and design.‬
‭ his‬‭method‬‭is‬‭consistent‬‭with‬‭approaches‬‭that‬‭have‬‭multiple‬‭software‬‭builds‬‭and‬‭releases‬‭which‬
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.‬
‭ n‬‭the‬‭other‬‭hand,‬‭it‬‭takes‬‭very‬‭strict‬‭management‬‭to‬‭complete‬‭such‬‭products‬‭and‬‭there‬‭is‬‭a‬‭risk‬
O
‭of‬ ‭running‬ ‭the‬ ‭spiral‬‭in‬‭an‬‭indefinite‬‭loop.‬‭So,‬‭the‬‭discipline‬‭of‬‭change‬‭and‬‭the‬‭extent‬‭of‬‭taking‬
‭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‬ ‭can‬‭be‬‭developed‬‭earlier‬
‭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)‬

‭ DLC‬ ‭-‬‭V-Model‬ ‭The‬‭V-model‬‭is‬‭an‬‭SDLC‬‭model‬‭where‬‭execution‬‭of‬‭processes‬‭happens‬‭in‬‭a‬


S
‭sequential manner in a V-shape. It is also known as Verification and Validation model.‬
‭ he‬‭V-Model‬‭is‬‭an‬‭extension‬‭of‬‭the‬‭waterfall‬‭model‬‭and‬‭is‬‭based‬‭on‬‭the‬‭association‬‭of‬‭a‬‭testing‬
T
‭phase‬ ‭for‬ ‭each‬ ‭corresponding‬ ‭development‬‭stage.‬‭This‬‭means‬‭that‬‭for‬‭every‬‭single‬‭phase‬‭in‬‭the‬
‭development‬‭cycle,‬‭there‬‭is‬‭a‬‭directly‬‭associated‬‭testing‬‭phase.‬‭This‬‭is‬‭a‬‭highly-disciplined‬‭model‬
‭and the next phase starts only after completion of the previous phase.‬
‭ -Model‬ ‭-‬ ‭Design‬ ‭Under‬ ‭the‬ ‭V-Model,‬ ‭the‬ ‭corresponding‬ ‭testing‬ ‭phase‬ ‭of‬ ‭the‬ ‭development‬
V
‭phase‬ ‭is‬ ‭planned‬ ‭in‬ ‭parallel.‬ ‭So,‬ ‭there‬ ‭are‬ ‭Verification‬ ‭phases‬ ‭on‬ ‭one‬ ‭side‬ ‭of‬ ‭the‬ ‭‘V’‬ ‭and‬
‭Validation phases on the other side. The Coding Phase joins the two sides of the V-Model.‬
‭The following illustration depicts the different phases in a V-Model of the SDLC.‬

‭ -Model‬ ‭-‬ ‭Verification‬ ‭Phases‬ ‭There‬‭are‬‭several‬‭Verification‬‭phases‬‭in‬‭the‬‭V-Model,‬‭each‬‭of‬


V
‭these are explained in detail below.‬‭Business Requirement Analysis‬
‭ his‬ ‭is‬ ‭the‬ ‭first‬‭phase‬‭in‬‭the‬‭development‬‭cycle‬‭where‬‭the‬‭product‬‭requirements‬‭are‬‭understood‬
T
‭from‬‭the‬‭customer’s‬‭perspective.‬‭This‬‭phase‬‭involves‬‭detailed‬‭communication‬‭with‬‭the‬‭customer‬
t‭o‬ ‭understand‬ ‭his‬ ‭expectations‬ ‭and‬ ‭exact‬ ‭requirements.‬ ‭This‬ ‭is‬ ‭a‬ ‭very‬ ‭important‬ ‭activity‬ ‭and‬
‭needs‬ ‭to‬ ‭be‬‭managed‬‭well,‬‭as‬‭most‬‭of‬‭the‬‭customers‬‭are‬‭not‬‭sure‬‭about‬‭what‬‭exactly‬‭they‬‭need.‬
‭The acceptance‬‭test‬‭design‬‭planning is‬‭done‬‭at‬‭this‬‭stage‬‭as‬‭business‬‭requirements‬‭can‬‭be‬‭used‬‭as‬
‭an input for acceptance testing.‬
‭ ystem‬‭Design‬ ‭Once‬‭you‬‭have‬‭the‬‭clear‬‭and‬‭detailed‬‭product‬‭requirements,‬‭it‬‭is‬‭time‬‭to‬‭design‬
S
‭the‬‭complete‬‭system.‬‭The‬‭system‬‭design‬‭will‬‭have‬‭the‬‭understanding‬‭and‬‭detailing‬‭the‬‭complete‬
‭hardware‬ ‭and‬ ‭communication‬ ‭setup‬‭for‬‭the‬‭product‬‭under‬‭development.‬‭The‬‭system‬‭test‬‭plan‬‭is‬
‭developed‬ ‭based‬ ‭on‬ ‭the‬ ‭system‬ ‭design.‬ ‭Doing‬ ‭this‬ ‭at‬ ‭an‬ ‭earlier‬ ‭stage‬ ‭leaves‬ ‭more‬‭time‬‭for‬‭the‬
‭actual test execution later.‬
‭Architectural‬ ‭Design‬ ‭Architectural‬ ‭specifications‬ ‭are‬ ‭understood‬ ‭and‬ ‭designed‬ ‭in‬ ‭this‬ ‭phase.‬
‭Usually‬ ‭more‬ ‭than‬ ‭one‬‭technical‬‭approach‬‭is‬‭proposed‬‭and‬‭based‬‭on‬‭the‬‭technical‬‭and‬‭financial‬
‭feasibility‬ ‭the‬ ‭final‬ ‭decision‬ ‭is‬ ‭taken.‬ ‭The‬ ‭system‬ ‭design‬ ‭is‬ ‭broken‬ ‭down‬ ‭further‬ ‭into‬ ‭modules‬
‭taking up different functionality. This is also referred to as High Level Design (HLD).‬
‭ he‬ ‭data‬ ‭transfer‬ ‭and‬ ‭communication‬ ‭between‬‭the‬‭internal‬‭modules‬‭and‬‭with‬‭the‬‭outside‬‭world‬
T
‭(other‬‭systems)‬‭is‬‭clearly‬‭understood‬‭and‬‭defined‬‭in‬‭this‬‭stage.‬‭With‬‭this‬‭information,‬‭integration‬
‭tests can be designed and documented during this stage.‬
‭ odule‬ ‭Design‬ ‭In‬ ‭this‬ ‭phase,‬ ‭the‬ ‭detailed‬ ‭internal‬ ‭design‬ ‭for‬ ‭all‬ ‭the‬ ‭system‬ ‭modules‬ ‭is‬
M
‭specified,‬ ‭referred‬ ‭to‬ ‭as Low‬ ‭Level‬ ‭Design‬‭(LLD).‬‭It‬‭is‬‭important‬‭that‬‭the‬‭design‬‭is‬‭compatible‬
‭with‬ ‭the‬ ‭other‬‭modules‬‭in‬‭the‬‭system‬‭architecture‬‭and‬‭the‬‭other‬‭external‬‭systems.‬‭The‬‭unit‬‭tests‬
‭are‬ ‭an‬ ‭essential‬ ‭part‬ ‭of‬ ‭any‬ ‭development‬ ‭process‬ ‭and‬ ‭help‬ ‭eliminate‬ ‭the‬ ‭maximum‬ ‭faults‬ ‭and‬
‭errors‬ ‭at‬ ‭a‬ ‭very‬ ‭early‬ ‭stage.‬ ‭These‬‭unit‬‭tests‬‭can‬‭be‬‭designed‬‭at‬‭this‬‭stage‬‭based‬‭on‬‭the‬‭internal‬
‭module designs.‬

‭ oding‬ ‭Phase‬ ‭The‬ ‭actual‬ ‭coding‬‭of‬‭the‬‭system‬‭modules‬‭designed‬‭in‬‭the‬‭design‬‭phase‬‭is‬‭taken‬


C
‭up‬‭in‬‭the‬‭Coding‬‭phase.‬‭The‬‭best‬‭suitable‬‭programming‬‭language‬‭is‬‭decided‬‭based‬‭on‬‭the‬‭system‬
‭and‬ ‭architectural‬ ‭requirements.‬ ‭The‬ ‭coding‬ ‭is‬ ‭performed‬ ‭based‬ ‭on‬ ‭the‬ ‭coding‬ ‭guidelines‬ ‭and‬
‭standards.‬‭The‬‭code‬‭goes‬‭through‬‭numerous‬‭code‬‭reviews‬‭and‬‭is‬‭optimized‬‭for‬‭best‬‭performance‬
‭before the final build is checked into the repository.‬

‭Validation Phases‬‭The different Validation Phases in a V-Model are explained in detail below.‬
‭ nit‬ ‭Testing‬ ‭Unit‬ ‭tests‬ ‭designed‬ ‭in‬ ‭the‬ ‭module‬ ‭design‬ ‭phase‬ ‭are‬‭executed‬‭on‬‭the‬‭code‬‭during‬
U
‭this‬‭validation‬‭phase.‬‭Unit‬‭testing‬‭is‬‭the‬‭testing‬‭at‬‭code‬‭level‬‭and‬‭helps‬‭eliminate‬‭bugs‬‭at‬‭an‬‭early‬
‭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.‬

‭ ystem‬‭Testing‬ ‭System‬‭testing‬‭is‬‭directly‬‭associated‬‭with‬‭the‬‭system‬‭design‬‭phase.‬‭System‬‭tests‬
S
‭check‬ ‭the‬ ‭entire‬ ‭system‬ ‭functionality‬ ‭and‬‭the‬‭communication‬‭of‬‭the‬‭system‬‭under‬‭development‬
‭with‬‭external‬‭systems.‬‭Most‬‭of‬‭the‬‭software‬‭and‬‭hardware‬‭compatibility‬‭issues‬‭can‬‭be‬‭uncovered‬
‭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‬ ‭available‬‭in‬‭the‬‭user‬‭environment.‬‭It‬‭also‬‭discovers‬
‭the non-functional issues such as load and performance defects in the actual user environment.‬

‭ -‬ ‭Model‬ ‭─‬ ‭Application‬ ‭V-‬ ‭Model‬ ‭application‬ ‭is‬ ‭almost‬ ‭the‬ ‭same‬‭as‬‭the‬‭waterfall‬‭model,‬‭as‬
V
‭both‬ ‭the‬ ‭models‬ ‭are‬ ‭of‬ ‭sequential‬ ‭type.‬ ‭Requirements‬ ‭have‬ ‭to‬ ‭be‬ ‭very‬ ‭clear‬ ‭before‬ ‭the‬‭project‬
‭starts,‬ ‭because‬ ‭it‬ ‭is‬ ‭usually‬ ‭expensive‬ ‭to‬ ‭go‬ ‭back‬‭and‬‭make‬‭changes.‬‭This‬‭model‬‭is‬‭used‬‭in‬‭the‬
‭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
‭simplicity‬‭of‬‭this‬‭model‬‭also‬‭makes‬‭it‬‭easier‬‭to‬‭manage.‬‭The‬‭disadvantage‬‭is‬‭that‬‭the‬‭model‬‭is‬‭not‬
‭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‬ ‭rigidity‬‭of‬‭the‬‭model.‬‭Each‬‭phase‬‭has‬‭specific‬‭deliverables‬‭and‬‭a‬
‭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‬ ‭be‬‭used‬‭for‬‭small‬‭to‬‭medium‬‭sized‬‭projects‬‭where‬‭requirements‬
‭are clearly defined and fixed.‬
‭●‬ ‭The‬ ‭V-Shaped‬ ‭model‬ ‭should‬ ‭be‬ ‭chosen‬ ‭when‬ ‭ample‬ ‭technical‬ ‭resources‬ ‭are‬ ‭available‬ ‭with‬
‭needed technical expertise.‬

‭ igh‬‭confidence‬‭of‬‭customers‬‭is‬‭required‬‭for‬‭choosing‬‭the‬‭V-Shaped‬‭model‬‭approach.‬‭Since,‬‭no‬
H
‭prototypes are produced, there is a very high risk involved in meeting customer expectations.‬

‭ DLC‬‭-‬‭Big‬‭Bang‬‭Model‬ ‭The‬‭Big‬‭Bang‬‭model‬‭is‬‭an‬‭SDLC‬‭model‬‭where‬‭we‬‭do‬‭not‬‭follow‬‭any‬
S
‭specific‬ ‭process.‬ ‭The‬ ‭development‬ ‭just‬ ‭starts‬ ‭with‬ ‭the‬ ‭required‬‭money‬‭and‬‭efforts‬‭as‬‭the‬‭input,‬
a‭ nd‬‭the‬‭output‬‭is‬‭the‬‭software‬‭developed‬‭which‬‭may‬‭or‬‭may‬‭not‬‭be‬‭as‬‭per‬‭customer‬‭requirement.‬
‭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‬ ‭wants‬‭and‬‭the‬‭requirements‬‭are‬
‭implemented on the fly without much analysis.‬
‭Usually this model is followed for small projects where the development teams are very small.‬
‭ ig‬‭Bang‬‭Model‬‭─‬‭Design‬‭and‬‭Application‬ ‭The‬‭Big‬‭Bang‬‭Model‬‭comprises‬‭focusing‬‭all‬‭the‬
B
‭possible‬‭resources‬‭in‬‭the‬‭software‬‭development‬‭and‬‭coding,‬‭with‬‭very‬‭little‬‭or‬‭no‬‭planning.‬‭The‬
‭requirements‬‭are‬‭understood‬‭and‬‭implemented‬‭as‬‭they‬‭come.‬‭Any‬‭changes‬‭required‬‭may‬‭or‬‭may‬
‭not need to revamp the complete software.‬
‭ his‬ ‭model‬ ‭is‬ ‭ideal‬ ‭for‬ ‭small‬ ‭projects‬‭with‬‭one‬‭or‬‭two‬‭developers‬‭working‬‭together‬‭and‬‭is‬‭also‬
T
‭useful‬‭for‬‭academic‬‭or‬‭practice‬‭projects.‬‭It‬‭is‬‭an‬‭ideal‬‭model‬‭for‬‭the‬‭product‬‭where‬‭requirements‬
‭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
‭misunderstood‬‭requirements‬‭may‬‭even‬‭lead‬‭to‬‭complete‬‭reversal‬‭or‬‭scrapping‬‭of‬‭the‬‭project.‬‭It‬‭is‬
‭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‬‭-‬‭Agile‬‭Model‬ ‭Agile‬‭SDLC‬‭model‬‭is‬‭a‬‭combination‬‭of‬‭iterative‬‭and‬‭incremental‬‭process‬
S
‭models‬‭with‬‭focus‬‭on‬‭process‬‭adaptability‬‭and‬‭customer‬‭satisfaction‬‭by‬‭rapid‬‭delivery‬‭of‬‭working‬
‭software‬‭products.‬‭Agile‬‭Methods‬‭break‬‭the‬‭product‬‭into‬‭small‬‭incremental‬‭builds.‬‭These‬‭builds‬
‭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.‬
‭ ere‬‭is‬‭a‬‭graphical‬‭illustration‬‭of‬‭the‬‭Agile‬‭Model‬‭−‬ ‭The‬‭Agile‬‭thought‬‭process‬‭had‬‭started‬
H
‭early‬ ‭in‬ ‭the‬ ‭software‬‭development‬‭and‬‭started‬‭becoming‬‭popular‬‭with‬‭time‬‭due‬‭to‬‭its‬‭flexibility‬
‭and adaptability.‬
‭ he‬‭most‬‭popular‬‭Agile‬‭methods‬‭include‬‭Rational‬‭Unified‬‭Process‬‭(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.‬
‭●‬ ‭Working‬‭software −‬‭Demo‬‭working‬‭software‬‭is‬‭considered‬‭the‬‭best‬‭means‬‭of‬‭communication‬
‭with‬ ‭the‬ ‭customers‬ ‭to‬ ‭understand‬ ‭their‬ ‭requirements,‬ ‭instead‬ ‭of‬ ‭just‬ ‭depending‬ ‭on‬
‭documentation.‬
‭●‬ ‭Customer‬‭collaboration −‬‭As‬‭the‬‭requirements‬‭cannot‬‭be‬‭gathered‬‭completely‬‭in‬‭the‬‭beginning‬
‭of‬‭the‬‭project‬‭due‬‭to‬‭various‬‭factors,‬‭continuous‬‭customer‬‭interaction‬‭is‬‭very‬‭important‬‭to‬‭get‬
‭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,‬‭whereas‬‭the‬‭traditional‬‭SDLC‬‭models‬‭like‬‭the‬‭waterfall‬‭model‬‭is‬‭based‬‭on‬‭a‬‭predictive‬
‭approach.‬‭Predictive‬‭teams‬‭in‬‭the‬‭traditional‬‭SDLC‬‭models‬‭usually‬‭work‬‭with‬‭detailed‬‭planning‬
‭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.‬
‭ gile‬‭uses‬‭an adaptive‬‭approach where‬‭there‬‭is‬‭no‬‭detailed‬‭planning‬‭and‬‭there‬‭is‬‭clarity‬‭on‬‭future‬
A
‭tasks‬‭only‬‭in‬‭respect‬‭of‬‭what‬‭features‬‭need‬‭to‬‭be‬‭developed.‬‭There‬‭is‬‭feature‬‭driven‬‭development‬
‭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.‬
‭ ustomer‬‭Interaction is‬‭the‬‭backbone‬‭of‬‭this‬‭Agile‬‭methodology,‬‭and‬‭open‬‭communication‬‭with‬
C
‭minimum‬ ‭documentation‬ ‭are‬ ‭the‬ ‭typical‬ ‭features‬ ‭of‬‭Agile‬‭development‬‭environment.‬‭The‬‭agile‬
‭teams‬ ‭work‬ ‭in‬ ‭close‬ ‭collaboration‬ ‭with‬ ‭each‬ ‭other‬ ‭and‬ ‭are‬ ‭most‬ ‭often‬ ‭located‬ ‭in‬ ‭the‬ ‭same‬
‭geographical location.‬
‭ gile‬‭Model‬‭-‬‭Pros‬‭and‬‭Cons‬ ‭Agile‬‭methods‬‭are‬‭being‬‭widely‬‭accepted‬‭in‬‭the‬‭software‬‭world‬
A
‭recently.‬‭However,‬‭this‬‭method‬‭may‬‭not‬‭always‬‭be‬‭suitable‬‭for‬‭all‬‭products.‬‭Here‬‭are‬‭some‬‭pros‬
‭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.‬
‭●‬ ‭Strict‬‭delivery‬‭management‬‭dictates‬‭the‬‭scope,‬‭functionality‬‭to‬‭be‬‭delivered,‬‭and‬‭adjustments‬
‭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:‬ ‭To‬‭classify‬‭the‬‭requirement‬‭into‬‭functional‬‭and‬‭non-functional‬‭requirements‬‭and‬‭list‬‭four‬
A
‭functional and non -functional requirements for any scenario.‬

‭ hat is Software Testing?‬


W
‭Testing‬ ‭is‬ ‭the‬ ‭process‬ ‭of‬ ‭executing‬ ‭a‬ ‭program‬ ‭with‬ ‭the‬ ‭aim‬ ‭of‬ ‭finding‬ ‭errors.‬ ‭To‬ ‭make‬ ‭our‬
‭software‬‭perform‬‭well‬‭it‬‭should‬‭be‬‭error-free.‬‭If‬‭testing‬‭is‬‭done‬‭successfully,‬‭it‬‭will‬‭remove‬‭all‬‭the‬
‭errors‬ ‭from‬ ‭the‬ ‭software.‬ ‭Software‬ ‭Testing‬ ‭is‬ ‭a‬ ‭method‬ ‭to‬ ‭check‬ ‭whether‬ ‭the‬ ‭actual‬ ‭software‬
‭product matches expected requirements and to ensure that software product is Defect free.‬
‭It‬ ‭involves‬ ‭execution‬ ‭of‬ ‭software/system‬ ‭components‬ ‭using‬ ‭manual‬ ‭or‬ ‭automated‬ ‭tools‬ ‭to‬
‭evaluate‬‭one‬‭or‬‭more‬‭properties‬‭of‬‭interest.‬‭The‬‭purpose‬‭of‬‭software‬‭testing‬‭is‬‭to‬‭identify‬‭errors,‬
‭gaps or missing requirements in contrast to actual requirements.‬

‭ ypes of Software Testing :‬


T
‭Here are the software testing types. Typically Testing is classified into three categories.‬
‭ ‬ ‭Functional Testing‬

‭●‬ ‭Non-Functional Testing or Performance Testing‬
‭●‬ ‭Maintenance (Regression and Maintenance)‬

‭Types of Software Testing in Software Engineering‬


‭Testing Category‬ ‭Types of Testing‬

‭ nit Testing‬‭, Integration Testing, Smoke‬


U
‭Functional Testing‬ ‭UAT ( User Acceptance Testing)‬
‭Interoperability So on‬

‭ erformance, Load, Volume, Scalability, Usability‬


P
‭Non-Functional Testing‬
‭So on‬

‭Maintenance‬ ‭Regression , Maintenance‬


‭Functional vs Non Functional Requirements:‬
‭ equirements‬‭analysis‬‭is‬‭a‬‭very‬‭critical‬‭process‬‭that‬‭enables‬‭the‬‭success‬‭of‬‭a‬‭system‬‭or‬‭software‬
R
‭project to be assessed. Requirements are generally split into two types:‬
‭Functional and Non-functional requirements.‬

‭ unctional‬ ‭Requirements:‬ ‭These‬‭are‬‭the‬‭requirements‬‭that‬‭the‬‭end‬‭user‬‭specifically‬‭demands‬


F
‭as‬ ‭basic‬ ‭facilities‬ ‭that‬ ‭the‬ ‭system‬ ‭should‬ ‭offer.‬ ‭All‬ ‭these‬ ‭functionalities‬ ‭need‬ ‭to‬ ‭be‬ ‭necessarily‬
‭incorporated‬‭into‬‭the‬‭system‬‭as‬‭a‬‭part‬‭of‬‭the‬‭contract.‬‭These‬‭are‬‭represented‬‭or‬‭stated‬‭in‬‭the‬‭form‬
‭of‬ ‭input‬ ‭to‬ ‭be‬ ‭given‬ ‭to‬ ‭the‬ ‭system,‬ ‭the‬ ‭operation‬ ‭performed‬‭and‬‭the‬‭output‬‭expected.‬‭They‬‭are‬
‭basically‬ ‭the‬ ‭requirements‬ ‭stated‬ ‭by‬ ‭the‬ ‭user‬ ‭which‬ ‭one‬ ‭can‬ ‭see‬ ‭directly‬ ‭in‬ ‭the‬ ‭final‬ ‭product,‬
‭unlike the non-functional requirements.‬
‭Non-functional‬‭requirements:‬ ‭These‬‭are‬‭basically‬‭the‬‭quality‬‭constraints‬‭that‬‭the‬‭system‬‭must‬
‭satisfy‬ ‭according‬ ‭to‬ ‭the‬ ‭project‬ ‭contract.‬ ‭The‬ ‭priority‬ ‭or‬ ‭extent‬ ‭to‬ ‭which‬ ‭these‬ ‭factors‬ ‭are‬
‭implemented‬ ‭varies‬ ‭from‬ ‭one‬ ‭project‬ ‭to‬ ‭another.‬ ‭They‬ ‭are‬ ‭also‬ ‭called‬ ‭non-behavioral‬
‭requirements.‬

‭ hey basically deal with issues like:‬


T
‭●‬ ‭Portability‬
‭●‬ ‭Security‬
‭●‬ ‭Maintainability‬
‭●‬ ‭Reliability‬
‭●‬ ‭Scalability‬
‭●‬ ‭Performance‬
‭●‬ ‭Reusability‬
‭●‬ ‭Flexibility‬
‭●‬ ‭Following are the differences between Functional and Non Functional Requirements‬

‭Testing Strategies in Software Engineering:‬


‭Here are important strategies in software engineering:‬
‭●‬ ‭Unit‬ ‭Testing:‬ ‭This‬‭software‬‭testing‬‭basic‬‭approach‬‭is‬‭followed‬‭by‬‭the‬‭programmer‬‭to‬‭test‬‭the‬
‭unit‬ ‭of‬ ‭the‬ ‭program.‬ ‭It‬ ‭helps‬ ‭developers‬ ‭to‬ ‭know‬ ‭whether‬ ‭the‬ ‭individual‬ ‭unit‬ ‭of‬ ‭the‬‭code‬‭is‬
‭working properly or not.‬
‭●‬ ‭Integration‬‭testing:‬‭It‬‭focuses‬‭on‬‭the‬‭construction‬‭and‬‭design‬‭of‬‭the‬‭software.‬‭You‬‭need‬‭to‬‭see‬
‭that the integrated units are working without errors or not.‬
‭●‬ ‭System‬ ‭testing:‬ ‭In‬ ‭this‬ ‭method,‬ ‭your‬ ‭software‬ ‭is‬ ‭compiled‬ ‭as‬ ‭a‬ ‭whole‬ ‭and‬ ‭then‬ ‭tested‬ ‭as‬ ‭a‬
‭whole. This testing strategy checks the functionality, security, portability, amongst others.‬

‭ lpha‬‭Testing‬‭:‬ ‭Alpha‬‭Testing‬‭is‬‭a‬‭type‬‭of‬‭acceptance‬‭testing;‬‭performed‬‭to‬‭identify‬‭all‬‭possible‬
A
‭issues‬‭and‬‭bugs‬‭before‬‭releasing‬‭the‬‭final‬‭product‬‭to‬‭the‬‭end‬‭users.‬‭Alpha‬‭testing‬‭is‬‭carried‬‭out‬‭by‬
‭the‬‭testers‬‭who‬‭are‬‭internal‬‭employees‬‭of‬‭the‬‭organization.‬‭The‬‭main‬‭goal‬‭is‬‭to‬‭identify‬‭the‬‭tasks‬
‭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‬ ‭is‬‭done‬‭early‬‭on,‬‭near‬‭the‬‭end‬‭of‬‭the‬‭development‬‭of‬‭the‬
‭software,‬ ‭and‬ ‭before‬ ‭beta‬ ‭testing.‬ ‭The‬ ‭main‬ ‭focus‬ ‭of‬ ‭alpha‬ ‭testing‬ ‭is‬ ‭to‬ ‭simulate‬ ‭real‬ ‭users‬‭by‬
‭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‬ ‭considered‬‭as‬‭a‬‭form‬‭of‬‭external‬‭User‬‭Acceptance‬‭Testing.‬‭It‬‭is‬‭the‬
‭final‬‭test‬‭before‬‭shipping‬‭a‬‭product‬‭to‬‭the‬‭customers.‬‭Direct‬‭feedback‬‭from‬‭customers‬‭is‬‭a‬‭major‬
‭advantage‬‭of‬‭Beta‬‭Testing.‬‭This‬‭testing‬‭helps‬‭to‬‭test‬‭products‬‭in‬‭the‬‭customer's‬‭environment.‬‭Beta‬
‭version‬ ‭of‬ ‭the‬ ‭software‬ ‭is‬ ‭released‬ ‭to‬ ‭a‬ ‭limited‬ ‭number‬ ‭of‬ ‭end-users‬ ‭of‬ ‭the‬ ‭product‬ ‭to‬ ‭obtain‬
‭feedback‬‭on‬‭the‬‭product‬‭quality.‬‭Beta‬‭testing‬‭reduces‬‭product‬‭failure‬‭risks‬‭and‬‭provides‬‭increased‬
‭quality of the product through customer validation.‬

‭Alpha Testing‬ ‭Beta Testing‬

‭ lpha‬ ‭testing‬‭involves‬‭both‬‭the‬‭white‬‭box‬
A ‭ eta‬ ‭testing‬ ‭commonly‬ ‭uses‬ ‭black‬ ‭box‬
B
‭and black box testing.‬ ‭testing.‬

‭ lpha‬ ‭testing‬‭is‬‭performed‬‭by‬‭testers‬‭who‬
A
‭ eta‬ ‭testing‬ ‭is‬ ‭performed‬ ‭by‬ ‭clients‬ ‭who‬
B
‭are‬ ‭usually‬ ‭internal‬ ‭employees‬ ‭of‬ ‭the‬
‭are not part of the organization.‬
‭organization.‬

‭ lpha‬ ‭testing‬ ‭is‬ ‭performed‬ ‭at‬ ‭the‬


A ‭ eta‬‭testing‬‭is‬‭performed‬‭at‬‭the‬‭end-user‬‭of‬
B
‭developer's site.‬ ‭the product.‬

‭Reliability‬ a‭ nd‬ s‭ ecurity‬ ‭testing‬ ‭ eliability,‬ ‭security‬ ‭and‬ ‭robustness‬ ‭are‬


R
‭are‬ ‭not‬ ‭checked‬ ‭in‬ ‭checked during beta testing.‬
‭alpha testing.‬
‭ eta‬ ‭testing‬ ‭also‬ ‭concentrates‬ ‭on‬ ‭the‬
B
‭ lpha‬ ‭testing‬ ‭ensures‬ ‭the‬ ‭quality‬ ‭of‬ ‭the‬
A ‭quality‬ ‭of‬ ‭the‬ ‭product‬ ‭but‬ ‭collects‬ ‭users‬
‭product before forwarding to beta testing.‬ ‭input‬ ‭on‬ ‭the‬ ‭product‬ ‭and‬ ‭ensures‬ ‭that‬ ‭the‬
‭product is ready for real time users.‬
‭ lpha‬ ‭testing‬ ‭requires‬
A ‭a‬ ‭testing‬ ‭ eta‬ ‭testing‬ ‭doesn’t‬ ‭require‬ ‭a‬ ‭testing‬
B
‭environment or a lab.‬ ‭environment or lab.‬
‭ lpha‬ ‭testing‬ ‭may‬ ‭require‬ ‭a‬ ‭long‬
A ‭ eta‬ ‭testing‬ ‭requires‬ ‭only‬ ‭a‬ ‭few‬ ‭weeks‬ ‭of‬
B
‭execution cycle.‬ ‭execution.‬
‭ ost‬ ‭of‬ ‭the‬ ‭issues‬ ‭or‬ ‭feedback‬ ‭collected‬
M
‭ evelopers‬ ‭can‬ ‭immediately‬ ‭address‬ ‭the‬
D
‭from‬ ‭beta‬ ‭testing‬ ‭will‬ ‭be‬ ‭implemented‬ ‭in‬
‭critical issues or fixes in alpha testing.‬
‭future versions of the product.‬
‭PRACTICAL - 4‬
‭AIM:‬‭Do Comparative Study of Various Software Developments Models.‬
‭●‬ ‭Classical‬ ‭Waterfall‬ ‭Model:‬‭The‬ ‭Classical‬ ‭Waterfall‬ ‭model‬ ‭can‬ ‭be‬ ‭considered‬ ‭as‬ ‭the‬ ‭basic‬
‭model‬‭and‬‭all‬‭other‬‭life‬‭cycle‬‭models‬‭are‬‭based‬‭on‬‭this‬‭model.‬‭It‬‭is‬‭an‬‭ideal‬‭model.‬‭However,‬
‭the‬ ‭Classical‬ ‭Waterfall‬ ‭model‬ ‭cannot‬ ‭be‬ ‭used‬ ‭in‬ ‭practical‬ ‭project‬ ‭development,‬ ‭since‬ ‭this‬
‭model‬‭does‬‭not‬‭support‬‭any‬‭mechanism‬‭to‬‭correct‬‭the‬‭errors‬‭that‬‭are‬‭committed‬‭during‬‭any‬‭of‬
‭the‬ ‭phases‬ ‭but‬ ‭detected‬ ‭at‬‭a‬‭later‬‭phase.‬‭This‬‭problem‬‭is‬‭overcome‬‭by‬‭the‬‭Iterative‬‭Waterfall‬
‭model through the inclusion of feedback paths.‬
‭●‬ ‭Spiral‬‭Model :‬‭Spiral‬‭Model‬‭is‬‭a ‬‭software‬‭development‬‭life‬‭cycle‬‭model‬‭which‬‭is‬‭highly‬‭used‬
‭for‬ ‭risk‬ ‭driven‬ ‭models.‬ ‭Based‬ ‭on‬ ‭the‬ ‭risk‬ ‭patterns‬ ‭of‬‭a‬‭given‬‭project,‬‭the‬‭spiral‬‭model‬‭helps‬
‭developers‬ ‭to‬ ‭increase‬ ‭the‬ ‭efficiency‬ ‭of‬ ‭the‬ ‭model‬ ‭as‬ ‭most‬ ‭risks‬ ‭are‬ ‭already‬ ‭handled.‬ ‭It‬
‭consists‬‭of‬‭a‬‭number‬‭of‬‭loops‬‭which‬‭are‬‭forming‬‭a‬‭spiral‬‭shape‬‭where‬‭each‬‭loop‬‭is‬‭called‬‭the‬
‭phase of the software development cycle.‬
‭●‬ ‭Incremental‬ ‭Model :‬ ‭Incremental‬ ‭Model‬ ‭is‬ ‭a‬ ‭model‬ ‭of‬ ‭software‬ ‭development‬ ‭where‬ ‭the‬
‭product‬ ‭is,‬ ‭analyzed,‬ ‭designed,‬ ‭implemented‬ ‭and‬ ‭tested‬ ‭incrementally‬ ‭until‬ ‭the‬ ‭product‬ ‭is‬
‭finished.‬ ‭Multiple‬ ‭development‬ ‭cycles‬ ‭take‬ ‭place‬ ‭and‬ ‭these‬ ‭cycles‬ ‭are‬ ‭divided‬ ‭into‬ ‭smaller‬
‭modules.‬ ‭Generally‬ ‭a‬ ‭working‬ ‭software‬ ‭in‬ ‭incremental‬ ‭model‬ ‭is‬ ‭produced‬ ‭during‬ ‭the‬ ‭first‬
‭module‬ ‭Each‬ ‭subsequent‬ ‭release‬ ‭of‬ ‭the‬ ‭module‬ ‭adds‬ ‭function‬‭to‬‭the‬‭previous‬‭release.‬‭In‬‭the‬
‭incremental model, the process continues till the complete system is achieved.‬
‭●‬ ‭V-mode :‬ ‭V-model‬‭is‬‭the‬‭most‬‭important‬‭model‬‭that‬‭is‬‭used‬‭in‬‭the‬‭process‬‭of ‭s‬ oftware‬‭testing‬‭.‬
‭It‬‭is‬‭also‬‭known‬‭as Verification‬‭and‬‭Validation Model.‬‭It‬‭is‬‭Introduced‬‭by‬‭the‬‭late‬‭Paul‬‭Rook‬‭in‬
‭the‬ ‭1980s.‬ ‭V-model‬ ‭is‬ ‭a‬ ‭sequential‬ ‭process‬ ‭in‬ ‭which‬ ‭the‬ ‭next‬ ‭phase‬ ‭begins‬ ‭only‬ ‭after‬ ‭the‬
‭completion‬ ‭of‬ ‭the‬ ‭present‬ ‭phase.‬ ‭In‬ ‭this‬ ‭model,‬ ‭steps‬ ‭don’t‬ ‭move‬ ‭in‬ ‭a‬ ‭linear‬ ‭way‬ ‭while‬‭the‬
‭steps are bent upwards.‬
‭Difference between Spiral model and waterfall model :‬

‭S.NO.‬ ‭Waterfall Model‬ ‭Spiral Model‬

‭ aterfall‬ ‭model‬ ‭works‬ ‭in‬ ‭a‬


W ‭ hile‬ ‭the‬ ‭spiral‬ ‭model‬ ‭works‬ ‭in‬
W
‭1.‬
‭sequential method.‬ ‭evolutionary methods.‬

I‭ n‬ ‭waterfall‬ ‭model‬ ‭errors‬ ‭or‬ ‭risks‬


‭2.‬ ‭are‬‭identified‬‭and‬‭rectified‬‭after‬‭the‬ I‭ n‬ ‭spiral‬ ‭model‬ ‭errors‬ ‭or‬ ‭risks‬ ‭are‬
‭completion of stages.‬ ‭identified and rectified earlier.‬

‭ aterfall‬ ‭model‬ ‭is‬ ‭adopted‬ ‭by‬


W ‭ hile‬‭the‬‭spiral‬‭model‬‭is‬‭adopted‬‭by‬
W
‭3.‬
‭customers.‬ ‭developers.‬

‭ aterfall‬ ‭model‬ ‭is‬ ‭applicable‬ ‭for‬


W ‭ hile‬ ‭the‬ ‭Spiral‬ ‭model‬ ‭is‬ ‭used‬ ‭for‬
W
‭4.‬
‭small projects.‬ ‭large projects.‬
I‭ n‬ ‭waterfall‬ m
‭ odel‬ r‭ equirements‬ ‭ hile‬ ‭in‬ ‭spiral‬ ‭model‬ ‭requirements‬
W
‭5.‬ ‭and‬ ‭early‬ ‭stage‬ ‭planning‬ ‭is‬ ‭and‬‭early‬‭stage‬‭planning‬‭is‬‭necessary‬
‭necessary.‬ ‭if required.‬

‭ lexibility‬ ‭to‬ ‭change‬ ‭in‬ ‭the‬


F ‭ lexibility‬ ‭to‬ ‭change‬ ‭in‬ ‭a‬ ‭spiral‬
F
‭6.‬
‭waterfall model is Difficult.‬ ‭model is not Difficult.‬

‭ here‬ ‭is‬ ‭a‬ ‭high‬ ‭amount‬ ‭of‬ ‭risk‬ ‭in‬


T
‭7.‬ ‭There is low risk in the spiral model.‬
‭the waterfall model.‬

‭ aterfall‬ ‭model‬ ‭is‬ ‭comparatively‬


W ‭ he‬ ‭cost‬ ‭of‬ ‭the‬ ‭spiral‬ ‭model‬‭is‬‭very‬
T
‭8.‬
‭inexpensive.‬ ‭expensive.‬

‭Difference between waterfall model and Incremental model :‬

‭Waterfall Model‬ ‭Incremental Model‬

‭ eed‬ ‭of‬ ‭Detailed‬ ‭Documentation‬ ‭in‬


N
‭Need‬ ‭of‬ ‭Detailed‬ ‭Documentation‬ ‭in‬ ‭incremental‬ ‭model‬ ‭is‬ ‭Necessary‬ ‭but‬ ‭not‬ ‭too‬
‭waterfall model is Necessary.‬ ‭much.‬

I‭ n‬ ‭the‬‭waterfall‬‭model‬‭early‬‭stage‬‭planning‬ I‭ n‬‭an‬‭incremental‬‭model‬‭early‬‭stage‬‭planning‬‭is‬
‭is necessary.‬ ‭also necessary.‬

‭ here‬ ‭is‬ ‭a‬ ‭high‬ ‭amount‬ ‭of‬ ‭risk‬ ‭in‬ ‭the‬ T


T ‭ here‬ ‭is‬ ‭low‬ ‭amount‬ ‭risk‬ ‭in‬ ‭incremental‬
‭waterfall model.‬ ‭models.‬

‭ here‬ ‭is‬ ‭a‬ ‭long‬ ‭waiting‬ ‭time‬ ‭for‬ ‭running‬ T


T ‭ here‬ ‭is‬ ‭a‬ ‭short‬ ‭waiting‬ ‭time‬ ‭for‬ ‭running‬
‭software in the waterfall model.‬ ‭software in an incremental model.‬

I‭ ncremental‬ ‭model‬ ‭also‬ ‭can’t‬ ‭handle‬ ‭large‬


‭Waterfall model can’t handle large projects.‬ ‭projects.‬

‭ lexibility‬‭to‬‭change‬‭in‬‭the‬‭waterfall‬‭model‬ F
F ‭ lexibility‬ ‭to‬‭change‬‭in‬‭incremental‬‭models‬ ‭is‬
‭is Difficult.‬ ‭Easy.‬
‭Cost of the Waterfall model is Low.‬ ‭Cost of an incremental model is also Low.‬

‭Testing is done in incremental model after‬


‭ esting‬ ‭is‬ ‭done‬ ‭in‬ ‭the‬ ‭waterfall‬ ‭model‬
T
‭after completion of all coding phases.‬ e‭ very iteration of phase.‬

‭Returning to previous stage/phase in‬


‭ eturning‬ ‭to‬ ‭the‬ ‭previous‬ ‭stage/phase‬ ‭in‬
R
‭the waterfall model is not possible.‬ a‭ n incremental model is possible.‬

‭In incremental model large team is not‬


I‭ n‬ ‭the‬ ‭waterfall‬ ‭model‬ ‭a‬ ‭large‬ ‭team‬ ‭is‬
‭required.‬ r‭ equired.‬

‭In incremental model overlapping of phases‬


I‭ n‬ ‭the‬ ‭waterfall‬ ‭model,‬ ‭overlapping‬ ‭of‬
‭phases is not possible.‬ i‭s possible.‬

‭There is multiple development cycles take‬


‭ here‬ ‭is‬ ‭only‬ ‭one‬ ‭cycle‬ ‭in‬ ‭the‬ ‭waterfall‬
T
‭model.‬ p‭ lace in an incremental model.‬

‭Difference between Spiral model and Incremental model :‬

‭S.No.‬ ‭Spiral Model‬ ‭Incremental Model‬

‭ piral‬ ‭model‬ ‭is‬


S ‭a‬ ‭software‬ I‭ ncremental‬ ‭Model‬ ‭is‬ ‭a‬ ‭software‬
‭development‬ ‭model‬ a‭ nd‬ ‭is‬ ‭made‬ ‭development‬ ‭model‬ ‭where‬ ‭the‬ ‭product‬ ‭is‬
‭1.‬ ‭with‬ ‭features‬ ‭of‬ ‭incremental,‬ ‭analyzed,‬ ‭designed,‬ ‭implemented‬ ‭and‬
‭waterfall‬ ‭or‬ ‭evolutionary‬ ‭tested‬ ‭incrementally‬ ‭until‬ ‭the‬ ‭product‬ ‭is‬
‭prototyping models.‬ ‭finished.‬

I‭ n‬ ‭spiral‬ ‭model‬ ‭requirements‬ ‭and‬


‭2.‬ ‭early‬ ‭stage‬ ‭planning‬ ‭is‬ ‭also‬ I‭ ncremental‬‭model‬‭requirements‬‭and‬‭early‬
‭necessary.‬ ‭stage planning is necessary.‬
‭ lexibility‬ ‭to‬ ‭change‬ ‭in‬ ‭a‬ ‭spiral‬
F ‭ lexibility‬ ‭to‬ ‭change‬ ‭in‬ ‭incremental‬
F
‭3.‬
‭model is not that difficult.‬ ‭models is Easy.‬

‭ here‬ ‭is‬ ‭low‬ ‭risk‬ ‭in‬ ‭the‬ ‭spiral‬


T ‭ here‬ ‭is‬ ‭also‬ ‭low‬ ‭amount‬ ‭risk‬ ‭in‬ ‭the‬
T
‭4.‬
‭model.‬ ‭incremental model.‬

‭ he‬ ‭cost‬ ‭of‬ ‭the‬ ‭spiral‬ ‭model‬ ‭is‬


T
‭5.‬ ‭Cost of an incremental model is also Low.‬
‭very expensive.‬

‭ piral‬ ‭models‬ ‭can‬ ‭handle‬ ‭large‬


S I‭ ncremental‬ ‭models‬ ‭can’t‬ ‭handle‬ ‭large‬
‭6.‬
‭projects.‬ ‭projects.‬

I‭ n‬ ‭a‬ ‭spiral‬ ‭model,‬ ‭overlapping‬ ‭of‬ I‭ n‬ ‭an‬ ‭incremental‬ ‭model,‬ ‭overlapping‬ ‭of‬
‭7.‬
‭phases is not possible.‬ ‭phases is possible.‬

‭ esting‬‭is‬‭done‬‭in‬‭a‬‭spiral‬‭model‬‭at‬
T ‭ esting‬ ‭is‬ ‭done‬ ‭in‬ ‭an‬ ‭incremental‬ ‭model‬
T
‭8.‬
‭the end of the engineering phase.‬ ‭after every iteration of phase.‬

‭ eturning‬ ‭to‬ ‭the‬ ‭previous‬


R
‭9.‬ ‭stage/phase‬ ‭in‬ ‭the‬ ‭spiral‬ ‭model‬ ‭is‬ ‭ eturning‬ ‭to‬ ‭the‬ ‭previous‬ ‭stage/phase‬ ‭in‬
R
‭possible.‬ ‭an incremental model is possible.‬

I‭ n‬ ‭the‬‭spiral‬‭model‬‭a‬‭large‬‭team‬‭is‬ I‭ n‬ ‭the‬ ‭incremental‬ ‭model‬ ‭a‬ ‭large‬ ‭team‬ ‭is‬


‭10.‬
‭required.‬ ‭not required.‬
‭Difference between V-model and Spiral model :‬

‭S.No.‬ ‭V MODEL‬ ‭SPIRAL MODEL‬

‭ piral‬ ‭model‬ ‭is‬ a‭ ‬ ‭software‬


S
‭ ‬ ‭model‬ ‭is‬ ‭software‬ ‭development‬
V ‭development‬ ‭model‬ ‭and‬ ‭is‬ ‭made‬
‭1.‬ ‭model‬ ‭but‬ ‭development‬ ‭and‬ ‭testing‬ ‭with‬ ‭features‬ ‭of‬ ‭incremental,‬
‭are not concurrent.‬ ‭waterfall‬ ‭or‬ ‭evolutionary‬
‭prototyping models.‬

‭2.‬ ‭In‬ ‭V-model‬ ‭testing‬ ‭activities‬ ‭start‬ ‭Testing‬ ‭is‬ ‭done‬ ‭in‬ ‭a‬ ‭spiral‬‭model‬‭at‬
‭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.‬

‭ lexibility‬ ‭of‬ ‭the‬ ‭V-model‬ ‭is‬ ‭Little‬


F ‭ lexibility‬ ‭to‬ ‭change‬ ‭in‬ ‭a‬ ‭spiral‬
F
‭4.‬
‭flexible.‬ ‭model is not that difficult.‬

‭ uarantee‬ ‭of‬ ‭success‬ ‭through‬


G ‭ uarantee‬‭of‬‭success‬‭through‬‭Spiral‬
G
‭5.‬
‭V-model is high.‬ ‭model is low.‬

‭ ser‬‭involvement‬‭in‬‭V-model‬‭is‬‭also‬
U I‭ n‬ ‭this‬ ‭user‬ ‭Involvement‬ ‭is‬ ‭only‬ ‭at‬
‭6.‬
‭only in the beginning.‬ ‭the beginning.‬

‭ ifference‬‭between‬‭V-model‬‭and‬‭Waterfall‬‭model‬‭:‬ ‭Besides‬‭that‬‭v-model‬‭is‬‭the‬‭alternate‬
D
‭of‬ ‭the‬ ‭waterfall‬ ‭model.‬ ‭There‬ ‭is‬ ‭some‬ ‭difference‬ ‭between‬ ‭these‬ ‭two‬ ‭models‬ ‭which‬ ‭are‬
‭given below.‬

‭Waterfall model‬ ‭V-model‬

‭The cost of the Waterfall model is low.‬ ‭V-model is expensive.‬

‭Simplicity of the Waterfall model is simple.‬ ‭Simplicity of V-model is Intermediate.‬

‭Flexibility of the Waterfall model is Rigid.‬ ‭Flexibility of the V-model is Little flexible.‬

‭ aterfall‬ ‭model‬ ‭is‬ ‭a‬ ‭sequential‬ ‭execution‬


W
‭process.‬ ‭It is also a sequential execution process.‬

‭ aterfall‬ ‭model’s‬ ‭steps‬ ‭move‬ ‭in‬ ‭a‬ ‭linear‬


W
‭way.‬ ‭V-model’s steps don’t move in a linear way.‬

‭ ser‬ ‭involvement‬ ‭in‬ ‭the‬ ‭Waterfall‬ ‭model‬ ‭is‬


U ‭ ser‬‭involvement‬‭in‬‭V-model‬‭is‬‭also‬‭only‬‭in‬
U
‭only the beginning.‬ ‭the beginning.‬
I‭ n‬ ‭Waterfall‬ ‭model‬ ‭testing‬ ‭activities‬ ‭start‬ I‭ n‬ ‭V-model‬ ‭testing‬ ‭activities‬ ‭start‬ ‭with‬ ‭the‬
‭after the development activities are over.‬ ‭first stage.‬

‭ uarantee‬ ‭of‬ ‭success‬ ‭through‬ ‭the‬ ‭Waterfall‬


G ‭ uarantee‬ ‭of‬ ‭success‬ ‭through‬ ‭V-model‬ ‭is‬
G
‭model is low.‬ ‭high.‬

‭Waterfall model is a continuous process.‬ ‭V-model is a simultaneous process.‬

‭ oftware‬ ‭made‬ ‭using‬ ‭Waterfall‬ ‭model,‬ ‭the‬


S ‭ oftware‬ ‭made‬ ‭using‬ ‭V-model,‬ ‭the‬ ‭number‬
S
‭number‬ ‭of‬‭defects‬‭are‬‭less‬‭in‬‭comparison‬‭of‬ ‭of‬ ‭defects‬ ‭are‬ ‭greater‬ ‭in‬ ‭comparison‬ ‭of‬
‭software made using V-model.‬ ‭software made using Waterfall model.‬

‭ equirement‬ ‭specification‬ ‭in‬ ‭the‬ ‭Waterfall‬


R ‭ equirement‬ ‭specification‬ ‭in‬ ‭V-model‬ ‭is‬
R
‭model is necessary in the beginning.‬ ‭also necessary in the beginning.‬

‭ aterfall‬ ‭model‬ ‭is‬ ‭less‬ ‭used‬ ‭now-a-days‬ ‭in‬


W ‭ -model‬ ‭is‬ ‭widely‬ ‭used‬ ‭in‬ ‭software‬
V
‭software engineering.‬ ‭engineering.‬

‭Properties of‬ ‭Water-Fall‬


‭Incremental Model‬ ‭Spiral Model‬ ‭Rad Model‬
‭Model‬ ‭Model‬
‭Planning in early‬
‭Yes‬ ‭Yes‬ ‭Yes‬ ‭No‬
‭stage‬
‭Returning to an‬
‭No‬ ‭Yes‬ ‭Yes‬ ‭Yes‬
‭earlier phase‬
‭ andle‬
H ‭ ot‬
N
‭Not Appropriate‬ ‭Not Appropriate‬ ‭Appropriate‬
‭ arge-Project‬
L ‭ ppropriate‬
A
‭ etailed‬
D
‭Necessary‬ ‭Yes but not much‬ ‭Yes‬ ‭Limited‬
‭ ocumentation‬
D
‭Cost‬ ‭Low‬ ‭Low‬ ‭Expensive‬ ‭Low‬
‭ equirement‬
R ‭Time boxed‬
‭Beginning‬ ‭Beginning‬ ‭Beginning‬
‭Specifications‬ ‭release‬
‭Flexibility to change‬ ‭Difficult‬ ‭Easy‬ ‭Easy‬ ‭Easy‬
‭User Involvement‬ ‭Only at‬ ‭Intermediate‬ ‭High‬ ‭Only at the‬
‭beginning‬ ‭beginning‬
‭ romotes‬
P ‭ asily‬
E
‭Maintenance‬ ‭Least‬ ‭Typical‬
‭ aintainability‬
M ‭ aintained‬
M
‭Duration‬ ‭Long‬ ‭Very long‬ ‭Long‬ ‭Short‬
‭Medium to high‬
‭Risk Involvement‬ ‭High‬ ‭Low‬ ‭Low‬
‭risk‬
‭ inear +‬
L
‭Framework Type‬ ‭Linear‬ ‭Linear + Iterative‬ ‭Linear‬
‭Iterative‬
‭At the end of the‬ ‭After‬
‭After completion‬
‭Testing‬ ‭After every iteration‬ ‭engineering‬ ‭completion of‬
‭of coding phase‬
‭phase‬ ‭coding‬
‭ es (As parallel‬
Y
‭Overlapping Phases‬ ‭No‬ ‭development is‬ ‭No‬ ‭Yes‬
‭there)‬
‭ east‬
L ‭ asily‬
E
‭Maintenance‬ ‭Maintainable‬ ‭Yes‬
‭ aintainable‬
M ‭ aintainable‬
M
‭Re-usability‬ ‭Least possible‬ ‭To some extent‬ ‭To some extent‬ ‭Yes‬
‭Time-Frame‬ ‭Very Long‬ ‭Long‬ ‭Long‬ ‭Short‬
‭Working software‬ ‭At the end of the‬ ‭At the end of every‬ ‭ t the end of‬
A ‭ t the end of‬
A
‭availability‬ ‭life-cycle‬ ‭iteration‬ ‭every iteration‬ ‭the life cycle‬
‭ apid‬
R
‭Objective‬ ‭High Assurance‬ ‭Rapid Development‬ ‭High Assurance‬
‭development‬
‭Team size‬ ‭Large Team‬ ‭Not Large Team‬ ‭Large Team‬ ‭Small Team‬
‭ ustomer control‬
C
‭Very Low‬ ‭Yes‬ ‭Yes‬ ‭Yes‬
‭over administrator‬
‭PRACTICAL - 5‬
‭ IM‬ ‭:‬ ‭Preparation‬ ‭of‬ ‭requirement‬ ‭document‬ ‭for‬ ‭standard‬ ‭application‬ ‭problems‬ ‭in‬ ‭standard‬
A
‭format.(e.gLibrary‬ ‭Management‬ ‭System,‬ ‭Railway‬ ‭Reservation‬ ‭system,‬ ‭Hospital‬ ‭management‬
‭System, University Admission system)‬
‭ ‬ ‭Software‬ ‭Requirements‬ ‭Specification‬ ‭(SRS)‬ ‭is‬ ‭a‬ ‭document‬ ‭that‬ ‭describes‬ ‭the‬ ‭nature‬ ‭of‬ ‭a‬
A
‭project,‬ ‭software‬ ‭or‬ ‭application.‬ ‭In‬ ‭simple‬ ‭words,‬ ‭an‬ ‭SRS‬ ‭document‬ ‭is‬ ‭a‬ ‭manual‬ ‭of‬ ‭a‬ ‭project‬
‭provided‬‭it‬‭is‬‭prepared‬‭before‬‭you‬‭kick-start‬‭a‬‭project/application.‬‭This‬‭document‬‭is‬‭also‬‭known‬
‭by‬ ‭the‬ ‭names‬ ‭SRS‬‭report,‬‭software‬‭document.‬‭A‬‭software‬‭document‬‭is‬‭primarily‬‭prepared‬‭for‬‭a‬
‭project, software or any kind of application.‬
‭There‬ ‭are‬ ‭a‬ ‭set‬ ‭of‬ ‭guidelines‬ ‭to‬ ‭be‬ ‭followed‬ ‭while‬ ‭preparing‬ ‭the‬ ‭software‬ ‭requirement‬
‭specification‬ ‭document.‬ ‭This‬ ‭includes‬ ‭the purpose,‬ ‭scope,‬ ‭functional‬ ‭and‬ ‭nonfunctional‬
‭requirements, software‬ ‭and‬ ‭hardware‬ ‭requirements‬ ‭of‬ ‭the‬ ‭project.‬ ‭In‬ ‭addition‬ ‭to‬ ‭this,‬ ‭it‬ ‭also‬
‭contains‬ ‭the‬ ‭information‬ ‭about‬ ‭environmental‬ ‭conditions‬ ‭required,‬ ‭safety‬ ‭and‬ ‭security‬
‭requirements, software quality attributes of the project etc.‬

‭ hat is a Software Requirements Specification document?‬


W
‭A‬ ‭Software‬ ‭requirements‬ ‭specification‬ ‭document‬ ‭describes‬ ‭the‬ ‭intended‬ ‭purpose,‬‭requirements‬
‭and‬ ‭nature‬ ‭of‬ ‭a‬‭software‬‭to‬‭be‬‭developed.‬‭It‬‭also‬‭includes‬‭the‬‭yield‬‭and‬‭cost‬‭of‬‭the‬‭software.‬‭In‬
‭this document, a flight management project is used as an example to explain a few points.‬

‭LIBRARY MANAGEMENT SYSTEM‬


‭1.‬ ‭PROBLEM DEFINITION‬
‭1.1.‬ ‭The library management system is software, which automates the job of a librarian.‬
‭1.2.‬ T‭ he‬‭user‬‭can‬‭inquire‬‭about‬‭the‬‭availability‬‭of‬‭a‬‭book‬‭in‬‭which‬‭he‬‭can‬‭search‬‭by‬‭entering‬
‭the author’s name or by entering the title of the book.‬

‭1.3.‬ T‭ he‬‭user‬‭can‬‭borrow‬‭a‬‭book.‬‭He‬‭must‬‭provide‬‭the‬‭username‬‭and‬‭the‬‭card‬‭number,‬‭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‬
‭borrowed‬‭by‬‭the‬‭user‬‭and‬‭by‬‭referring‬‭to‬‭the‬‭database‬‭whether‬‭the‬‭user‬‭can‬‭borrow‬‭books‬
‭or‬‭not.‬‭The‬‭library‬‭management‬‭system‬‭allows‬‭the‬‭user‬‭to‬‭enter‬‭the‬‭title‬‭and‬‭the‬‭author‬‭of‬
‭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.‬ ‭The‬‭purpose‬‭of‬‭this‬‭SRS‬‭is‬‭to‬‭describe‬‭the‬‭requirements‬‭involved‬‭in‬‭developing‬‭a‬
‭Library management system.‬
‭2.2.2.‬ ‭The‬ ‭intended‬ ‭audience‬ ‭is‬ ‭any‬ ‭person,‬ ‭who‬ ‭wants‬ ‭to‬ ‭inquire,‬ ‭borrow‬‭and‬‭return‬
‭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,‬‭communication‬‭interface,‬‭memory‬‭constraints,‬‭product‬‭functions,‬‭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.‬ ‭Hard‬‭disk:‬ ‭The‬‭database‬‭connectivity‬‭requires‬‭a‬‭hardware‬‭configuration‬‭that‬‭is‬
‭on-line.‬‭This‬‭makes‬‭it‬‭necessary‬‭to‬‭have‬‭a‬‭fast‬‭database‬‭system‬‭running‬‭on‬‭a‬‭high‬
‭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.‬ ‭By‬‭extracting‬‭the‬‭username‬‭and‬‭password‬‭the‬‭software‬‭allows‬‭the‬‭user‬‭to‬‭borrow‬
‭a maximum of three books.‬
‭2.14.4.‬ ‭By‬ ‭extracting‬‭the‬‭username‬‭and‬‭password‬‭the‬‭software‬‭allows‬‭the‬‭user‬‭to‬‭return‬
‭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.‬ ‭After‬‭the‬‭validation‬‭of‬‭the‬‭user‬‭software‬‭allows‬‭the‬‭user‬‭to‬‭borrow‬‭a‬‭maximum‬‭of‬
‭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.‬ ‭The‬‭intended‬‭users‬‭of‬‭this‬‭software‬‭need‬‭not‬‭have‬‭specific‬‭knowledge‬‭as‬‭to‬‭what‬
‭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‬ ‭the‬‭naïve‬
‭users.‬
‭2.16.3.‬ ‭The‬ ‭product‬ ‭does‬‭not‬‭expect‬‭the‬‭user‬‭to‬‭possess‬‭any‬‭technical‬‭background.‬‭Any‬
‭person‬‭who‬‭knows‬‭how‬‭to‬‭use‬‭the‬‭mouse‬‭and‬‭the‬‭keyboard‬‭can‬‭successfully‬‭use‬
‭this product.‬
‭2.17.‬ ‭Constraints‬
‭2.17.1.‬ ‭The‬‭user‬‭has‬‭a‬‭unique‬‭username‬‭and‬‭password,‬‭there‬‭are‬‭no‬‭options‬‭to‬‭retrieve‬‭a‬
‭password‬‭or‬‭username‬‭in‬‭case‬‭it‬‭is‬‭forgotten‬‭or‬‭lost‬‭hence‬‭the‬‭user‬‭is‬‭required‬‭to‬
‭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‬ ‭necessary‬‭information‬‭for‬
‭the product to function according to the requirements.‬
‭2.19.2.‬ ‭These include relations such as user details and book details.‬
‭2.19.3.‬ ‭The‬‭user‬‭details‬‭refer‬‭to‬‭the‬‭information‬‭such‬‭as‬‭name,‬‭card‬‭number,‬‭no.‬‭of‬‭books‬
‭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‬ ‭details‬‭of‬‭the‬‭book‬‭or‬‭the‬‭author’s‬‭name.‬‭By‬‭entering‬‭the‬‭username‬
‭and‬‭the‬‭password‬‭the‬‭software,‬‭by‬‭checking‬‭the‬‭number‬‭of‬‭books‬‭that‬‭are‬‭already‬
‭borrowed,‬‭enables‬‭us‬‭to‬‭borrow‬‭a‬‭maximum‬‭of‬‭three‬‭books.‬‭And‬‭by‬‭entering‬‭the‬
‭username‬ ‭and‬ ‭password‬‭(card‬‭number),‬‭which‬‭is‬‭unique,‬‭the‬‭user‬‭can‬‭return‬‭the‬
‭books.‬
‭2.20.‬ ‭BACK – END DESCRIPTION‬
‭2.20.1.‬ T
‭ he‬‭library‬‭management‬‭system‬‭consists‬‭of‬‭two‬‭tables.‬‭One‬‭contains‬‭the‬‭student‬
‭details such as the name, card number that is the password, title and the author of‬

‭2.21.‬ ‭DATA STRUCTURES‬

‭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‬

‭DATA FLOW DIAGRAM‬


‭3.‬ ‭TESTING:‬

‭EXPECTED‬ ‭ACTUAL‬
‭FORM NAME‬ ‭INPUT‬ ‭STATUS‬
‭OUTPUT‬ ‭OUTPUT‬

‭Show required‬ ‭ equired‬


R
‭MAIN MENU FORM‬ ‭Menu Option‬ ‭Form was‬ ‭Pass‬
‭Form‬
‭displayed‬

‭Member‬ ‭Create new‬


‭MEMBERSHIP‬ ‭New Account‬
‭details are‬ ‭member‬ ‭Pass‬
‭FORM‬ ‭was created‬
‭entered‬ ‭account‬
‭Member‬
‭If the password‬
‭Member ID‬ ‭authenticated for‬
‭LOGIN FORM‬ ‭is correct,‬ ‭Pass‬
‭and password‬ ‭future‬
‭login.‬
‭operations.‬
‭If books issued‬
‭is less than‬
‭ISSUE FORM‬ ‭Book ID‬ ‭Book issued‬ ‭Pass‬
‭three, issue the‬
‭book.‬
‭RETURN/REISSUE‬ ‭Book returned/‬ ‭Book returned/‬
‭Book ID‬ ‭Pass‬
‭FORM‬ ‭reissued‬ ‭reissued‬
‭Book details‬ ‭Book details‬
‭BOOK ENQUIRY‬ ‭Book Name‬ ‭Pass‬
‭are displayed‬ ‭are displayed‬
‭4.0 SAMPLE FORMS‬
‭MAIN MENU FORM‬

‭MEMBERSHIP FORM‬
‭LOGIN FORM‬

‭ISSUE FORM‬
‭RETURN/REISSUE FORM‬

‭BOOK ENQUIRY FOR‬


‭PRACTICAL - 6‬
‭AIM :‬‭To identify the usage of Regression Testing.‬
‭ hat is regression testing?‬
W
‭Regression‬‭testing‬‭is‬‭a‬‭black‬‭box‬‭testing‬‭technique.‬‭It‬‭is‬‭used‬‭to‬‭authenticate‬‭that‬‭a‬‭code‬‭change‬
‭in‬ ‭the‬ ‭software‬ ‭does‬ ‭not‬ ‭impact‬ ‭the‬ ‭existing‬ ‭functionality‬ ‭of‬ ‭the‬ ‭product.‬‭Regression‬‭testing‬‭is‬
‭making‬ ‭sure‬ ‭that‬ ‭the‬ ‭product‬ ‭works‬ ‭fine‬ ‭with‬ ‭new‬ ‭functionality,‬ ‭fixes,‬ ‭or‬ ‭any‬ ‭change‬ ‭in‬ ‭the‬
‭existing‬ ‭feature.Regression‬ ‭testing‬ ‭is‬ ‭a‬ ‭type‬ ‭of‬ ‭software‬ ‭testing.‬ ‭Test‬ ‭cases‬ ‭are‬ ‭re-executed‬ ‭to‬
‭check‬‭the‬‭previous‬‭functionality‬‭of‬‭the‬‭application‬‭is‬‭working‬‭fine,‬‭and‬‭the‬‭new‬‭changes‬‭have‬‭not‬
‭produced‬ ‭any‬ ‭bugs.‬ ‭Regression‬ ‭testing‬ ‭can‬ ‭be‬ ‭performed‬ ‭on‬ ‭a‬ ‭new‬ ‭build‬ ‭when‬ ‭there‬ ‭is‬ ‭a‬
‭significant‬‭change‬‭in‬‭the‬‭original‬‭functionality.‬‭It‬‭ensures‬‭that‬‭the‬‭code‬‭still‬‭works‬‭even‬‭when‬‭the‬
‭changes‬ ‭are‬ ‭occurring.‬ ‭Regression‬ ‭means‬ ‭Re-test‬ ‭those‬ ‭parts‬ ‭of‬ ‭the‬ ‭application,‬ ‭which‬ ‭are‬
‭unchanged.‬ ‭Regression‬ ‭tests‬ ‭are‬ ‭also‬ ‭known‬ ‭as‬ ‭the‬ ‭Verification‬ ‭Method.‬ ‭Test‬ ‭cases‬ ‭are‬ ‭often‬
‭automated.‬ ‭Test‬ ‭cases‬ ‭are‬‭required‬‭to‬‭execute‬‭many‬‭times‬‭and‬‭running‬‭the‬‭same‬‭test‬‭case‬‭again‬
‭and again manually, is time-consuming and tedious too.‬

‭ xample of Regression testing‬


E
‭Here we are going to take a case to define the regression testing efficiently:‬
‭Consider‬ ‭a‬ ‭product‬ ‭Y,‬ ‭in‬ ‭which‬ ‭one‬ ‭of‬ ‭the‬ ‭functionality‬ ‭is‬‭to‬‭trigger‬‭confirmation,‬‭acceptance,‬
‭and‬ ‭dispatched‬ ‭emails.‬ ‭It‬ ‭also‬‭needs‬‭to‬‭be‬‭tested‬‭to‬‭ensure‬‭that‬‭the‬‭change‬‭in‬‭the‬‭code‬‭does‬‭not‬
‭affect‬ ‭them.‬ ‭Regressing‬ ‭testing‬ ‭does‬ ‭not‬ ‭depend‬ ‭on‬ ‭any‬‭programming‬‭language‬‭like‬‭,‬‭etc.‬‭This‬
‭method‬ ‭is‬ ‭used‬ ‭to‬ ‭test‬ ‭the‬ ‭product‬ ‭for‬ ‭modifications‬ ‭or‬ ‭any‬ ‭updates‬ ‭done.‬ ‭It‬ ‭ensures‬ ‭that‬ ‭any‬
‭change‬‭in‬‭a‬‭product‬‭does‬‭not‬‭affect‬‭the‬‭existing‬‭module‬‭of‬‭the‬‭product.‬‭Verify‬‭that‬‭the‬‭bugs‬‭fixed‬
‭and‬‭the‬‭newly‬‭added‬‭features‬‭did‬‭not‬‭create‬‭any‬‭problem‬‭in‬‭the‬‭previous‬‭working‬‭version‬‭of‬‭the‬
‭Software.‬

‭ hen can we perform Regression Testing?‬


W
‭We‬‭do‬‭regression‬‭testing‬‭whenever‬‭the‬‭production‬‭code‬‭is‬‭modified.‬‭We‬‭can‬‭perform‬‭regression‬
‭testing in the following scenario, these are:‬

‭1.‬‭When new functionality is added to the application.‬


‭Example‬ ‭:‬ ‭A‬ ‭website‬ ‭has‬ ‭a‬ ‭login‬ ‭functionality‬ ‭which‬ ‭allows‬ ‭users‬ ‭to‬ ‭log‬‭in‬‭only‬‭with‬
‭email. Now providing a new feature to do login using Facebook.‬
‭2.‬‭When there is a Change Requirement.‬
‭Example‬ ‭:‬ ‭Remember‬ ‭password‬ ‭removed‬ ‭from‬ ‭the‬ ‭login‬ ‭page‬ ‭which‬ ‭was‬ ‭previously‬
‭applicable.‬
‭3.‬‭When the defect fixed‬
‭Example‬‭:‬ ‭Assume‬‭the‬‭login‬‭button‬‭is‬‭not‬‭working‬‭in‬‭a‬‭login‬‭page‬‭and‬‭a‬‭tester‬‭reports‬‭a‬
‭bug‬‭stating‬‭that‬‭the‬‭login‬‭button‬‭is‬‭broken.‬‭Once‬‭the‬‭bug‬‭is‬‭fixed‬‭by‬‭developers,‬‭the‬‭tester‬
‭tests‬ ‭it‬ ‭to‬ ‭make‬ ‭sure‬ ‭the‬ ‭Login‬ ‭Button‬ ‭is‬ ‭working‬ ‭as‬ ‭per‬ ‭the‬ ‭expected‬ ‭result.‬
‭Simultaneously, the tester tests other functionality which is related to the login button.‬
‭4.‬‭When there is a performance issue fix‬
‭Example :‬‭Loading of a home page takes 5 seconds, reducing the load time to 2 seconds.‬
‭5.‬‭When there is an environment change‬
‭Example :‬‭When we update the database from MySql to Oracle.‬

‭How to perform Regression Testing ?‬


‭ he‬‭need‬‭for‬‭regression‬‭testing‬‭comes‬‭when‬‭software‬‭maintenance‬‭includes‬‭enhancements,‬‭error‬
T
‭corrections,‬ ‭optimization,‬ ‭and‬ ‭deletion‬ ‭of‬ ‭existing‬ ‭features.‬ ‭These‬ ‭modifications‬ ‭may‬ ‭affect‬
‭system functionality. Regression Testing becomes necessary in this case.‬

‭Regression testing can be performed using the following techniques:‬

‭1.‬‭Re-test‬ ‭All‬ ‭:‬ ‭Re-Test‬ ‭is‬‭one‬‭of‬‭the‬‭approaches‬‭to‬‭do‬‭regression‬‭testing.‬‭In‬‭this‬‭approach,‬‭all‬


‭the‬ ‭test‬‭case‬‭suits‬‭should‬‭be‬‭re-executed.‬‭Here‬‭we‬‭can‬‭define‬‭re-test‬‭as‬‭when‬‭a‬‭test‬‭fails,‬‭and‬
‭we‬‭determine‬‭the‬‭cause‬‭of‬‭the‬‭failure‬‭is‬‭a‬‭software‬‭fault.‬‭The‬‭fault‬‭is‬‭reported,‬‭we‬‭can‬‭expect‬‭a‬
‭new‬‭version‬‭of‬‭the‬‭software‬‭in‬‭which‬‭the‬‭defect‬‭is‬‭fixed.‬‭In‬‭this‬‭case,‬‭we‬‭will‬‭need‬‭to‬‭execute‬
‭the‬‭test‬‭again‬‭to‬‭confirm‬‭that‬‭the‬‭fault‬‭is‬‭fixed.‬‭This‬‭is‬‭known‬‭as‬‭re-testing.‬‭Some‬‭will‬‭refer‬‭to‬
‭this as confirmation testing.‬
‭The re-test is very expensive, as it requires enormous time and resources.‬
‭2.‬‭Regression‬ ‭test‬‭Selection‬‭:‬‭In‬‭this‬‭technique,‬‭a‬‭selected‬‭test-case‬‭suit‬‭will‬‭execute‬‭rather‬‭than‬
‭an entire test-case Suit.‬
‭The selected test case suits divided in two cases‬
‭➢‬‭Reusable Test cases.‬
‭➢‬‭Obsolete Test cases.‬
‭➢‬‭Reusable test cases can be used in succeeding regression cycles.‬
‭➢‬‭Obsolete test cases can't be used in succeeding regression cycles.‬
‭3.‬‭Prioritization‬ ‭of‬ ‭test‬ ‭cases‬ ‭:‬ ‭Prioritize‬‭the‬‭test‬‭case‬‭depending‬‭on‬‭business‬‭impact,‬‭critical‬
‭and frequently used functionality. Selection of test cases will reduce the regression test suite.‬

‭ hat are the Regression Testing tools?‬


W
‭Regression‬ ‭Testing‬ ‭is‬ ‭a‬ ‭vital‬ ‭part‬ ‭of‬ ‭the‬ ‭QA‬ ‭process;‬ ‭while‬ ‭performing‬ ‭the‬‭regression‬‭we‬‭may‬
‭face the below challenges:‬

‭ ime‬ ‭Consuming‬ ‭Regression‬ ‭Testing‬ ‭consumes‬ ‭a‬ ‭lot‬ ‭of‬ ‭time‬ ‭to‬‭complete.‬‭Regression‬‭testing‬
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‬ ‭update‬‭any‬‭product;‬
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‬ ‭regression‬‭testing‬‭with‬‭a‬‭non-technical‬‭leader‬‭can‬
‭be‬ ‭a‬ ‭difficult‬ ‭task.‬ ‭The‬ ‭executive‬ ‭wants‬ ‭to‬ ‭see‬ ‭the‬ ‭product‬ ‭move‬ ‭forward‬ ‭and‬ ‭make‬ ‭a‬
‭considerable‬ ‭time‬ ‭investment‬ ‭in‬ ‭regression‬ ‭testing‬ ‭to‬‭ensure‬‭existing‬‭functionality‬‭working‬‭can‬
‭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‬

‭ egression‬‭testing‬‭process‬ ‭The‬‭regression‬‭testing‬‭process‬‭can‬‭be‬‭performed‬‭across‬‭the‬‭builds‬
R
‭and the‬‭releases‬‭.‬

‭ or‬ ‭example‬‭,‬ ‭How‬ ‭we‬ ‭perform‬ ‭the‬ ‭regression‬ ‭testing‬ ‭if‬ ‭we‬ ‭have‬ ‭different‬ ‭builds‬ ‭as‬ ‭Build‬‭1,‬
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‬ ‭the‬‭test‬‭cases;‬‭for‬‭example,‬‭they‬‭write‬‭900‬‭test‬
‭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.‬
‭●‬ ‭After‬‭that,‬‭the‬‭testing‬‭team‬‭will‬‭start‬‭writing‬‭the‬‭test‬‭case‬‭for‬‭the‬‭new‬‭features,‬‭and‬‭they‬‭write‬
‭about 150 new test cases.‬
‭●‬ ‭Once‬‭it‬‭is‬‭done,‬‭they‬‭will‬‭begin‬‭testing‬‭the‬‭old‬‭features‬‭with‬‭the‬‭help‬‭of‬‭900‬‭test‬‭cases‬‭to‬‭verify‬
‭that adding the new feature has damaged the old features or not.‬
‭●‬ ‭Here, testing the old features is known as‬‭Regression 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‬ ‭There‬‭is‬‭no‬‭regression‬‭testing‬‭in‬‭Release#1‬‭because‬‭there‬‭is‬‭no‬‭modification‬‭happen‬‭in‬‭the‬
‭Release#1 as the release is new itself.‬

‭ tep2‬ ‭The‬ ‭concept‬ ‭of‬ ‭Regression‬ ‭testing‬‭starts‬‭from‬‭Release#2‬‭when‬‭the‬‭customer‬‭gives‬‭some‬


S
‭new requirements.‬
‭ tep3‬ ‭After‬ ‭getting‬ ‭the‬ ‭new‬ ‭requirements‬ ‭(modifying‬ ‭features)‬ ‭first,‬ ‭they‬ ‭(the‬ ‭developers‬ ‭and‬
S
‭test engineers) will understand the needs before going to the impact analysis.‬

‭ tep4‬ ‭After‬‭understanding‬‭the‬‭new‬‭requirements,‬‭we‬‭will‬‭perform‬‭one‬‭round‬‭of‬‭impact‬‭analysis‬
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
‭developer‬‭based‬‭on‬‭their‬‭coding‬‭knowledge,‬‭and‬‭most‬‭importantly,‬‭it‬‭is‬‭done‬‭by‬‭the‬‭test‬‭engineer‬
‭because they have the product knowledge.‬

‭ tep6‬ ‭Once‬ ‭we‬ ‭are‬ ‭done‬ ‭with‬‭the‬‭impact‬‭area,‬‭then‬‭the‬‭developer‬‭will‬‭prepare‬‭the‬‭impact‬‭area‬


S
‭(document),‬‭and‬‭the‬‭customer‬‭will‬‭also‬‭prepare‬‭the‬‭impact‬‭area‬‭document‬‭so‬‭that‬‭we‬‭can‬‭achieve‬
‭the maximum coverage of impact analysis.‬

‭ tep7‬ ‭After‬ ‭completing‬ ‭the‬ ‭impact‬ ‭analysis,‬ ‭the‬ ‭developer,‬‭the‬‭customer,‬‭and‬‭the‬‭test‬‭engineer‬


S
‭will‬‭send‬‭the‬‭Reports#‬‭of‬‭the‬‭impact‬‭area‬‭documents‬‭to‬‭the‬‭Test‬‭Lead.‬‭And‬‭in‬‭the‬‭meantime,‬‭the‬
‭test engineer and the developer are busy working on the new test case.‬

‭ tep8‬ ‭Once‬‭the‬‭Test‬‭lead‬‭gets‬‭the‬‭Reports#,‬‭he/she‬‭will‬‭consolidate‬‭the‬‭reports‬‭and‬‭stored‬‭in‬‭the‬
S
‭test case requirement repository for the release#1.‬

‭ tep9‬ ‭After‬‭that,‬‭the‬‭Test‬‭Lead‬‭will‬‭take‬‭the‬‭help‬‭of‬‭RTM‬‭and‬‭pick‬‭the‬‭necessary‬‭regression‬‭test‬
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.‬
‭●‬ ‭Regression‬‭test‬‭suite:‬‭Here,‬
‭we‬ ‭will‬‭save‬‭all‬‭the‬‭impact‬
‭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‬ ‭new‬‭test‬‭cases,‬‭the‬‭test‬
S
‭lead will‬‭assign the regression test case‬‭to the test engineer.‬
‭ tep11‬ ‭When‬‭all‬‭the‬‭regression‬‭test‬‭cases‬‭and‬‭the‬‭new‬‭features‬‭are‬‭stable‬‭and‬‭pass‬‭,‬‭then‬‭check‬
S
‭the‬‭impact‬‭area‬‭using‬‭the‬‭test‬‭case‬‭until‬‭it‬‭is‬‭durable‬‭for‬‭old‬‭features‬‭plus‬‭the‬‭new‬‭features,‬‭and‬
‭then it will be handed over to the customer.‬

‭Types of Regression Testing‬


‭ he different types of Regression Testing are as follows:‬
T
‭●‬ ‭Unit Regression Testing [URT]‬
‭●‬ ‭Regional Regression Testing[RRT]‬
‭●‬ ‭Full or Complete Regression Testing [FRT‬‭]‬
‭PRACTICAL - 7‬
‭AIM :‬‭To identify the usage of Agile Testing.‬
‭ gile‬ ‭testing‬ ‭is‬ ‭an‬ ‭iterative‬ ‭and‬‭incremental‬‭method,‬‭and‬‭the‬‭necessities,‬‭which‬‭develop‬‭during‬
A
‭the‬‭cooperation‬‭between‬‭the‬‭customer‬‭and‬‭self-establish‬‭teams.In‬‭agile‬‭testing,‬‭the‬‭word‬‭"Agile"‬
‭primarily‬‭signifies‬‭something‬‭that‬‭can‬‭be‬‭performed‬‭quickly‬‭and‬‭immediately,‬‭but‬‭also‬‭in‬‭the‬‭area‬
‭of‬ ‭software‬ ‭development.The‬ ‭core-functional‬ ‭agile‬ ‭team‬ ‭implements‬ ‭it‬ ‭in‬ ‭order‬ ‭to‬ ‭test‬ ‭the‬
‭software‬ ‭product‬ ‭and‬ ‭its‬ ‭several‬ ‭modules.‬ ‭The‬ ‭implementation‬ ‭of‬ ‭agile‬ ‭testing‬ ‭makes‬ ‭sure‬ ‭to‬
‭deliver‬ ‭a‬ ‭high‬ ‭quality‬ ‭product‬ ‭as‬ ‭bugs‬ ‭or‬ ‭defects‬ ‭get‬ ‭deleted‬ ‭in‬ ‭the‬ ‭initial‬ ‭stage‬ ‭of‬ ‭the‬ ‭project‬
‭itself.‬

‭ gile‬‭Testing‬‭can‬‭be‬‭created‬‭at‬‭the‬‭beginning‬‭of‬‭the‬‭project‬‭with‬‭endless‬‭incorporation‬‭between‬
A
‭development‬‭and‬‭testing.‬‭It‬‭is‬‭not‬‭a‬‭sequential‬‭but‬‭continuous‬‭process.The‬‭agile‬‭testing‬‭process‬‭is‬
‭a‬ ‭smart‬ ‭way‬ ‭of‬‭testing‬‭complicated‬‭software,‬‭which‬‭accepts‬‭more‬‭effective‬‭results‬‭as‬‭compared‬
‭to‬ ‭the‬ ‭traditional‬ ‭testing‬ ‭procedures.In‬ ‭the‬ ‭modern‬ ‭days‬ ‭of‬ ‭software‬ ‭testing,‬ ‭agile‬ ‭testing‬ ‭has‬
‭gained‬ ‭a‬ ‭lot‬ ‭of‬‭significance.‬‭The‬‭execution‬‭of‬‭agile‬‭testing‬‭will‬‭help‬‭us‬‭identify‬‭the‬‭initial‬‭error‬
‭and elimination, giving better results in less development time and costs.‬

‭ rinciples‬‭of‬‭Agile‬‭Testing‬‭:‬ ‭Agile‬‭Testing‬‭includes‬‭various‬‭different‬‭principles‬‭that‬‭help‬‭us‬‭to‬
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.‬‭Constant‬‭Response‬ ‭The‬‭implementation‬‭of‬‭Agile‬‭testing‬‭delivers‬‭a‬‭response‬‭or‬‭feedback‬‭on‬
‭an‬‭ongoing‬‭basis.‬‭Therefore,‬‭our‬‭product‬‭can‬‭meet‬‭the‬‭business‬‭needs.In‬‭other‬‭words,‬‭we‬‭can‬
‭say‬ ‭that‬ ‭the‬ ‭Product‬ ‭and‬ ‭business‬ ‭requirements‬ ‭are‬ ‭understood‬ ‭throughout‬ ‭the‬ ‭constant‬
‭response.‬
‭2.‬‭Less‬‭Documentation‬ ‭The‬‭execution‬‭of‬‭agile‬‭testing‬‭requires‬‭less‬‭documentation‬‭as‬‭the‬‭Agile‬
‭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.‬‭Continuous‬‭Testing‬ ‭The‬‭agile‬‭test‬‭engineers‬‭execute‬‭the‬‭testing‬‭endlessly‬‭as‬‭this‬‭is‬‭the‬‭only‬
‭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‬
‭development‬‭phase‬‭progresses,‬‭the‬‭customer‬‭can‬‭easily‬‭modify‬‭and‬‭update‬‭requirements.‬‭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.‬‭Involvement‬‭of‬‭the‬‭entire‬‭team‬ ‭As‬‭we‬‭know‬‭that,‬‭the‬‭testing‬‭team‬‭is‬‭the‬‭only‬‭team‬‭who‬‭is‬
‭responsible‬ ‭for‬ ‭a‬ ‭testing‬ ‭process‬ ‭in‬‭the‬‭Software‬‭Development‬‭Life‬‭Cycle‬‭.‬‭But‬‭on‬‭the‬‭other‬
‭hand,‬ ‭in‬ ‭agile‬ ‭testing,‬ ‭the‬ ‭business‬ ‭analysts‬ ‭(BA)‬ ‭and‬ ‭the‬ ‭developers‬ ‭can‬ ‭also‬ ‭test‬ ‭the‬
‭application or the software.‬
‭7.‬‭Test-Driven‬ ‭While‬‭doing‬‭the‬‭agile‬‭testing,‬‭we‬‭need‬‭to‬‭execute‬‭the‬‭testing‬‭process‬‭during‬‭the‬
‭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‬ ‭of‬‭agile‬‭testing,‬‭the‬‭business‬‭team‬‭is‬‭involved.‬‭Therefore,‬
‭we‬ ‭can‬ ‭get‬ ‭continuous‬ ‭feedback‬ ‭that‬ ‭helps‬ ‭us‬ ‭to‬ ‭reduce‬ ‭the‬ ‭time‬ ‭of‬ ‭feedback‬ ‭response‬ ‭on‬
‭development work.‬

‭How is Agile Methodology used in Testing?‬


‭ gile‬ ‭Testing‬ ‭is‬ ‭a‬ ‭fast‬ ‭and‬ ‭informal‬ ‭testing‬ ‭process.‬ ‭In‬ ‭simple‬ ‭terms,‬ ‭we‬ ‭can‬ ‭say‬ ‭that‬ ‭it‬ ‭is‬
A
‭specified‬ ‭as‬ ‭an‬ ‭advanced‬ ‭and‬ ‭dynamic‬ ‭type‬ ‭of‬ ‭Testing‬ ‭that‬‭is‬‭performed‬‭regularly‬‭throughout‬
‭every‬‭iteration‬‭of‬‭the‬‭SDLC‬‭(Software‬‭Development‬‭Life‬‭Cycle)‬‭by‬‭the‬‭agile‬‭test‬‭engineers.‬‭If‬
‭we‬ ‭deliver‬ ‭the‬ ‭software‬ ‭quickly‬ ‭with‬ ‭the‬ ‭best‬‭of‬‭the‬‭attributes,‬‭and‬‭customer‬‭satisfaction‬‭is‬‭the‬
‭primary concern at some stage in the agile testing process.‬
‭ gile‬ ‭Testing‬ ‭Methodologies‬ ‭When‬ ‭we‬ ‭are‬ ‭executing‬ ‭the‬ ‭agile‬ ‭testing,‬ ‭the‬ ‭team‬ ‭takes‬ ‭help‬
A
‭from several agile methodologies, which support them in accomplishing the precise results.‬

‭ ome of the effective agile testing methodologies are as follows:‬


S
‭●‬ ‭Test-Driven Development (TDD)‬
‭●‬ ‭Behavior Driven Development (BDD)‬
‭●‬ ‭Exploratory Testing‬
‭●‬ ‭Acceptance Test-Driven Development (ATDD)‬
‭●‬ ‭Extreme Programming (XP)‬
‭●‬ ‭Session-Based Testing‬
‭●‬ ‭Dynamic Software Development Method (DSDM)‬
‭●‬ ‭Crystal Methodologies‬

‭ est-Driven‬ ‭Development‬ ‭(TDD)‬ ‭The‬ ‭test-driven‬ ‭development‬ ‭method‬ ‭begins‬ ‭with‬ ‭the‬ ‭test‬
T
‭itself.‬ ‭As‬ ‭the‬‭name‬‭proposes,‬‭the‬‭TDD‬‭varies‬‭upon‬‭the‬‭repetition‬‭of‬‭the‬‭development‬‭cycle.‬‭We‬
‭already‬‭knew‬‭that‬‭the‬‭first‬‭step‬‭in‬‭the‬‭development‬‭cycle‬‭is‬‭to‬‭create‬‭a‬‭unit‬‭test‬‭case.‬‭And‬‭in‬‭the‬
‭next step, we will be designing the code that fits the test case in order to execute the test cases.‬
‭Hence,‬‭the‬‭whole‬‭code‬‭is‬‭designed‬‭until‬‭the‬‭unit‬‭test‬‭passes.‬‭Generally,‬‭test-driven‬‭development‬
‭is‬ ‭executed‬ ‭by‬ ‭using‬ ‭the‬ ‭automated‬ ‭testing‬ ‭tools‬ ‭and‬‭implemented‬‭on‬‭units‬‭and‬‭components‬‭of‬
‭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‬ ‭to‬‭facilitate‬‭the‬‭members‬‭adequately‬‭and‬‭understand‬‭all‬‭the‬‭components‬‭before‬‭the‬
‭development‬‭process‬‭begins.‬‭It‬‭is‬‭constructed‬‭on‬‭the‬‭same‬‭rules‬‭as‬‭TDD‬‭and‬‭ATDD.‬‭Therefore,‬
‭the‬‭code‬‭is‬‭developed‬‭as‬‭per‬‭the‬‭test‬‭case‬‭designed‬‭in‬‭this‬‭testing‬‭methodology‬‭too.‬‭The‬‭primary‬
‭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‬ ‭particular‬‭type‬‭where‬‭the‬
E
‭test‬ ‭engineers‬ ‭have‬ ‭the‬ ‭fundamental‬ ‭freedom‬ ‭to‬ ‭explore‬ ‭the‬ ‭code‬‭and‬‭create‬‭the‬‭most‬‭effective‬
‭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‬ ‭is‬‭a‬‭very‬‭significant‬‭part‬‭of‬‭the‬‭agile‬‭test‬‭as‬‭it‬
‭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‬
‭various‬‭test‬‭cases,‬‭executes‬‭different‬‭tests,‬‭and‬‭records‬‭the‬‭process‬‭to‬‭learn‬‭it‬‭and‬‭understand‬‭its‬
‭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‬
‭members‬‭of‬‭development,‬‭testing,‬‭and‬‭the‬‭customers‬‭come‬‭together‬ ‭in‬ ‭order‬ ‭to‬ ‭develop‬ ‭the‬
‭acceptance‬ ‭test‬ ‭from‬ ‭the‬ ‭customer's‬‭perspective.In‬‭Acceptance‬‭Test‬‭Driven‬‭Development‬‭,‬
‭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‬ ‭denoted‬‭as‬‭XP.‬‭When‬‭there‬‭is‬‭a‬‭continuous‬‭modification‬‭in‬‭the‬‭user‬
‭requirements,‬‭we‬‭will‬‭go‬‭for‬‭the‬‭extreme‬‭programming‬‭methodology.The‬‭XP‬‭will‬‭help‬‭us‬‭deliver‬
‭a‬ ‭quality‬ ‭product,‬ ‭which‬ ‭meets‬ ‭the‬ ‭customer's‬ ‭requirements‬‭that‬‭are‬‭made‬‭clear‬‭throughout‬‭the‬
‭process of development and testing.‬

‭ ession-Based‬‭Testing‬ ‭In‬‭the‬‭row‬‭of‬‭various‬‭agile‬‭testing‬‭methodologies,‬‭the‬‭next‬‭methodology‬
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‬
‭performed‬‭unexpectedly‬‭without‬‭any‬‭planning.‬‭It‬‭is‬‭used‬‭to‬‭help‬‭us‬‭identify‬‭the‬‭hidden‬‭bugs‬‭and‬
‭defects in the particular software.‬

‭ ynamic‬‭Software‬‭Development‬‭Method‬‭(DSDM‬‭)‬‭Another‬‭effective‬‭method‬‭of‬‭agile‬‭testing‬
D
‭is‬ ‭Dynamic‬ ‭Software‬ ‭Development‬ ‭Method.‬ ‭It‬‭is‬‭a‬‭Rapid‬‭Application‬‭Development‬‭(RAD)‬
‭approach‬ ‭that‬ ‭offers‬ ‭a‬ ‭delivery‬ ‭framework‬ ‭to‬‭agile‬‭projects.In‬‭other‬‭words,‬‭we‬‭can‬‭say‬‭that‬‭the‬
‭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
‭methodology‬‭mainly‬‭emphasizes‬‭recording,‬‭cyclic‬‭delivery,‬‭and‬‭wrap-up,‬‭which‬‭is‬‭to‬‭make‬‭sure‬
‭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‬ ‭addition‬‭to‬‭the‬‭four‬‭quadrants,‬‭the‬‭left‬‭two‬
‭specify‬‭the‬‭test‬‭engineer‬‭that‬‭code‬‭to‬‭write,‬‭and‬‭the‬‭right‬‭two‬‭quadrants‬‭help‬‭them‬‭understand‬‭the‬
‭code‬ ‭improved‬ ‭with‬ ‭the‬ ‭support‬ ‭of‬ ‭response‬ ‭to‬ ‭the‬‭left‬‭quadrants.These‬‭agile‬‭testing‬‭quadrants‬
‭may‬‭be‬‭understood‬‭as‬‭a‬‭traditional‬‭process‬‭or‬‭strategies‬‭to‬‭perform‬‭the‬‭end-to-end‬‭agile‬‭testing‬‭of‬
‭a software application in four different stages, as we can see in the following image:‬
‭ gile‬‭Test‬‭Plan‬ ‭As‬‭compared‬‭to‬‭the‬‭waterfall‬‭model,‬‭the‬‭agile‬‭test‬‭plan‬‭is‬‭created‬‭and‬‭updated‬
A
‭for‬ ‭every‬ ‭release.‬ ‭Furthermore,‬ ‭the‬ ‭agile‬ ‭test‬ ‭plan‬ ‭contains‬‭those‬‭types‬‭of‬‭testing‬‭executed‬‭in‬‭a‬
‭specific‬ ‭iteration,‬ ‭such‬ ‭as‬ ‭test‬ ‭environments,‬ ‭test‬ ‭data‬ ‭requirements,‬ ‭test‬ ‭results,‬ ‭and‬
‭infrastructure.‬

‭The agile test plans emphasize the following:‬


‭●‬ ‭Testing‬ ‭Scope:‬ ‭The‬ ‭testing‬ ‭scope‬ ‭specifies‬‭the‬‭sprint‬‭goals,‬‭test‬‭scope,‬‭and‬‭test‬‭coverage‬‭in‬
‭which the test will be implemented.‬
‭●‬ ‭Performance‬ ‭and‬ ‭Load‬ ‭Testing‬‭:‬ ‭Here,‬ ‭it‬ ‭specifies‬ ‭the‬ ‭different‬ ‭testing‬ ‭methods‬ ‭and‬
‭procedures.‬
‭●‬ ‭Types‬‭of‬‭testing‬‭or‬‭levels‬‭as‬‭per‬‭the‬‭feature's‬‭complexity‬‭:‬‭It‬‭defines‬‭those‬‭types‬‭of‬‭testing‬
‭or‬‭levels‬‭of‬‭testing‬‭which‬‭are‬‭going‬‭to‬‭be‬‭used.‬‭And‬‭also‬‭specifies‬‭the‬‭data‬‭and‬‭configurations‬
‭for the test and the environment in which the test will be executed.‬
‭●‬ ‭Mitigation‬ ‭or‬ ‭Risks‬ ‭Plan:‬ ‭It‬ ‭defines‬ ‭the‬ ‭backup‬ ‭plan‬ ‭prepared‬ ‭to‬ ‭overcome‬ ‭the‬ ‭risks‬ ‭or‬
‭issues.‬ ‭And‬ ‭it‬ ‭also‬ ‭identifies‬ ‭the‬ ‭challenges‬ ‭which‬ ‭might‬ ‭face‬ ‭at‬ ‭the‬ ‭time‬ ‭of‬ ‭testing‬ ‭of‬ ‭the‬
‭application in the current release.‬
‭●‬ ‭Resourcing‬‭:‬ ‭It‬ ‭lists‬ ‭out‬ ‭the‬ ‭test‬ ‭tasks‬ ‭and‬ ‭the‬ ‭occurrence‬‭of‬‭tests,‬‭which‬‭defines‬‭how‬‭many‬
‭times the tests will be executed.‬
‭●‬ ‭Establish the New functionalities‬‭which are being tested.‬
‭●‬ ‭Last-minute‬ ‭Modification‬ ‭The‬ ‭most‬ ‭faced‬ ‭challenges‬ ‭during‬ ‭agile‬ ‭testing‬ ‭are‬ ‭last-minute‬
‭modifications‬ ‭by‬ ‭the‬ ‭client,‬ ‭which‬ ‭gives‬ ‭significantly‬ ‭less‬‭time‬‭to‬‭the‬‭testing‬‭team‬‭to‬‭design‬
‭the‬‭test‬‭plan,‬‭which‬‭may‬‭affect‬‭the‬‭product‬‭quality.‬‭And‬‭sometimes,‬‭the‬‭test‬‭engineer‬‭is‬‭often‬
‭required to play a semi- developer role.‬
‭●‬ ‭Tools‬‭Selection‬‭The‬‭selection‬‭of‬‭tools‬‭during‬‭agile‬‭testing‬‭is‬‭essential‬‭because‬‭if‬‭we‬‭select‬‭the‬
‭wrong‬ ‭tool,‬ ‭it‬ ‭will‬ ‭waste‬ ‭our‬‭time‬‭as‬‭well‬‭as‬‭money.As‬‭we‬‭already‬‭knew,‬‭the‬‭Test‬‭execution‬
‭cycles are highly reduced, and for the regression testing, we will have minimal timing.‬
‭●‬ ‭Lack‬‭of‬‭Documentation‬ ‭Another‬‭frequently‬‭faced‬‭challenge‬‭while‬‭executing‬‭agile‬‭testing‬‭is‬
‭the‬‭lack‬‭of‬‭documentation.‬‭The‬‭probabilities‬‭of‬‭error‬‭are‬‭more‬‭agile‬‭as‬‭documentation‬‭is‬‭given‬
‭less importance and ultimately puts more burden on the testing team.‬
‭●‬ ‭Repeated‬ ‭Modifications‬ ‭in‬ ‭the‬ ‭code‬ ‭In‬ ‭an‬ ‭agile‬ ‭method,‬ ‭requirement‬ ‭modification‬ ‭and‬
‭updation are fundamental, making it the major challenge for the Quality assurance team.‬
‭●‬ ‭Limited‬ ‭Test‬ ‭Coverage‬ ‭In‬ ‭agile‬ ‭testing,‬ ‭new‬ ‭features‬ ‭are‬ ‭initiated‬ ‭quickly,‬ ‭decreasing‬ ‭the‬
‭available‬ ‭time‬ ‭for‬ ‭the‬ ‭testing‬ ‭teams‬ ‭to‬ ‭find‬ ‭whether‬ ‭the‬ ‭latest‬ ‭features‬ ‭are‬ ‭as‬ ‭per‬ ‭the‬
‭requirement‬ ‭and‬ ‭address‬ ‭the‬ ‭business‬ ‭suits.After‬ ‭seeing‬ ‭all‬ ‭the‬ ‭frequent‬ ‭challenges,‬ ‭the‬
‭question arises how do we overcome them? Therefore, in the below topic, we are going to.‬

‭ gile Testing life cycle‬


A
‭Just‬‭like‬‭other‬‭types‬‭of‬‭testing‬‭has‬‭their‬‭life‬‭cycle‬‭process,‬‭Agile‬‭Testing‬‭life‬‭cycle‬‭completed‬‭into‬
‭five different phases, as we can see in the following image:‬
‭PRACTICAL - 8‬
‭AIM :‬‭To understand the importance of the SDLC and STLC process.‬
‭ hat SDLC?‬
W
‭SDLC‬ ‭(Software‬ ‭Development‬ ‭Life‬ ‭Cycle)‬ ‭defines‬ ‭all‬ ‭the‬ ‭standard‬ ‭phases‬ ‭which‬‭are‬‭involved‬
‭during‬ ‭the‬ ‭software‬ ‭development‬ ‭process.‬ ‭SDLC‬ ‭life‬‭cycle‬‭is‬‭a‬‭process‬‭of‬‭developing‬‭software‬
‭through a phased manner in the following order‬
1‭ .‬ ‭Requirements Gathering‬
‭2.‬ ‭Design the software‬
‭3.‬ ‭Build the Software‬
‭4.‬ ‭Test‬
‭5.‬ ‭Deployment‬
‭6.‬ ‭Maintenance‬‭.‬
‭Each stage has a definite entry and exit criteria along with deliverables.‬

‭ 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,‬‭STLC‬‭phases‬‭only‬‭deal‬‭with‬‭testing‬‭and‬‭detecting‬‭errors‬‭but‬‭not‬‭development‬
‭itself.‬‭Different‬‭companies‬‭define‬‭different‬‭phases‬‭in‬‭STLC.‬‭However,‬‭the‬‭generic‬‭Software‬‭Test‬
‭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‬ ‭Development‬‭Life‬‭Cycle‬‭whereas‬‭STLC‬‭is‬‭a‬‭Testing‬‭Life‬‭Cycle.‬‭In‬‭SDLC,‬
‭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,‬‭whereas‬‭in‬‭STLC‬‭testing‬‭team‬‭prepares‬‭the‬‭test‬
w
‭environment‬ ‭and‬ ‭executes‬ ‭test‬ ‭cases.‬‭The‬‭SDLC‬‭life‬‭cycle‬‭helps‬‭a‬‭team‬‭to‬‭complete‬‭successful‬
‭development of the software while STLC phases only cover software testing.‬
‭Why Use SDLC?‬
‭Here, are some prime reasons for using SDLC method:‬

‭ ow to write a TEST CASE Software Testing Tutorial‬


H
‭●‬ ‭It‬ ‭aims‬ ‭to‬ ‭produce‬ ‭a‬ ‭high-quality‬ ‭software‬ ‭system‬ ‭which‬ ‭helps‬ ‭you‬ ‭to‬ ‭meet‬ ‭the‬ ‭customer‬
‭expectations‬
‭●‬ ‭A‬ ‭formal‬ ‭review‬ ‭is‬ ‭created‬ ‭after‬ ‭completion‬ ‭of‬ ‭every‬ ‭stage‬ ‭that‬ ‭provides‬ ‭optimum‬
‭management control.‬
‭●‬ ‭SDLC helps you to create considerable system documentation‬
‭●‬ ‭It‬ ‭produces‬ ‭many‬ ‭intermediate‬ ‭products‬ ‭which‬ ‭can‬ ‭be‬ ‭reviewed‬ ‭to‬ ‭verify‬ ‭whether‬ ‭they‬ ‭can‬
‭meet the user’s needs and are according to the stated requirement.‬
‭●‬ ‭SDLC‬ ‭helps‬ ‭you‬ ‭to‬ ‭ensures‬ ‭that‬ ‭system‬ ‭requirements‬ ‭can‬ ‭be‬ ‭traced‬ ‭back‬ ‭to‬ ‭stated‬ ‭business‬
‭requirements‬
‭●‬ ‭Every phase has a specific deliverable, entry and exit criteria‬
‭●‬ ‭Development‬‭stages‬‭go‬‭one‬‭by‬‭one‬‭which‬‭is‬‭an‬‭ideal‬‭option‬‭for‬‭the‬‭small‬‭or‬‭mid-sized‬‭projects‬
‭where requirements are clear.‬

‭ 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‬

‭Origin‬ ‭Development Life Cycle‬ ‭Testing Life Cycle‬

‭ he‬‭main‬‭object‬‭of‬‭SDLC‬‭life‬‭cycle‬
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‬ ‭requirements‬‭and‬‭create‬ ‭functional‬ ‭and‬ ‭non-functional‬
‭Gathering‬
‭Development Plan‬ ‭documents‬ a‭ nd‬ ‭create‬‭System‬‭Test‬
‭Plan‬

I‭ n‬ ‭SDLC,‬ ‭the‬ ‭development‬ ‭team‬


‭ igh & Low-‬
H I‭ n‬ ‭STLC,‬ ‭the‬ ‭test‬ ‭analyst‬ ‭creates‬
‭creates‬ ‭the‬ ‭high‬ ‭and‬ ‭low-level‬
‭Level Design‬ ‭the Integration Test Plan‬
‭design plans‬

‭ he real code is developed,‬


T
‭ he‬ ‭testing‬ ‭team‬ ‭prepares‬ ‭the‬ ‭test‬
T
‭Coding‬ ‭and‬ ‭actual‬ ‭work‬ ‭takes‬ ‭place‬ ‭as‬ ‭per‬
‭environment and executes them‬
‭the design documents.‬

‭Testers,‬ ‭execute‬ ‭regression‬ ‭suits,‬


‭Maintenance‬ ‭ DLC‬ ‭phase‬ ‭also‬ ‭includes‬ ‭post-‬
S
‭ sually‬‭automation‬‭scripts‬‭to‬‭check‬
u
‭deployment support and updates.‬
‭maintenance code deployed.‬

‭ 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‬

You might also like