የሶፍትዌር ሙከራ ወይም የሶፍትዌር ሙከራ የመተግበሪያ ሙከራ በመባልም ይታወቃል።
የሶፍትዌር ሙከራ በዋነኛነት ከበርካታ የተገናኙ ሂደቶች የተሰራ ትልቅ ሂደት ነው። የሶፍትዌር ፍተሻ ዋና አላማ የሶፍትዌሩን ትክክለኛነት ከመሰረታዊ መስፈርቶች አንፃር ከሙሉነት ጋር መለካት ነው። የሶፍትዌር ሙከራ በተለያዩ የፍተሻ ሂደቶች ሶፍትዌርን መመርመር እና መሞከርን ያካትታል። የእነዚህ ሂደቶች ዓላማዎች የሚከተሉትን ሊያካትቱ ይችላሉ-
ከተግባራዊ/ንግድ መስፈርቶች አንጻር የሶፍትዌር ሙሉነት ማረጋገጫ
ሳንካዎችን/ቴክኒካዊ ስህተቶችን መለየት እና ሶፍትዌሩ ከስህተት የጸዳ መሆኑን ማረጋገጥ
የአጠቃቀም ፣ የአፈፃፀም ፣ የደህንነት ፣ የአካባቢ ፣ የተኳኋኝነት እና የመጫን ግምገማ
የተፈተነ ሶፍትዌር ሙሉ በሙሉ ወይም ለአገልግሎት ተስማሚ ለመሆን ሁሉንም ፈተናዎች ማለፍ አለበት። ከልዩ ልዩ የሶፍትዌር መፈተሻ ዘዴዎች ጥቂቶቹ የነጭ ሣጥን ሙከራ፣ የጥቁር ሣጥን ሙከራ እና የግራጫ ሣጥን ሙከራ ያካትታሉ። በተጨማሪም፣ ሶፍትዌሩ በአጠቃላይ፣ በአካላት/አሃዶች ወይም በቀጥታ ስርዓት ውስጥ ሊሞከር ይችላል።
የጥቁር ቦክስ ሙከራ የሶፍትዌር መፈተሻ ዘዴ ሲሆን የሶፍትዌሩን አሠራር በመተንተን ላይ ያተኮረ የስርዓቱን ውስጣዊ አሠራር በተመለከተ ነው። የጥቁር ቦክስ ሙከራ የደንበኞችን ፍላጎት፣ ዝርዝር መግለጫዎች እና የከፍተኛ ደረጃ የንድፍ ስልቶችን ለመተንተን እንደ ዘዴ ተዘጋጅቷል።
የጥቁር ቦክስ ሙከራ ሞካሪ ትክክለኛ እና ልክ ያልሆነ የኮድ አፈፃፀም እና የግቤት ሁኔታዎችን ይመርጣል እና ትክክለኛ የውጤት ምላሾችን ያረጋግጣል።
የጥቁር ቦክስ ሙከራ ተግባራዊ ሙከራ ወይም የተዘጋ ሳጥን ሙከራ በመባልም ይታወቃል።
የፍለጋ ሞተር ለጥቁር ሣጥን ሙከራ ተገዢ የሆነ መተግበሪያ ቀላል ምሳሌ ነው። የፍለጋ ሞተር ተጠቃሚ ወደ የድር አሳሽ የፍለጋ አሞሌ ጽሑፍ ያስገባል። የፍለጋ ፕሮግራሙ የተጠቃሚ ውሂብ ውጤቶችን (ውጤት) አግኝቶ ሰርስሮ ያወጣል።
የጥቁር ቦክስ ሙከራ ጥቅሞች የሚከተሉትን ያካትታሉ:
የብላክ ቦክስ ሙከራም አንዳንድ ጉዳቶች አሉት፣ እንደሚከተለው።
በነጭ ሳጥን ሙከራ ወቅት፣ አስቀድሞ የተመረጡ የውጤት እሴቶችን ለማረጋገጥ ኮድ ቀድሞ ከተመረጡት የግቤት እሴቶች ጋር ይሰራል። የነጭ ሳጥን መፈተሽ ብዙውን ጊዜ የስቱብ ኮድ መፃፍን ያካትታል (አንድ የተወሰነ ባህሪን ለመተካት የሚያገለግል የኮድ ቁራጭ። stub የነባር ኮድ ባህሪን ለምሳሌ የርቀት ማሽን ላይ ያለ አሰራር) እና እንዲሁም አሽከርካሪዎችን ያካትታል።
የነጭ ሳጥን ሙከራ ጥቅሞች የሚከተሉትን ያካትታሉ:
ጉዳቶቹ የሚከተሉትን ያካትታሉ:
የዩኒት ፈተና የሶፍትዌር ልማት ህይወት ዑደት (ኤስዲኤልሲ) አካል ሲሆን አጠቃላይ የፍተሻ ሂደት ለሚፈልጉት ተስማሚነት ወይም ባህሪ በትናንሽ የሶፍትዌር ፕሮግራም ክፍሎች ላይ በተናጠል የሚተገበር ነው።
የዩኒት ፈተና በአብዛኛዎቹ የድርጅት ሶፍትዌር ልማት እንቅስቃሴዎች ውስጥ የሚተገበር የጥራት መለኪያ እና ግምገማ ሂደት ነው። በአጠቃላይ፣ የዩኒት ፈተና የሶፍትዌር ኮድ ምን ያህል ከሶፍትዌር/መተግበሪያ/ፕሮግራሙ አጠቃላይ ግብ ጋር እንደሚስማማ እና ተገቢነቱ በሌሎች ትናንሽ ክፍሎች ላይ እንዴት እንደሚነካ ይገመግማል። የክፍል ሙከራዎች በእጅ ሊደረጉ ይችላሉ - በአንድ ወይም በብዙ ገንቢዎች - ወይም በራስ-ሰር በሚሰራ ሶፍትዌር መፍትሄ።
በሙከራ ጊዜ እያንዳንዱ ክፍል ከዋናው ፕሮግራም ወይም በይነገጽ ተለይቷል። የዩኒት ሙከራዎች በተለምዶ ከዕድገት በኋላ እና ከመሰማራታቸው በፊት ይከናወናሉ, ስለዚህም ውህደትን እና ቀደምት ችግርን መለየትን ያመቻቻል. የአንድ ክፍል መጠን ወይም ስፋት እንደ ፕሮግራሚንግ ቋንቋ፣ ሶፍትዌር መተግበሪያ እና የፈተና ዓላማዎች ይለያያል።
ተግባራዊ ሙከራ በሶፍትዌር ልማት ውስጥ ጥቅም ላይ የሚውል የሙከራ ሂደት ሲሆን ሶፍትዌሩ ሁሉንም መስፈርቶች ማሟላቱን ለማረጋገጥ የሚሞከር ነው። ሶፍትዌሩ በተግባራዊ መስፈርቶቹ ውስጥ የተገለጹ ሁሉም አስፈላጊ ተግባራት እንዳሉት ለማረጋገጥ የፍተሻ መንገድ ነው።
ተግባራዊ ሙከራ በዋነኛነት ጥቅም ላይ የሚውለው አንድ ሶፍትዌር በዋና ተጠቃሚው ወይም በንግዱ የሚፈለገውን ያህል ምርት የሚሰጥ መሆኑን ለማረጋገጥ ነው። በተለምዶ፣ የተግባር ሙከራ እያንዳንዱን የሶፍትዌር ተግባር ከንግድ መስፈርቶች ጋር መገምገም እና ማወዳደርን ያካትታል። ሶፍትዌሩ የሚሞከረው አንዳንድ ተዛማጅ ግብአቶችን በመስጠት ነው ስለዚህም ውፅዓቱ እንዴት እንደሚስማማ፣ እንደሚዛመድ ወይም እንደሚለያይ ለማወቅ ይገመገማል። በተጨማሪም የተግባር ሙከራዎች የሶፍትዌሩን ተጠቃሚነት ያረጋግጣሉ ለምሳሌ የአሰሳ ተግባሮቹ እንደአስፈላጊነቱ መስራታቸውን ያረጋግጡ።
የድጋሚ ፈተና አዳዲስ ችግሮች የሶፍትዌር ለውጦች ውጤቶች መሆናቸውን ለማወቅ ጥቅም ላይ የሚውል የሶፍትዌር ሙከራ አይነት ነው።
ለውጥን ከመተግበሩ በፊት, አንድ ፕሮግራም ይሞከራል. ለውጡ ከተተገበረ በኋላ ለውጡ አዳዲስ ስህተቶችን ወይም ችግሮችን መፍጠሩን ወይም ትክክለኛው ለውጥ የታለመለትን አላማ እንዳሳካ ለማወቅ ፕሮግራሙ በተመረጡ ቦታዎች እንደገና ይሞከራል።
ለትልቅ የሶፍትዌር አፕሊኬሽኖች የመልሶ ማቋቋም ሙከራ አስፈላጊ ነው፣ ምክንያቱም የችግሩን አንድ ክፍል መቀየር ለተለየ የመተግበሪያው ክፍል አዲስ ችግር እንደፈጠረ ለማወቅ ብዙ ጊዜ አስቸጋሪ ነው። ለምሳሌ የባንክ ማመልከቻ ብድር ቅጽ መቀየር ወርሃዊ የግብይት ሪፖርት ውድቀት ሊያስከትል ይችላል. በአብዛኛዎቹ አጋጣሚዎች ችግሮቹ ያልተዛመዱ ሊመስሉ ይችላሉ, ነገር ግን በእውነቱ በመተግበሪያ ገንቢዎች መካከል የብስጭት መንስኤ ሊሆኑ ይችላሉ.
ሌሎች የመልሶ ማቋቋም ሙከራን የሚሹ ሁኔታዎች አንዳንድ ለውጦች የተቀናጀ ግብ ማሳካት አለመቻላቸውን ማወቅ ወይም ያለችግር ጊዜ ካለፈ በኋላ እንደገና ከሚነሱ ጉዳዮች ጋር የተዛመዱ አዳዲስ አደጋዎችን መሞከርን ያካትታሉ።
ዘመናዊ የመልሶ ማቋቋም ሙከራ በዋነኛነት የሚስተናገደው በልዩ የንግድ መሞከሪያ መሳሪያዎች አማካኝነት የነባር ሶፍትዌሮችን ቅጽበታዊ ገጽ እይታ በማንሳት ነው እነዚህም የተለየ ለውጥ ከተተገበሩ በኋላ ይነጻጸራሉ። ለሰብአዊ ሞካሪዎች እንደ አውቶሜትድ የሶፍትዌር ሞካሪዎች ተመሳሳይ ስራዎችን በብቃት ማከናወን የማይቻል ነው. ይህ በተለይ እንደ ባንኮች፣ ሆስፒታሎች፣ የማኑፋክቸሪንግ ኩባንያዎች እና ትላልቅ ቸርቻሪዎች ባሉ ትላልቅ የአይቲ አካባቢዎች ውስጥ ባሉ ትላልቅ እና ውስብስብ የሶፍትዌር አፕሊኬሽኖች እውነት ነው።
የጭንቀት ሙከራ የሶፍትዌር ወይም ሃርድዌር መፈተሽ የሚያመለክተው አፈጻጸሙ በከባድ እና ምቹ ባልሆኑ ሁኔታዎች ውስጥ አጥጋቢ መሆኑን ለማረጋገጥ ነው፣ይህም በከፍተኛ የኔትወርክ ትራፊክ፣በሂደት መጫን፣ሰአትን በማሳነስ፣በመብዛት እና በከፍተኛ የሀብት አጠቃቀም ምክንያት ሊከሰት ይችላል።
አብዛኛዎቹ ስርዓቶች የተለመዱ የአሠራር ሁኔታዎችን ግምት ውስጥ በማስገባት የተገነቡ ናቸው. ስለዚህ, ገደብ ቢያልፍም, ስርዓቱ በእድገት ወቅት የተፈተነ ውጥረት ከሆነ, ስህተቶች ምንም አይደሉም.
የጭንቀት ሙከራ በሚከተሉት ሁኔታዎች ውስጥ ጥቅም ላይ ይውላል።
አውቶሜትድ ፍተሻ (የሶፍትዌር ፈተና አውቶሜሽን) በራስ ሰር ሙከራዎችን የሚያካሂዱ ልዩ የሶፍትዌር መሳሪያዎችን የሚጠቀም እና ትክክለኛ የፈተና ውጤቶችን ከሚጠበቀው ውጤት ጋር የሚያወዳድር የኮድ ሙከራ አካሄድ ነው።
አውቶሜትድ ሙከራ በተከታታይ ማድረስ (ሲዲ)፣ ተከታታይ ውህደት (CI)፣ DevOps እና DevSecOps ውስጥ ትልቅ ሚና ይጫወታል። የራስ-ሰር ሙከራ ዋና ጥቅሞች የሚከተሉትን ያካትታሉ:
በሶፍትዌር ልማት ውስጥ አፕሊኬሽኑ ከግንባታ ስህተቶች የፀዳ እና የታለመለትን ተግባር የሚፈጽም መሆኑን ለማረጋገጥ በግንባታው ሂደት ውስጥ አውቶማቲክ ሙከራዎችን ማድረግ ጠቃሚ ነው።
የሶፍትዌር ሙከራን በራስ ሰር ለመስራት ጊዜ መውሰዱ በመጨረሻ የኮድ ለውጥ ያለውን ተግባር የሚሰብርበትን ስጋት በመቀነስ ገንቢዎችን ጊዜ ይቆጥባል።
መሞከር በእድገት ሂደት ውስጥ በጣም አስፈላጊ ደረጃ ነው. ሁሉም ሳንካዎች የተስተካከሉ መሆናቸውን እና ምርቱ፣ ሶፍትዌሩ ወይም ሃርድዌር የታሰበውን ወይም በተቻለ መጠን ወደ ዒላማው አፈጻጸሙ የቀረበ መሆኑን ያረጋግጣል። በእጅ ከመሞከር ይልቅ አውቶሜትድ መሞከር አነስተኛ ጉድለቶች ካሉበት የተጠቃሚ ፍላጎቶችን በጊዜው የሚያሟላ ወጪ ቆጣቢ ሶፍትዌሮችን በተከታታይ ለማቅረብ አስፈላጊ ነው።
በእድገት ወቅት በእጅ መሞከር አሁንም በተለያዩ ጊዜያት ይከናወናል ነገር ግን ይህ በአብዛኛው በአልሚዎች ወይም በሃርድዌር መሐንዲሶች እራሳቸው ያደረጓቸው ለውጦች የተፈለገውን ውጤት እንዳመጡ በፍጥነት ለማየት ነው.
Ercole Palmeri
Coveware by Veeam የሳይበር ዘረፋ የአደጋ ምላሽ አገልግሎቶችን መስጠቱን ይቀጥላል። Coveware የፎረንሲክስ እና የማገገሚያ ችሎታዎችን ያቀርባል…
የመተንበይ ጥገና የዘይት እና ጋዝ ዘርፉን አብዮት እያደረገ ነው፣ ለዕፅዋት አስተዳደር ፈጠራ እና ንቁ አቀራረብ።…
የዩኬ ሲኤምኤ ስለ ቢግ ቴክ ባህሪ በአርቴፊሻል ኢንተለጀንስ ገበያ ላይ ማስጠንቀቂያ ሰጥቷል። እዚያ…
የሕንፃዎችን ኢነርጂ ውጤታማነት ለማሳደግ በአውሮፓ ህብረት የተቀረፀው የ"ኬዝ አረንጓዴ" ድንጋጌ የህግ አውጭ ሂደቱን በ…