Note :

*** తెలుగు లో classes కదా అని అన్ని తెలుగు పదాల లోనే ఉంటాయి అనుకోకండి Easy గా అర్థం కావడం కోసం కొన్ని ఇంగ్లీష్ పదాలనే వాడటం జరగింది.***

Thursday, 7 May 2015

V-Model :

                                                     V-Model :

               Waterfall Model లో ఉన్న ప్రధానమైన drawback ఏమిటంటే చివరి విభాగాలలో (అంటే కోడింగ్ తర్వాతి విబాగాలు ) మాత్రమే మనం testing చేస్తాం మరియు ఏమైనా defects ఉంటె at end stage లో మాత్రమే కనుగొనడం జరుగుతుంది .
  • ఇలా చేయడం ద్వార time మరియు money చాల ఖర్చు అవుతుంది. దీని గురించి వివరంగా " cost to fix the defects " లో తెలుసుకోవచ్చు.
  • ఇటువంటి సమస్యలను overcome చేయడం కోసం రుపొందినచిందే “V Model”
  • ఇప్పుడు ఎక్కువగా వాడుతున్న software development process లో V model ఒకటి.
  • దీనినే verification and validation model అని కూడా అంటారు.

V-Model గురించి తెలుసుకునే ముందుగా Verification మరియు  Validation అంటే ఏంటో తెలుసుకుందాం.

Verification: ఇది ఒక static analysis technique. ఈ పద్దతిలో code execute చేయకుండ టెస్టింగ్ చేస్తాము.
 
Examples  – Reviews, Inspection and walk-through.

 
Validation: ఇది ఒక dynamic analysis technique. ఈ పద్దతిలో code execute చేసి టెస్టింగ్ చేస్తాము.
 
Examples -  functional and non-functional testing techniques.

 
V - Model : 

  • ఈ పద్దతి లో development, QA ఏకకాలం లో జరుగుతాయి.
  • ఎడమ చేతి వైపు development (అభివృద్ధి ) కార్యకలాపాలు చూపిస్తుంది మరియు కుడి వైపు testing కార్యకలాపాలు చూపిస్తుంది. 



ఎడమ చేతి వైపు (Left Hand side ):
ముందుగా చెప్ప్పిన విధంగా ఎడమ చేతి వైపు development (అభివృద్ధి ) కార్యకలాపాలు జరుగుతాయి.

Requirement analysis: 
  • ఈ విభాగం లో requirements ని collect, analyze చేస్తారు.
  • ప్రాజెక్ట్ యొక్క objectives పూర్తిగా తెలుసుకోవడం కోసం Brain storming sessions/walkthrough, interviews ని జరుపుతారు.

Verification activities : Requirements reviews.
Validation activities :Creation of UAT (User acceptance test) test cases
Artifacts produced : Requirements understanding document, UAT test cases.

 
System requirements / High level design: 
  • ఈ విభాగంలో high level design of the software ని  build చేస్తారు .
  • requirements ని ఏ విధం గా implement చేయవచ్చో చున్నం గా పరిశిలిస్తారు. 
  • Hardware / software ఏమేం కావాలో ఒక నిర్ణయానికి వస్తారు.

Verification activities: Design reviews
Validation activities: Creation of System test plan and cases, Creation of traceability metrics
Artifacts produced: System test cases, Feasibility reports, System test plan, Hardware software requirements, and modules to be created etc.

 
Architectural design:  
  • ఈ విభాగం లో  high level design ఆధారంగా software architecture ని రూపొందిస్తారు.
  • The modules, వాటి మద్య  relationships మరియు dependencies ని రూపొందిస్తారు.
  • architectural diagrams, database tables ని రూపొందిస్తారు.

Verification activities: Design reviews
Validation activities: Integration test plan and test cases.
Artifacts produced: Design documents, Integration test plan and test cases, Database table designs etc.

 
Module design/ Low level Design:   

  • ఈ విభాగం లో ప్రతి module లేదా software components  యొక్క design ను విడివిడిగా రూపొందిస్తారు.
  • Methods, classes, interfaces, data types మొదలైనవి అన్ని ఈ దశ లో పూర్తి చేస్తారు.

Verification activities: Design reviews
Validation activities: Creation and review of unit test cases.
Artifacts produced: Unit test cases,

 
Implementation / Code:
  • ఈ విభాగం లో అసలైన కోడింగ్ పని మొదలవుతుంది.

Verification activities: Code review, test cases review
Validation activities: Creation of functional test cases.
Artifacts produced: test cases, review checklist.

 
కుడిచేతి వైపు (Right Hand Side ):
              ముందుగా చెప్పినట్లు కుడి చేతి వైపు testing activities లేదా Validation జరుగుతాయి.

Unit Testing:                     
                    ఈ విభాగం లో Low level design దశ లో రుపొందిన్చినటువంటి unit test case ని executed చేయడం జరుగుతుంది.
  • Unit testing  ఒక  white box testing technique.
  • ఈ testing మాములుగా development team చేస్తుంది.

Artifacts produced:  Unit test execution results

 
Integration Testing:  

               ఈ విభాగం లో Architectural design దశ లో రుపొందిన్చినటువంటి integration test cases ని executed చేయడం జరుగుతుంది.
  • Integration Testing  ఇందులో unit tested modules ని integrate చేసి టెస్ట్ చేస్తారు.
  •  expected results వస్తునాయో లేదో పరిశిలిస్తారు.

Artifacts produced: Integration test results.

 
Systems testing:
            అసలైన టెస్టింగ్ ఈ దశ లోనే మొదలవుతుంది అన్ని system test cases, functional test cases మరియు nonfunctional test cases
execute చేస్తారు.

Artifacts produced: Test results, Test logs, defect report, test summary report and updated traceability matrices.

 
User acceptance Testing: 
  • ఇది ఒక  business requirements testing కి సంబంధించినది.
  • ఈ దశ లో business requirements ,user environment లో expected results ని ఇస్తాయో లేదో చెక్ చేస్తారు.
  • Compatibility testing మరియు sometimes nonfunctional testing (Load, stress and volume) testing ను చేస్తారు.

Artifacts produced: UAT results, Updated Business coverage matrices.

 
ఎక్కువ గా V Model ను ఎప్పుడు use చేయాలి ?
  1. Requirement is well defined and not ambiguous
  2. Acceptance criteria are well defined.
  3. Project is short to medium in size.
  4. Technology and tools used are not dynamic.

No comments:

Post a Comment