Service virtualization
સોફ્ટવેર એન્જિનિયરિંગમાં, સર્વિસ વર્ચ્યુઅલાઈઝેશન અથવા સર્વિસ વર્ચ્યુઅલાઈઝેશન એ API-સંચાલિત એપ્લિકેશનો, ક્લાઉડ-આધારિત એપ્લિકેશનો અને સર્વિસ-ઓરિએન્ટેડ આર્કિટેક્ચર જેવા વિજાતીય ઘટક-આધારિત એપ્લિકેશનોમાં ચોક્કસ ઘટકોના વર્તનનું અનુકરણ કરવાની એક પદ્ધતિ છે. તેનો ઉપયોગ સોફ્ટવેર વિકાસ અને ક્યુએ/પરીક્ષણ ટીમોને આશ્રિત સિસ્ટમ ઘટકોની ઍક્સેસ પ્રદાન કરવા માટે થાય છે જે પરીક્ષણ (એયુટી) હેઠળ એપ્લિકેશનનો ઉપયોગ કરવા માટે જરૂરી છે, પરંતુ વિકાસ અને પરીક્ષણ હેતુઓ માટે અનુપલબ્ધ અથવા મુશ્કેલ-ઍક્સેસ છે. આશ્રિત ઘટકોની વર્તણૂક "વર્ચ્યુઅલાઈઝ્ડ" સાથે, પરીક્ષણ અને વિકાસ વાસ્તવિક જીવંત ઘટકોને ઍક્સેસ કર્યા વિના આગળ વધી શકે છે. સેવા વર્ચ્યુઅલાઈઝેશનને વિક્રેતાઓ, ઉદ્યોગ વિશ્લેષકો અને ઉદ્યોગ પ્રકાશનો દ્વારા મજાક કરતાં અલગ તરીકે ઓળખવામાં આવે છે. API સિમ્યુલેશન ટૂલ્સની સરખામણી માટે અહીં જુઓ. વિહંગાવલોકન સેવા વર્ચ્યુઅલાઈઝેશન વિકાસ અને પરીક્ષણ ટીમો પર નિર્ભરતાના અવરોધોને દૂર કરવા માટે સોફ્ટવેર ઘટકોના વર્તનનું અનુકરણ કરે છે. આવા અવરોધો જટિલ, પરસ્પરાવલંબી વાતાવરણમાં થાય છે જ્યારે પરીક્ષણ હેઠળના એપ્લિકેશન સાથે જોડાયેલ ઘટક છેઃ હજી સુધી પૂર્ણ થયું નથી હજી પણ વિકસિત થઈ રહ્યું છે તૃતીય-પક્ષ અથવા ભાગીદાર દ્વારા નિયંત્રિત મર્યાદિત ક્ષમતામાં અથવા અસુવિધાજનક સમયે પરીક્ષણ માટે ઉપલબ્ધ વિવિધ પરીક્ષણ ડેટા સેટઅપ અને અન્ય જરૂરિયાતો સાથે વિવિધ ટીમો દ્વારા એક સાથે પ્રવેશ માટે જરૂરી જોગવાઈ અથવા રૂપરેખાંકિત કરવું મુશ્કેલ લોડ અને પ્રદર્શન પરીક્ષણ માટે પ્રતિબંધિત અથવા ખર્ચાળ હોવા છતાં "સેવા વર્ચ્યુઅલાઈઝેશન" શબ્દ વેબ સેવાઓને વર્ચ્યુઅલાઈઝ કરવા પર તકનીકના પ્રારંભિક ધ્યાનને પ્રતિબિંબિત કરે છે, સેવા વર્ચ્યુઅલાઈઝેશન સંયુક્ત એપ્લિકેશનોના તમામ પાસાઓમાં વિસ્તરે છેઃ સેવાઓ, ડેટાબેઝ, મુખ્ય ફ્રેમ, ઇ. એસ. બી. અને અન્ય ઘટકો કે જે સામાન્ય સંદેશાવ્યવહાર પ્રોટોકોલનો ઉપયોગ કરીને વાતચીત કરે છે. અન્ય સમાન સાધનોને વાયર ટેસ્ટ ડબલ્સ પર API સિમ્યુલેટર, API મોકિંગ ટૂલ્સ કહેવામાં આવે છે. સેવા વર્ચ્યુઅલાઈઝેશન માત્ર ચોક્કસ આશ્રિત ઘટકોના વર્તનનું અનુકરણ કરે છે જેનો વિકાસકર્તાઓ અથવા પરીક્ષકોએ તેમના અંત-થી-અંતના વ્યવહારો પૂર્ણ કરવા માટે ઉપયોગ કરવાની જરૂર છે. સમગ્ર પ્રણાલીઓને વર્ચ્યુઅલાઈઝ કરવાને બદલે, તે વિકાસ અને પરીક્ષણ કાર્યોના અમલીકરણ માટે નિર્ણાયક આશ્રિત વર્તણૂકના માત્ર ચોક્કસ ભાગોને વર્ચ્યુઅલાઈઝ કરે છે. આ માત્ર પૂરતું એપ્લિકેશન તર્ક પ્રદાન કરે છે જેથી વિકાસકર્તાઓ અથવા પરીક્ષકોને વાસ્તવિક સેવા પૂર્ણ થવાની અને સહેલાઈથી ઉપલબ્ધ થવાની રાહ જોયા વિના તેમને જે જોઈએ છે તે મળે. દાખલા તરીકે, સમગ્ર ડેટાબેઝને વર્ચ્યુઅલાઈઝ કરવાને બદલે (અને તમામ સંકળાયેલ પરીક્ષણ ડેટા મેનેજમેન્ટ તેમજ દરેક પરીક્ષણ સત્ર માટે ડેટાબેઝ સેટ કરવાનું), તમે મોનીટર કરો છો કે એપ્લિકેશન ડેટાબેઝ સાથે કેવી રીતે ક્રિયાપ્રતિક્રિયા કરે છે, પછી તમે સંબંધિત ડેટાબેઝ વર્તનનું અનુકરણ કરો છો (એસક્યુએલ ક્વેરીઝ કે જે ડેટાબેઝમાં પસાર થાય છે, અનુરૂપ પરિણામ સેટ કે જે પરત કરવામાં આવે છે, અને તેથી આગળ). એપ્લિકેશન સર્વિસ વર્ચ્યુઅલાઈઝેશનમાં "વર્ચ્યુઅલ એસેટ" બનાવવી અને ગોઠવવાનો સમાવેશ થાય છે જે વાસ્તવિક ઘટકની વર્તણૂકનું અનુકરણ કરે છે જે પરીક્ષણ હેઠળ એપ્લિકેશનનો ઉપયોગ કરવા માટે જરૂરી છે, પરંતુ વિકાસ અને પરીક્ષણ હેતુઓ માટે ઍક્સેસ કરવું મુશ્કેલ અથવા અશક્ય છે. વર્ચ્યુઅલ એસેટ એ વિનંતીઓ સાંભળીને અને યોગ્ય કામગીરી સાથે યોગ્ય પ્રતિસાદ પરત કરીને આશ્રિત ઘટક માટે વપરાય છે. ડેટાબેઝ માટે, આમાં એસક્યુએલ સ્ટેટમેન્ટ સાંભળવું, પછી ડેટા સ્રોત પંક્તિઓ પરત કરવી શામેલ હોઈ શકે છે. વેબ સેવા માટે, આમાં એચટીટીપી, જેએમએસ અથવા એમક્યુ પર એક્સએમએલ સંદેશ સાંભળવો, પછી અન્ય એક્સએમએલ સંદેશ પરત કરવો શામેલ હોઈ શકે છે. વર્ચ્યુઅલ એસેટની કાર્યક્ષમતા અને કામગીરી આશ્રિત ઘટકની વાસ્તવિક કાર્યક્ષમતા/કામગીરીને પ્રતિબિંબિત કરી શકે છે, અથવા તે અસાધારણ પરિસ્થિતિઓનું અનુકરણ કરી શકે છે (જેમ કે ભારે ભાર અથવા ભૂલની સ્થિતિ) તે નક્કી કરવા માટે કે પરીક્ષણ હેઠળની એપ્લિકેશન તે સંજોગોમાં કેવી પ્રતિક્રિયા આપે છે. વર્ચ્યુઅલ અસ્કયામતો સામાન્ય રીતે આના દ્વારા બનાવવામાં આવે છેઃ પરીક્ષણ હેઠળની એપ્લિકેશનમાંથી સિસ્ટમનો ઉપયોગ કરવામાં આવે ત્યારે ઘટકો વચ્ચે જીવંત સંદેશાવ્યવહારનું રેકોર્ડિંગ (એયુટી) ઘટકો વચ્ચે ઐતિહાસિક સંદેશાવ્યવહારનું પ્રતિનિધિત્વ કરતા લોગ પ્રદાન કરવું સેવા ઇન્ટરફેસ વિશિષ્ટતાઓનું વિશ્લેષણ કરવું (જેમ કે ડબ્લ્યુએસડીએલ) વિવિધ ઇન્ટરફેસ નિયંત્રણો અને ડેટા સ્રોત મૂલ્યો સાથે જાતે વર્તનને વ્યાખ્યાયિત કરવું તેઓ પછી ચોક્કસ ડેટા, કાર્યક્ષમતા અને પ્રતિસાદ સમયનું પ્રતિનિધિત્વ કરવા માટે વધુ રૂપરેખાંકિત થાય છે. વર્ચ્યુઅલ અસ્કયામતો સ્થાનિક રીતે અથવા ક્લાઉડ (જાહેર અથવા ખાનગી) માં ગોઠવવામાં આવે છે. આશ્રિત ઘટકોની જગ્યાએ વર્ચ્યુઅલ અસ્કયામતોના ઉપયોગ માટે રૂપરેખાંકિત વિકાસ/પરીક્ષણ વાતાવરણ સાથે, વિકાસકર્તાઓ અથવા પરીક્ષકો પછી આશ્રિત ઘટકો પૂર્ણ થાય અથવા સહેલાઈથી સુલભ થાય તેની રાહ જોયા વિના તેઓ જે એપ્લિકેશન પર કામ કરી રહ્યા છે તેનો ઉપયોગ કરી શકે છે. ઉદ્યોગ વિશ્લેષકો અહેવાલ આપે છે કે સર્વિસ વર્ચ્યુઅલાઈઝેશન 'આશ્રિત સોફ્ટવેર' ને કારણે 'સ્કિપિંગ' એકીકરણ પરીક્ષણ સાથે નોંધપાત્ર અનુભવ ધરાવતી આઇટી દુકાનો માટે અને વ્યાજબી રીતે અત્યાધુનિક પરીક્ષણ ઉપયોગ માટે શ્રેષ્ઠ અનુકૂળ છે. આ લેખના પરિચયમાં દર્શાવેલ પરીક્ષણ પર્યાવરણની પહોંચની મર્યાદાઓની આસપાસ કામ કરવાનો વૈકલ્પિક અભિગમ ટીમના સભ્યો માટે પદ્ધતિ સ્ટબ્સ અથવા મોક ઓબ્જેક્ટ્સ વિકસાવવા માટે છે જે આશ્રિત સંસાધનો માટે અવેજી છે. આ અભિગમની ખામી 2000ના દાયકાની શરૂઆતમાં સેવા-લક્ષી સ્થાપત્યના ઉદય સાથે સ્પષ્ટ થઈ. અસંખ્ય આશ્રિત સેવાઓ પર આધાર રાખતી સંયુક્ત એપ્લિકેશનોના પ્રસાર ઉપરાંત 2001માં ચપળ ઘોષણાપત્રના પ્રકાશન પછી ચપળ સોફ્ટવેર વિકાસના ઉદયને કારણે વિકાસકર્તાઓ અથવા પરીક્ષકો માટે આધુનિક એન્ટરપ્રાઇઝ એપ્લિકેશન વિકાસ માટે વિકાસ અને પરીક્ષણ કાર્યોને પૂર્ણ કરવા માટે જરૂરી સ્ટબ્સ અથવા મોક્સની સંખ્યા, અવકાશ અને જટિલતા જાતે વિકસાવવી વધુને વધુ મુશ્કેલ બની હતી. સ્ટબિંગથી સર્વિસ વર્ચ્યુઅલાઈઝેશન સુધીની ઉત્ક્રાંતિનું પ્રથમ પગલું 2002 થી એસ. ઓ. એ. પરીક્ષણ સાધનોમાં પેક કરવામાં આવેલી તકનીક હતી. સર્વિસ વર્ચ્યુઅલાઈઝેશનના પ્રારંભિક અમલીકરણની રચના સરળ સ્ટબ જેવા અનુકરણો વિકસાવવાની પ્રક્રિયાને સ્વચાલિત કરવા માટે કરવામાં આવી હતી જેથી સંયુક્ત એપ્લિકેશન્સનું વધુ અસરકારક રીતે પરીક્ષણ કરી શકાય. જેમ જેમ એન્ટરપ્રાઇઝ સિસ્ટમો વધુને વધુ જટિલ અને વિતરિત થતી ગઈ તેમ, સોફ્ટવેર ટૂલ વિક્રેતાઓએ વધુ પર્યાવરણ-કેન્દ્રિત સેવા વર્ચ્યુઅલાઈઝેશન તરફ ધ્યાન કેન્દ્રિત કર્યું. જ્યારે સ્ટબિંગ હજુ પણ હાથથી વિકાસ અને સ્ટબ્સના વ્યવસ્થાપન દ્વારા પૂર્ણ કરી શકાય છે, જે "સર્વિસ વર્ચ્યુઅલાઈઝેશન" તરીકે જાણીતું બન્યું છે તે તેમની "સર્વિસ વર્ચ્યુઅલાઈઝેશન એસેટ્સ" ના વિકાસ અને જમાવટ માટેના મંચ તરીકે ઉપલબ્ધ કમર્શિયલ ઓફ ધ શેલ્ફ (COTS) સર્વિસ વર્ચ્યુઅલાઈઝેશન તકનીકોમાંના એકનો ઉપયોગ કરીને પૂર્ણ થાય છે. ચપળ અને દેવઓપ્સ ચપળ સોફ્ટવેર વિકાસ અને દેવઓપ્સની વધતી લોકપ્રિયતાએ આ રીતે કામ કરતા સમુદાયોને સેવા વર્ચ્યુઅલાઈઝેશન પહોંચાડવા માટે સાધનોના નવા સમૂહની માંગ ઊભી કરી છે. સતત વિતરણ અને મેઇનફ્રેમ અને મોનોલિથ ડેવલપમેન્ટથી વધુ વિતરિત માઇક્રોસર્વિસ-આધારિત આર્કિટેક્ચર તરફ આગળ વધવું જેવી પ્રથાઓ સર્વિસ વર્ચ્યુઅલાઈઝેશનની ક્ષમતાઓ સાથે સારી રીતે બંધબેસે છે. ચપળ અને દેવઓપ્સ ટીમો હળવા વજનના સાધનો સાથે કામ કરવાનું પસંદ કરે છે જે ઓછા સંચિત ફૂલેલા હોય છે અને કોઈ બોજારૂપ લાઇસન્સિંગ પ્રતિબંધો નથી. API સિમ્યુલેશન ટૂલ્સની સરખામણી પણ જુઓ ટેસ્ટ ડબલ ડિજિટલ ટ્વીન રેફરન્સ સોફ્ટવેર પરીક્ષણ ગુણવત્તા ખાતરી