
ቀጣይነት ያለው ሙከራ Agile እና DevOpsን እንዴት እንደሚያሻሽል
ንግዶች Agile እና DevOpsን ሲያቅፉ፣ ቀጣይነት ያለው ውህደት (CI)፣ መላክ (ሲዲ) እና ሙከራ (ሲቲ) ምርቱን ለማሻሻል የሚረዱ ቁልፍ ነገሮች እየሆኑ ነው። እንደ የቅርብ ጊዜው ምርምርይህንን የቧንቧ መስመር በሶፍትዌር ልማት የህይወት ኡደት ውስጥ የሚጠቀሙ ድርጅቶች ኮድ 208 ጊዜ በተደጋጋሚ ያሰማራሉ። ይህ ሁሉ ፍጥነት እና ጥራት ዋና ጥቅሞች በሆኑበት በገበያ ላይ ያላቸውን እምነት ይጨምራል. ሚናውን እንወቅ ቀጣይነት ያለው ሙከራ በ Agile እና DevOps መርሆዎች መሰረት በሚሰሩ ኩባንያዎች ውስጥ እና ለምን ችላ ሊባል እንደማይገባ.
በ CI / ሲዲ ውስጥ የማያቋርጥ ሙከራ
ሁለቱም Agile እና DevOps ከፍተኛ ጥራት ያላቸውን ሶፍትዌሮችን በወቅቱ ለማቅረብ የታሰቡ ናቸው። Agile የሚያተኩረው የእድገት የህይወት ኡደትን በማመቻቸት ላይ ሲሆን DevOps ደግሞ ፕሮግራሞችን እና ስራዎችን በCI/CD አካባቢ ያዋህዳል። ሁለቱም ዘዴዎች አንድ ላይ ሲተገበሩ የሶፍትዌር ልማትን ያሻሽላሉ እና የተሻሉ ምርቶችን ይፈጥራሉ።
ቀጣይነት ያለው ውህደት፣ ሙከራ፣ አቅርቦት እና ማሰማራት ከአውቶሜትድ የቧንቧ መስመር ጋር የሚዛመድ የCI/CD ጽንሰ-ሀሳብ አካል ናቸው። ይህ የቧንቧ መስመር አዲስ የተጻፈውን የተጠናቀቀ ኮድ ከዋናው ኮድ መሰረት ጋር የማዋሃድ ሂደትን ያመቻቻል፣ የተለያዩ ሙከራዎችን እና ፍተሻዎችን ያደርጋል፣ እና በራስ ሰር ማሰማራት ይጀምራል። ይህ ሁሉ CI/ሲዲ በፕሮጀክት ውስጥ ምን ያህል ጥልቀት እንደተጣመረ ይወሰናል።
የ CI / ሲዲ መዋቅር ከማትሪዮሽካ አሻንጉሊት ጋር ይመሳሰላል, ቀጣይነት ያለው ውህደት በመሞከር, በማጓጓዝ እና በማሰማራት ይሟላል. የእነዚህ ሂደቶች ዓላማ ውሎችን እየቀነሱ የመልቀቂያዎችን አስተማማኝነት እና መረጋጋት ማሻሻል ነው።
ቀጣይነት ያለው ሙከራን የሚያካትት አጠቃላይ የእድገት ዑደትን እንይ።
ዑደቱ የሚጀምረው ኮድ በመፃፍ እና በፈተናዎች በመሸፈን ነው። ከዚያ እንደ ጄንኪንስ ያለ ስርዓት ለውጦችን በራስ-ሰር ይሰበስባል እና እነሱን መሞከር ይጀምራል። አውቶማቲክ ሙከራዎች በተሳካ ሁኔታ ካለፉ በኋላ ለውጦቹ ወደ በእጅ ሙከራ ይሄዳሉ። ውጤቱ ከቁጥር ጋር የተመደበው የተረጋጋ የምርት ስሪት ነው, እና አሁን እነዚህ ለውጦች የመልቀቂያ እጩ ይባላሉ.
በመቀጠል፣ የመልቀቂያው ቅርንጫፉ ተሰቅሎ በደንበኛው የምርት አገልጋይ ላይ ይሰራጫል። ቀጣዩ-የመጨረሻው ደረጃ የክትትል ሂደት ነው, ይህም መሐንዲሶች የተዘረጋውን የምርት ስሪት ሲከታተሉ, አስፈላጊ ከሆነ አፕሊኬሽኑን በማረጋጋት ወይም በማስተካከል ነው. ዑደቱ የሚያበቃው አዲስ ተግባርን በማቀድ ወይም ለወደፊት ልቀቶች ለውጦች እና ማስተካከያዎች ላይ መረጃን በመሰብሰብ ነው።
የCI ሂደቱ አዲስ የተፃፈውን ኮድ ለማረጋገጥ ከላይ የተጠቀሰውን አውቶማቲክ አሰራር ያካትታል። ልማት በተለየ ቅርንጫፎች ውስጥ ይካሄዳል, ከዚያም ሁሉም ለውጦች ወደ ዋናው ቅርንጫፍ ይቀላቀላሉ. የመገጣጠም እና የመሞከር ሂደት በራስ-ሰር ይጀምራል እና በተቻለ መጠን ትንሽ ጊዜ ይወስዳል።
ከሲዲው በስተጀርባ ያለው ሀሳብ ቀጣይነት ያለው ውህደትን በራስ-ሰር ማከናወን እና ፕሮጀክቱን ወደ ምርት አገልጋዩ እንዲለቀቅ ማዘጋጀት ነው። ብዙውን ጊዜ የዴቭኦፕስ ስፔሻሊስት በዚህ ደረጃ የእድገት ሂደቱን ይቀላቀላል። በ CI ደረጃ ላይ የተፈተነ እና የተረጋገጠ ግንባታ ወስደው ያሰማራሉ.
ቀጣይነት ያለው ሙከራ ምን ያካትታል
ቀጣይነት ያለው ሙከራ ቀጣይነት ባለው የእድገት፣ ውህደት እና ማሰማራት ዑደት ውስጥ ያለ ትንሽ ኮግ ነው። በሁሉም የሶፍትዌር ልማት የሕይወት ዑደት ደረጃዎች ላይ አውቶማቲክ ሙከራዎችን የማከናወን ሂደትን አስቀድሞ ያሳያል - ከእቅድ እስከ ምርት። ይህ አንድ ንግድ በተቻለ ፍጥነት በአደጋዎች ላይ ግብረመልስ እንዲቀበል ያስችለዋል። በቀላል አነጋገር፣ ቀጣይነት ያለው ሙከራ “አሁን የሶፍትዌራችን ጥራት ምንድነው?” ለሚለው ጥያቄ ይመልሳል።
የሶፍትዌር ሙከራ የድሮው አይነት አገልግሎቶች ደረጃውን የጠበቀ ሶፍትዌር ከአንዱ ቡድን ወደ ሌላው እንዲሰጥ ሐሳብ አቅርበዋል። በተጨማሪም፣ አንድ ፕሮጀክት ለልማት እና ለጥራት ቁጥጥር የተወሰኑ ደረጃዎች አሉት።
ነገር ግን በእያንዳንዱ የእድገት ደረጃ ላይ በእጅ ግብረ መልስ የማግኘት ባህላዊ መንገድ ረዘም ያለ የውህደት ዑደቶችን እና የምርት መለቀቅን ያስከትላል። ለዚያም ነው ቀጣይነት ያለው የሙከራ ሶፍትዌር ፍላጎት ታየ።
ዛሬ ባለው እውነታ፣ ሙከራ ከመተግበሪያው መለቀቅ የተገለለ ሂደት ሊሆን አይችልም። ቡድኖች በብቃት እና በብቃት አብረው መስራት መቻል አለባቸው፣ እና ጥራቱ የገንቢዎች፣ የQA መሐንዲሶች እና የኦፕሬሽን ቡድኖች የጋራ ስጋት ይሆናል።
ውስጥ አንድ DevOps ላይ የተመሠረተ ልማት ሂደት፣ ኮድ ይዘጋጃል፣ ይሰጣል፣ ይሞከራል እና ያለማቋረጥ ይሰራጫል። ለምሳሌ፣ አንድ ገንቢ በማጠራቀሚያ ውስጥ ያለውን ኮድ ባጣራ ቁጥር፣ አውቶሜትድ የዩኒት ሙከራዎች ቀጣይነት ባለው ሂደት ይፈጸማሉ። አንድ ግንባታ ቼኮችን ካለፈ፣ ለአጠቃላይ የተግባር እና ጭነት ሙከራዎች ወደ QA አፈጻጸም አገልጋዮች ይሰራጫል። ፈተናዎቹ ሲጠናቀቁ, ማመልከቻው ወደ ምርት ይጀምራል.
የተከታታይ ሙከራ አላማ የሶፍትዌርን ጥራት በየደረጃው ተከታታይ የማድረስ ሂደት ቀደም ብሎ እና ተደጋጋሚ ሙከራዎችን መገምገም ነው።
የድሮው ሞዴል ለምን ውጤታማ አይሆንም? የመተግበሪያ አርክቴክቸር ይበልጥ የተከፋፈለ እና ውስብስብ፣ ሰፊ እየሆነ ነው። ደመናው፣ ኤፒአይዎች ፣ ማይክሮ ሰርቪስ ፣ ወዘተ. ይህ ማለቂያ የሌላቸው የተለያዩ ፕሮቶኮሎችን እና ቴክኖሎጂዎችን በአንድ የንግድ ልውውጥ ውስጥ ይፈጥራል። በተመሳሳይ ጊዜ, ብዙ ፕሮግራሞች በጣም ተደጋጋሚ ልቀቶችን ይጠይቃሉ - በቀን እስከ አንድ ሺህ ጊዜ, በአማዞን, በ Google እና በኔትፍሊክስ እንደሚከሰት. ለዚያም ነው ፈተናዎችን ለማዳበር ጊዜው በጣም ይቀንሳል.
በተጨማሪም, በመተግበሪያው ውስጥ ያለው ጉድለት ብዙውን ጊዜ ወደ ንግድ ችግሮች ያመራል. ይህ ለምሳሌ እ.ኤ.አ. ተከሰተ ከኤችኤስቢሲ ጋር - በጥር 2016 ትልቅ የሶፍትዌር ውድቀት አጋጥሟቸዋል፣ እና በሚሊዮኖች የሚቆጠሩ ደንበኞቻቸው የመስመር ላይ ሂሳባቸውን ማግኘት አልቻሉም። ባንኩ ለሁለት ቀናት በሚጠጋ ጊዜ ውስጥ አገግሞ ወደ መደበኛ ስራው ቢመለስም ተአማኒነቱ መና ቀርቷል።
ሙከራ ከፍተኛ ፍጥነት ያለው ጠላት ተደርጎ ይወሰድ ነበር እና አጠራጣሪ የንግድ ሥራ ነበር። ግን ዛሬ፣ ቀጣይነት ያለው ሙከራን በመጠቀም ማንኛውም የሶፍትዌር መሞከሪያ ኩባንያ በተደጋጋሚ በሚለቀቁት፣ በጥራት እና በሶፍትዌር ደህንነት ላይ ያተኮሩ ብልህ ሂደቶችን ለመመስረት ይረዳል።
የሙከራ አውቶማቲክ ሚና ምንድነው?
ራስ-ሰር ሙከራ እና ቀጣይነት ያለው ሙከራ እርስ በርስ ይደጋገፋሉ, ነገር ግን እኩል መሆን የለባቸውም. እያንዳንዳቸው እነዚህ ሂደቶች በዴቭኦፕስ ላይ ከፍተኛ ተጽዕኖ ያሳድራሉ እና የማያቋርጥ አቅርቦት በራሱ መንገድ።
በሙከራ አውቶማቲክ ውስጥ፣ የተግባሮችን ስብስብ በፍጥነት ለማጠናቀቅ እና በትንሽ ስህተቶች ለመጨረስ የተለየ መሳሪያ ጥቅም ላይ ይውላል። በተለምዶ አንድ ባህሪ ከተማከለ እና ከተማከለ ማከማቻ ጋር ከተዋሃደ በኋላ ሞካሪ ስክሪፕቶችን መፃፍ ይጀምራል፣ ይህም የሶፍትዌር አቅርቦትን በእጅጉ ይቀንሳል።
ቀጣይነት ያለው ሙከራ በራስ-ሰር ከመሞከር የበለጠ ሰፊ ነው። እንደ መጽሐፍ ደራሲ እና ሶፍትዌር ተመራማሪ ጄዝ ትሑት ያስባል፣ ግቡ “በአቅርቦ ሂደቱ ውስጥ ብዙ የተለያዩ አይነት ሙከራዎችን - በእጅ እና አውቶማቲክ - ያለማቋረጥ ማካሄድ ነው። እዚህ, የፈተና ስክሪፕቶች የተፃፉት ተግባሩ ከመፈጠሩ በፊት ነው. ፕሮግራመር የአዲሱን ተግባር ምንጭ ኮድ ወደ ማእከላዊ ማከማቻ እንዳዋሃደ፣የኮዱን ጥራት የሚገመግሙ የተለያዩ የፍተሻ ስክሪፕቶች በራስ ሰር ይሰራሉ።
በመሰረቱ ቀጣይነት ያለው ሙከራ ውጤታማነትን ለማሻሻል እና የሶፍትዌር አቅርቦትን ለማፋጠን የሙከራ አውቶማቲክን የሚጠቀም ዘዴ ነው።
ተከታታይ ሙከራዎች ጥቅሞች
ተከታታይ ሙከራዎችን ወደ DevOps ሂደቶች ማካተት ለኩባንያዎች የሚከተሉትን ጥቅሞች ይሰጣል።
-
ፈጣን አስተያየት
ቀጣይነት ያለው ሙከራ በእያንዳንዱ የሶፍትዌር ልማት የሕይወት ዑደት የጥራት ማረጋገጫ እና የስራ ፍሰቶችን በራስ ሰር ያደርጋል። ግብረመልስ ለስፔሻሊስቶች ኮድ ከመሰማራቱ በፊት ለማሻሻል የሚያስፈልገውን መረጃ ይሰጣል።
ከብሔራዊ ደረጃ የቴክኖሎጂ ተቋም ተመራማሪዎች አግኝተዋል በሶፍትዌር ምርት ደረጃ የተገኘን ስህተት ማስተካከል 15 ሰአታት ይወስዳል። ይህ በኮድ ደረጃ ላይ ተመሳሳይ ስህተት ከተገኘ በሶስት እጥፍ ይረዝማል።
ትክክለኛ ያልሆነ ሙከራ ታዋቂ ምሳሌ የማርስ የአየር ንብረት ምህዋር ውድቀት ነው። በሶፍትዌር ጉድለቶች ምክንያት ኦርቢተር ወደ ማርስ ከባቢ አየር እንደገባ ወድቋል። ይህ ፍያስኮ ናሳን ወደ 125 ሚሊዮን ዶላር ገደማ ፈጅቷል።
ቀደምት ግብረመልስ ሊሆኑ የሚችሉ የንግድ አደጋዎችን በፍጥነት ለመገምገም ይረዳል - በተጠቃሚ ተሞክሮ ላይ ካለው አሉታዊ ለውጥ ወደ ያልተሳካ የሶፍትዌር ልቀቶች።
-
ፈጣን መላኪያ
ከላይ እንደተናገርነው, ኮዱ ወደ ማከማቻው ከተዋሃደ በኋላ የሚከሰቱ ሁሉም ሂደቶች ልማቱ ከመጠናቀቁ በፊት እንኳን የታቀዱ እና አውቶማቲክ ናቸው. በዴቭኦፕስ ባልሆነ ልምምድ፣ ሞካሪዎች ተስማሚ የፈተና መረጃን ለማግኘት ብዙ ጊዜ ያሳልፋሉ (50%)፣ እና 70% ሙከራዎች አሁንም የተሰሩት በእጅ ነው። አውቶሜሽን መድረኮችን በመጠቀም የሶፍትዌር መፈተሻ የውጭ አቅርቦትን በማደራጀት እነዚህ አሃዞች በከፍተኛ ሁኔታ ሊሻሻሉ ይችላሉ።
-
የተሻሻለ የጥራት ቁጥጥር
ለተከታታይ ሙከራ ምስጋና ይግባውና ቡድኖች የጥራት ማረጋገጫ አገልግሎቶችን በከፍተኛ ደረጃ ማድረስ ይችላሉ። አውቶሜትድ መቆጣጠሪያ መሳሪያዎችን መጠቀም በአንድ ደረጃ ማረጋገጥ ያልተሳካላቸው ተግባራት ወደሚቀጥለው እንደማይገቡ ያረጋግጣል። ለምሳሌ Google አሂድ በየቀኑ ወደ 150 ሚሊዮን የሚጠጉ ሙከራዎች፣ እና ሁሉም ማለት ይቻላል አውቶማቲክ ናቸው። ቦሪስ ቼን በ tCell የምህንድስና ተባባሪ መስራች እና ምክትል ፕሬዝዳንት አውቶሜሽን የአንድን ሰው ጊዜ ከመቆጠብ ባለፈ ሁሉም ቡድን በፍጥነት እንዲሰራ ያስችለዋል።
ምንጭ፡- andersenlab.com
-
ለንግድ ሥራ አነስተኛ አደጋዎች
በአንድ የመተግበሪያ አሃድ ውስጥ ያለ ስህተት አላስፈላጊ የንግድ ስራ ጊዜን ሊያስከትል እና ምርታማነትን እና ትርፋማነትን ላይ አሉታዊ ተጽዕኖ ሊያሳድር ይችላል። ይህ በተለይ በአገልግሎቶች አቅርቦት ላይ ለሚመሰረቱ ኩባንያዎች እውነት ነው.
ቀጣይነት ያለው ሙከራ በትልልቅ የሶፍትዌር ሲስተሞች ውስጥ ሊያመልጡ የሚችሉ ጉዳዮችን ያሳያል እና እነሱንም በዝርዝር ያሳያል። ይህ ከንግድ ሥራ መቋረጥ ጋር የተያያዙ ወጪዎችን ለማስወገድ ይረዳል.
ለምን ቀጣይነት ያለው ሙከራ ለDevOps እና Agile አስፈላጊ ነው።
DevOps ሁሉም ነገር ቀጣይነትን ስለማረጋገጥ ነው – የኮድ ውህደት፣ የፈተናዎች መጀመር ወይም በተለያዩ አካባቢዎች መሰማራት ነው። በዚህ ሰንሰለት ውስጥ ቀጣይነት ያለው ሙከራ ቀልጣፋ የሶፍትዌር ልማት ቧንቧ መስመርን ለመፍጠር ተከታታይ ውህደትን እና ቀጣይነት ባለው አቅርቦት እና በማሰማራት የሚያገናኝ ድልድይ ነው።
ይህ የስራ ሂደት አዲሱ ባህሪ የሚጠበቀውን የጥራት መስፈርት የሚያሟላ መሆኑን እና አፕሊኬሽኑ ለተጠቃሚው በሰዓቱ መሰጠቱን ያረጋግጣል። ቀጣይነት ያለው ሙከራ በ2.08 በአሜሪካ ብቻ 2020 ትሪሊዮን ዶላር የሆነውን ዝቅተኛ ጥራት ላለው ሶፍትዌር የሚወጣውን መጠን ለመቀነስ ያለመ ነው።
የቅርብ ጊዜ የፎረስተር ጠቅላላ ኢኮኖሚያዊ ተፅእኖ (TEI) ምርምር ውጤቶች ሥዕላዊ መግለጫ በርካታ የኮርፖሬት ኩባንያዎች ተከታታይ የሙከራ ልምዶችን በማስተዋወቅ ከ19 ሚሊዮን ዶላር በላይ ገቢ እንዳገኙ። ኢንተርፕራይዞች የሙከራ ኬዝ ልማት ጊዜን እስከ 50% ቆርጠዋል፣ የሶፍትዌር ልቀትን ምርታማነት በ40% ጨምረዋል፣ እና የወሳኝ ኮድ ዝርጋታ ከ8 ሰአት ወደ 30 ደቂቃ አፋጥነዋል።
ቀጣይነት ያለው ሙከራ ፈጣን የሶፍትዌር ልማትን ለማረጋገጥ Agile እና DevOps ዘዴዎችን የበለጠ ውጤታማ እና ቀልጣፋ ያደርገዋል። በእድገት ኡደት መጀመሪያ ላይ ጉድለቶችን በማግኘት፣ ሂደቱን በማሻሻል እና የፕሮጀክት ወጪን በመቀነስ ትርፋማ እና ፈጣን ልቀቶችን ዋስትና ይሰጣል። እና ይሄ, በተራው, የሶፍትዌር አቅርቦት የበለጠ ተለዋዋጭ, ከፍተኛ ጥራት ያለው እና ፈጣን ይሆናል ማለት ነው.







