Database testing
ડેટાબેઝ પરીક્ષણમાં સામાન્ય રીતે સ્તરવાળી પ્રક્રિયાનો સમાવેશ થાય છે, જેમાં યુઝર ઇન્ટરફેસ (UI) સ્તર, વ્યવસાય સ્તર, ડેટા એક્સેસ સ્તર અને ડેટાબેઝનો સમાવેશ થાય છે. યુઆઈ સ્તર ડેટાબેઝના ઇન્ટરફેસ ડિઝાઇન સાથે કામ કરે છે, જ્યારે વ્યવસાય સ્તરમાં વ્યવસાયિક વ્યૂહરચનાઓને ટેકો આપતા ડેટાબેઝનો સમાવેશ થાય છે. હેતુઓ ડેટાબેઝ, સર્વર પર એકબીજા સાથે જોડાયેલી ફાઇલોનો સંગ્રહ, માહિતી સંગ્રહિત કરવી, સમાન પ્રકારના ડેટા સાથે વ્યવહાર ન કરી શકે, એટલે કે. ડેટાબેઝ વિજાતીય હોઈ શકે છે. પરિણામે, મોટા ડેટાબેઝ સિસ્ટમોમાં ઘણા પ્રકારની અમલીકરણ અને એકીકરણ ભૂલો થઈ શકે છે, જે સિસ્ટમની કામગીરી, વિશ્વસનીયતા, સુસંગતતા અને સુરક્ષાને નકારાત્મક અસર કરે છે. આમ, ડેટાબેઝ મેનેજમેન્ટ સિસ્ટમના ACID ગુણધર્મો (અણુતા, સુસંગતતા, અલગતા અને ટકાઉપણું) ને સંતોષે તેવી ડેટાબેઝ સિસ્ટમ મેળવવા માટે પરીક્ષણ કરવું મહત્વપૂર્ણ છે. સૌથી મહત્વપૂર્ણ સ્તરોમાંનું એક ડેટા એક્સેસ સ્તર છે, જે સંદેશાવ્યવહાર પ્રક્રિયા દરમિયાન સીધા ડેટાબેઝ સાથે કામ કરે છે. ડેટાબેઝ પરીક્ષણ મુખ્યત્વે આ સ્તર પર થાય છે અને તેમાં ઉત્પાદન ડેટાબેઝની ગુણવત્તા નિયંત્રણ અને ગુણવત્તાની ખાતરી જેવી પરીક્ષણ વ્યૂહરચનાઓનો સમાવેશ થાય છે. આ વિવિધ સ્તરો પર પરીક્ષણનો ઉપયોગ ડેટાબેઝ સિસ્ટમોની સુસંગતતા જાળવવા માટે વારંવાર થાય છે, જે સામાન્ય રીતે નીચેના ઉદાહરણોમાં જોવા મળે છેઃ વ્યવસાયના દૃષ્ટિકોણથી ડેટા મહત્વપૂર્ણ છે. ગૂગલ અથવા સિમેન્ટેક જેવી કંપનીઓ, જે ડેટા સ્ટોરેજ સાથે સંકળાયેલી છે, તેમની પાસે ટકાઉ અને સુસંગત ડેટાબેઝ સિસ્ટમ હોવી જરૂરી છે. જો દાખલ કરો, કાઢી નાખો અને અપડેટ જેવી ડેટાબેઝ કામગીરીઓ પહેલા સુસંગતતા માટે ડેટાબેઝનું પરીક્ષણ કર્યા વિના કરવામાં આવે, તો કંપની સમગ્ર સિસ્ટમના ક્રેશનું જોખમ લે છે. કેટલીક કંપનીઓ પાસે વિવિધ પ્રકારના ડેટાબેઝ હોય છે, અને વિવિધ ધ્યેયો અને મિશન પણ હોય છે. કહેવાતા લક્ષ્યોને પહોંચી વળવા માટે કાર્યક્ષમતાના સ્તરને હાંસલ કરવા માટે, તેઓએ તેમની ડેટાબેઝ સિસ્ટમની ચકાસણી કરવાની જરૂર છે. પરીક્ષણના વર્તમાન અભિગમ કરતાં વધુની જરૂર પડી શકે છે જેમાં વિકાસકર્તાઓ ઔપચારિક રીતે ડેટાબેઝનું પરીક્ષણ કરે છે. જો કે, આ અભિગમ પૂરતો અસરકારક નથી કારણ કે ડેટાબેઝ ડેવલપર્સ સંચાર અંતરાયોને કારણે પરીક્ષણ પ્રક્રિયાને ધીમી કરે તેવી શક્યતા છે. એક અલગ ડેટાબેઝ પરીક્ષણ ટીમ સલાહભર્યું લાગે છે. ડેટાબેઝ પરીક્ષણ મુખ્યત્વે ડેટાબેઝમાં ભૂલો શોધવાનું કામ કરે છે જેથી તેમને દૂર કરી શકાય. આનાથી ડેટાબેઝ અથવા વેબ-આધારિત સિસ્ટમની ગુણવત્તામાં સુધારો થશે. ડેટાબેઝ પરીક્ષણને ડેટાબેઝ ક્રેશ, તૂટેલા નિવેશ, કાઢી નાખવા અથવા સુધારાઓ જેવી અન્ય સમસ્યાઓનો સામનો કરવા માટેની વ્યૂહરચનાઓથી અલગ પાડવું જોઈએ. અહીં, ડેટાબેઝ રીફેક્ટરિંગ એ એક ઉત્ક્રાંતિ તકનીક છે જે લાગુ થઈ શકે છે. પરીક્ષણો અને પ્રક્રિયાઓના પ્રકાર આ આંકડો બ્લેક-બોક્સ પરીક્ષણ અને વ્હાઇટ-બોક્સ પરીક્ષણ જેવી વિવિધ ડેટાબેઝ પરીક્ષણ પદ્ધતિઓ દરમિયાન સામેલ પરીક્ષણના ક્ષેત્રોને સૂચવે છે. બ્લેક-બોક્સ બ્લેક-બોક્સ પરીક્ષણમાં પરીક્ષણ ઇન્ટરફેસ અને ડેટાબેઝના એકીકરણનો સમાવેશ થાય છે, જેમાં નીચેનાનો સમાવેશ થાય છેઃ ડેટાનું મેપિંગ (મેટાડેટા સહિત) આવતા ડેટાની ચકાસણી ક્વેરી ફંક્શન્સમાંથી આઉટગોઇંગ ડેટાની ચકાસણી વિવિધ તકનીકો જેવી કે કોઝ ઇફેક્ટ ગ્રાફિંગ તકનીક, સમાનતા પાર્ટીશનિંગ અને સીમા-મૂલ્ય વિશ્લેષણ. આ તકનીકોની મદદથી, ડેટાબેઝની કાર્યક્ષમતાનું સંપૂર્ણ પરીક્ષણ કરી શકાય છે. બ્લેક બોક્સ પરીક્ષણના ફાયદા અને ગેરફાયદાઓમાં નીચેનાનો સમાવેશ થાય છેઃ બ્લેક બોક્સ પરીક્ષણમાં ટેસ્ટ કેસ જનરેશન એકદમ સરળ છે. તેમની પેઢી સોફ્ટવેર વિકાસથી સંપૂર્ણપણે સ્વતંત્ર છે અને વિકાસના પ્રારંભિક તબક્કામાં કરી શકાય છે. પરિણામે, પ્રોગ્રામરને ડેટાબેઝ એપ્લિકેશન કેવી રીતે ડિઝાઇન કરવી તેનું વધુ સારું જ્ઞાન હોય છે અને ડીબગિંગ માટે ઓછો સમય લે છે. બ્લેક બોક્સ પરીક્ષણના કેસ વિકસાવવા માટેનો ખર્ચ વ્હાઇટ બોક્સ પરીક્ષણના કેસ વિકસાવવા કરતાં ઓછો છે. બ્લેક બોક્સ પરીક્ષણની મુખ્ય ખામી એ છે કે તે અજ્ઞાત છે કે કાર્યક્રમનું કેટલું પરીક્ષણ કરવામાં આવી રહ્યું છે. ઉપરાંત, કેટલીક ભૂલો શોધી શકાતી નથી. વ્હાઇટ-બોક્સ વ્હાઇટ-બોક્સ પરીક્ષણ મુખ્યત્વે ડેટાબેઝના આંતરિક માળખા સાથે કામ કરે છે. સ્પષ્ટીકરણની વિગતો વપરાશકર્તાથી છુપાયેલી હોય છે. તેમાં ડેટાબેઝ ટ્રિગર્સ અને લોજિકલ વ્યૂનું પરીક્ષણ સામેલ છે જે ડેટાબેઝ રીફેક્ટરિંગને ટેકો આપવા જઈ રહ્યા છે. તે ડેટાબેઝ કાર્યો, ટ્રિગર્સ, દૃશ્યો, એસક્યુએલ ક્વેરીઝ વગેરેનું મોડ્યુલ પરીક્ષણ કરે છે. તે ડેટાબેઝ કોષ્ટકો, ડેટા મોડેલો, ડેટાબેઝ સ્કીમા વગેરેને માન્ય કરે છે. તે સંદર્ભની અખંડિતતાના નિયમોની તપાસ કરે છે. તે ડેટાબેઝ સુસંગતતા ચકાસવા માટે મૂળભૂત કોષ્ટક મૂલ્યો પસંદ કરે છે. વ્હાઇટ બોક્સ પરીક્ષણમાં ઉપયોગમાં લેવાતી તકનીકો સ્થિતિ કવરેજ, નિર્ણય કવરેજ, નિવેદન કવરેજ, સાયક્લોમેટિક જટિલતા છે. ડેટાબેઝ પરીક્ષણમાં વ્હાઇટ બોક્સ પરીક્ષણનો મુખ્ય ફાયદો એ છે કે કોડિંગ ભૂલો શોધવામાં આવે છે, જેથી ડેટાબેઝમાં આંતરિક ભૂલોને દૂર કરી શકાય છે. વ્હાઇટ બોક્સ પરીક્ષણની મર્યાદા એ છે કે એસક્યુએલ નિવેદનો આવરી લેવામાં આવતા નથી. ડેટાબેઝ પરીક્ષણ માટે પરીક્ષણના કિસ્સાઓ ઉત્પન્ન કરતી વખતે, એસક્યુએલ નિવેદનના શબ્દાર્થ પરીક્ષણના કિસ્સાઓમાં પ્રતિબિંબિત થવાની જરૂર છે. તે હેતુ માટે, WHITE BOX ડેટાબેઝ એપ્લિકેશન ટેકનીક "(WHODATE)" નામની તકનીકનો ઉપયોગ કરવામાં આવે છે. આકૃતિમાં બતાવ્યા પ્રમાણે, એસક્યુએલ નિવેદનોને સ્વતંત્ર રીતે જી. પી. એલ. નિવેદનોમાં રૂપાંતરિત કરવામાં આવે છે, ત્યારબાદ પરીક્ષણના કિસ્સાઓ પેદા કરવા માટે પરંપરાગત સફેદ બોક્સ પરીક્ષણ કરવામાં આવે છે જેમાં એસક્યુએલ શબ્દાર્થનો સમાવેશ થાય છે. ચાર તબક્કા સેટ ફિક્સ્ચર ટેસ્ટ રન પરિણામ ચકાસણી એક સેટ ફિક્સ્ચર પરીક્ષણમાં પ્રવેશતા પહેલા ડેટાબેઝની પ્રારંભિક સ્થિતિનું વર્ણન કરે છે. ફિક્સર સેટ કર્યા પછી, ડેટાબેઝ વર્તણૂકનું નિર્ધારિત પરીક્ષણ કેસો માટે પરીક્ષણ કરવામાં આવે છે. પરિણામના આધારે, પરીક્ષણના કિસ્સાઓમાં ફેરફાર કરવામાં આવે છે અથવા જેમ છે તેમ રાખવામાં આવે છે. "ટિયર ડાઉન" તબક્કો ક્યાં તો પરીક્ષણને સમાપ્ત કરવામાં અથવા અન્ય પરીક્ષણ કેસો સાથે ચાલુ રાખવામાં પરિણમે છે. સફળ ડેટાબેઝ પરીક્ષણ માટે દરેક એક પરીક્ષણ દ્વારા ચલાવવામાં આવતા નીચેના કાર્યપ્રવાહને સામાન્ય રીતે ચલાવવામાં આવે છેઃ ડેટાબેઝને સાફ કરો જો પરીક્ષણક્ષમ ડેટા ડેટાબેઝમાં પહેલેથી જ હાજર હોય, તો ડેટાબેઝને ખાલી કરવાની જરૂર છે. ફિક્સ્ચર ગોઠવોઃ PHPUnit જેવા સાધન પછી ફિક્સ્ચર પર પુનરાવર્તન કરશે અને ડેટાબેઝમાં દાખલ કરશે. ટેસ્ટ ચલાવો, પરિણામ ચકાસો અને પછી ફાડી નાંખોઃ ડેટાબેઝને ખાલી કરવા અને ફિક્સરની યાદી બનાવવા માટે રીસેટ કર્યા પછી, ટેસ્ટ ચલાવવામાં આવે છે અને આઉટપુટ ચકાસવામાં આવે છે. જો આઉટપુટ અપેક્ષા મુજબ હોય, તો ટિયર ડાઉન પ્રક્રિયા અનુસરે છે, અન્યથા પરીક્ષણનું પુનરાવર્તન કરવામાં આવે છે. માઇક્રોસોફ્ટ એસક્યુએલ સર્વરનો ઉપયોગ કરતી વખતે મૂળભૂત તકનીકો એસક્યુએલ ક્વેરી એનાલાઇઝર એક ઉપયોગી સાધન છે. એક સામાન્ય રીતે વપરાતું કાર્ય, ક્રિએટ _ ઇનપુટ _ ડાયલોગ ["લેબલ"] નો ઉપયોગ વપરાશકર્તા ઇનપુટ્સ સાથે આઉટપુટને માન્ય કરવા માટે થાય છે. સ્વચાલિત ડેટાબેઝ પરીક્ષણ માટેના ફોર્મની રચના, ફ્રન્ટ-એન્ડ અને બેક-એન્ડ બનાવે છે, જે ડેટાબેઝ જાળવણી કામદારો માટે મદદરૂપ છે. ડેટા લોડ પરીક્ષણઃ ડેટા લોડ પરીક્ષણ માટે, સ્રોત ડેટાબેઝ અને ગંતવ્ય ડેટાબેઝ વિશેનું જ્ઞાન જરૂરી છે. કામદારો ડી. ટી. એસ. પેકેજનો ઉપયોગ કરીને સ્રોત ડેટાબેઝ અને ગંતવ્ય ડેટાબેઝ વચ્ચેની સુસંગતતા તપાસે છે. સ્રોત ડેટાબેઝને અપડેટ કરતી વખતે, કામદારો તેને લક્ષ્ય ડેટાબેઝ સાથે સરખાવવાની ખાતરી કરે છે. ડેટાબેઝ લોડ પરીક્ષણ પ્રશ્નોના સંચાલન માટે ડેટાબેઝ સર્વરની ક્ષમતા તેમજ ડેટાબેઝ સર્વર અને ક્લાયન્ટના પ્રતિભાવ સમયને માપે છે. ડેટાબેઝ પરીક્ષણમાં, અણુતા, સુસંગતતા, અલગતા, ટકાઉપણું, અખંડિતતા, ટ્રિગર્સનો અમલ અને પુનઃપ્રાપ્તિ જેવા મુદ્દાઓને ઘણીવાર ધ્યાનમાં લેવામાં આવે છે. ડેટાબેઝ પરીક્ષણ માટેનું સેટઅપ જાળવવા માટે ખર્ચાળ અને જટિલ છે કારણ કે ડેટાબેઝ સિસ્ટમ્સ અપેક્ષિત શામેલ, કાઢી નાખવા અને અપડેટ કામગીરી સાથે સતત બદલાતી રહે છે. ડેટાબેઝ વ્યવહારોની સ્થિતિ નક્કી કરવા માટે વધારાનું ઓવરહેડ સામેલ છે. ડેટાબેઝને સાફ કર્યા પછી, નવા પરીક્ષણ કેસોની રચના કરવી પડશે. એસક્યુએલ સિમેન્ટીકને ડેટાબેઝ પરીક્ષણ કિસ્સાઓમાં સમાવવા માટે એસક્યુએલ નિવેદનોને રૂપાંતરિત કરવા માટે એસક્યુએલ જનરેટરની જરૂર છે. ડેટાબેઝ નોર્મલાઇઝેશન સોફ્ટવેર પરીક્ષણ એકમ પરીક્ષણ સંદર્ભો બાહ્ય કડીઓ પ્રકરણ 8 પણ જુઓ. ડેટાબેઝ પરીક્ષણ, PHPUnit મેન્યુઅલ ક્રિએટિંગ ડેટાસેટ્સ ફોર ટેસ્ટિંગ રીલેશ્નલ ડેટાબેઝ SQL ટેસ્ટ કવરેજ એકોલાઇટ ફ્રેમવર્કમાંથી જે. ડી. બી. સી. ને સતત પરીક્ષણ ડેટાબેઝ એન્જિન ડેટાબેઝ નોર્મલાઇઝેશનની મજાક ઉડાવવા માટે