- Оршил. Зүүн шилжилтийн тухай ойлголт
- Shift Left Testing гэж юу вэ?
- Хэрхэн ажилладаг вэ? Shift Left Influence Software Development?
- Тестчид зүүн ээлжинд юуг өөрөөр хийх ёстой вэ?
- Зүүн шилжилтийн туршилтын ашиг тус
- Дүгнэлт
Доорх коммент хэсэгт өөрийн бодол/саналыг бидэнд мэдэгдээрэй.
ӨМНӨХ заавар
Програм хангамжийн туршилт гэсэн ойлголт нь үйлдвэрлэлийн доголдол нь төслийн төсөвт тусч эхлэх үед аажмаар нэвтэрч, "Функциональ туршилт" нь маш чадварлаг Туршилтын багийн хамт хэрэгжиж эхэлсэн. Тухайн үед бид 20 Хөгжүүлэгчийн багийн эсрэг ердөө хоёр л тестчин байсан.
Мэдээллийн технологийн салбар нь програм хангамж хөгжүүлэх хүрхрээ загварыг дагаж эхэлсэн гэдгийг бид бүгд мэднэ. , програм хангамж хөгжүүлэх амьдралын мөчлөг нь дараах дарааллаар явагдана.
Тиймээс, хэрэв та зүүнээс баруун тийш эхлэх юм бол Туршилтын үе шат нь програм хангамж хөгжүүлэх амьдралын мөчлөгийн хамгийн баруун талд байна.
Оршил. Зүүн шилжилтийн тухай ойлголт
Хэсэг хугацааны туршид хүмүүс Програм хангамжийн туршилтын -ын ач холбогдлыг болон "Туршилтын үе шат"-ыг хэт баруун талд буюу төгсгөлд байлгахын үр нөлөөг ойлгосон. Програм хангамж хөгжүүлэх амьдралын мөчлөг. Энэ ухаарал нь туйлын баруун тийш тодорхойлсон алдааны зардал, эцэст нь маш өндөр, асар их хүчин чармайлт & AMP; Тэдгээрийг засахад хэтэрхий их цаг хугацаа шаардагдаж байсан.
Програм хангамжид маш их цаг хугацаа, хүчин чармайлт гаргасны эцэст эцэст нь илэрсэн чухал алдааны улмаас чухал ач холбогдолтой программ хангамжийг хэрэглэгчдэд гаргаж чадахгүй байх тохиолдол бий. Ингэснээр зах зээл асар их алдагдалд орж байна.
Тиймээс сүүлийн шатанд алдаа илэрсэн тул хувилбар нь хойшлогдсон юм ууЭдгээрийг засахад шаардагдах хүчин чармайлтыг харгалзан программ хангамжийг устгасан бөгөөд энэ нь үнэхээр үнэ цэнэтэй зүйл биш байв.
'Согог нь баригдах үед зардал багатай байдаг. эрт.
Энэ ухаарал, авсан том сургамж нь програм хангамжийн салбарт томоохон хувьсгал хийж, 'Sift Left'2 гэсэн шинэ ойлголтыг төрүүлсэн юм> , энэ нь "Туршилтын үе шат"-ыг баруунаас зүүн тийш шилжүүлэх эсвэл үе шат бүрт Туршилтыг хамруулах, туршигчдыг бүхэлд нь хамруулах гэсэн үг юм.
Зүүн шилжилтийн тест нь зөвхөн эцэст нь тест хийхгүй гэсэн үг юм. тасралтгүй тестлээрэй.
Shift Left Testing гэж юу вэ?
Нэгдүгээрт, "Зүүн тийш шилжих" зарчим нь програм хангамж боловсруулах үе шатанд Тестийн багийг бүх оролцогч талуудтай эрт хамтран ажиллахыг дэмждэг. Тиймээс тэд "Хурдан бүтэлгүйтэх" программ хангамжид туслахын тулд шаардлагыг тодорхой ойлгож, туршилтын тохиолдлуудыг зохион бүтээж, багт бүх алдаа дутагдлыг аль болох хурдан засах боломжийг олгодог.
Зүүн Shift хандлага нь шалгагчдыг илүү эрт оролцуулахаас өөр юу ч биш юм. Програм хангамжийн хөгжүүлэлтийн амьдралын мөчлөгт, энэ нь эргээд шаардлага, програм хангамжийн дизайн, архитектур, кодчилол, түүний функцийг ойлгох, үйлчлүүлэгчид, бизнесийн шинжээчид, хөгжүүлэгчдэд хатуу асуулт асуух, тодруулга авах, санал хүсэлтээ өгөх боломжийг олгоно. баг.
Энэ оролцоо, ойлголт ньБүтээгдэхүүний талаар бүрэн мэдлэг олж авах, янз бүрийн хувилбаруудыг бодох, програм хангамжийн зан төлөвт үндэслэн бодит цагийн хувилбаруудыг зохиоход шалгагчдыг удирдан чиглүүлээрэй, энэ нь кодчилол хийхээс өмнө согогийг тодорхойлоход тус багт туслах болно.
Хэрхэн ажилладаг вэ? Shift Left Influence Software Development?
Shift Lift хандлага нь програм хангамжийн хөгжилд хэд хэдэн аргаар нөлөөлдөг.
Sift Left-ийн талаарх цөөн хэдэн гол санааг доор өгөв:
- Зүүн шилжилтийн хандлага нь хөтөлбөрийн бүх, хамгийн чухал үе шатуудад шалгагчдыг татан оролцуулахад чиглэгддэг . Энэ нь шалгагчдад согог илрүүлэхээс согогоос урьдчилан сэргийлэхэд анхаарлаа хандуулж, хөтөлбөрийн бизнесийн зорилгыг хэрэгжүүлэх боломжийг олгодог.
- Зүүн тийш шилжих хандлага нь Туршилтын өндөр ач холбогдлыг өгдөг энэ нь тестерүүдийн үүрэг, хариуцлага асар ихээр нэмэгддэг.
- Туршилтын багийн үүрэг хариуцлага нэмэгдэж байгаа тул баг зөвхөн 'Тестийг тодорхойлохын тулд програм хангамжийг турших асуудалд анхаарлаа хандуулдаггүй. bugs' , гэхдээ урт хугацааны алсын хараанд анхаарлаа төвлөрүүлж, багийг Туршилтын гайхалтай манлайлал, удирдамжаар хангах замаар бат бөх, үр дүнтэй туршилтын стратегийг төлөвлөж, бүтээхийн тулд эхний үе шатнаас эхлэн багтай идэвхтэй хамтран ажилладаг. туршилтын ажлын хариуцлагыг хүлээхээс илүүтэйгээр бүтээгдэхүүн.
- Зүүн шилжих хандлага нь Тестерүүдэд эхлээд туршилтыг зохион бүтээх боломж бөгөөд туршилтууд нь хэрэглэгчийн туршлага, тэдний хүлээлтэд бүрэн чиглэгддэг бөгөөд энэ нь хөгжүүлэгчдэд эдгээр тестүүд дээр суурилсан программ хангамжийг хөгжүүлэх боломжийг олгоно. улмаар хэрэглэгчийн хэрэгцээг хангана.
- Зүүн шилжилтийн арга нь зөвхөн Туршилтаар дуусдаггүй. Зөвшөөрөл рүү шилжиж, туршилтын үйл ажиллагааг тасралтгүй явуулснаар хөгжүүлэгчид өөрсдийн кодоо илүү өмчлөх болон туршилтын хариуцлагыг нэмэгдүүлэх боломжийг олгоно.
- Ээлжит Зүүн талын хандлага нь Тестерүүдийг зан төлөвт тулгуурласан хөгжүүлэлтийн BDD болон Туршилтын хөгжүүлэлтийн TDD -г нэвтрүүлэхийг дэмждэг бөгөөд энэ нь програм хангамжид согог үүсэхээс урьдчилан сэргийлэхэд тусалдаг.
- Agile-д Зүүн шилжүүлэх туршилт: Shift Left хандлага нь бусад үүргүүдийн хамт заавал шалгагчдыг
Зүүн шилжилтийн ерөнхий шалгалт нь шалгагчдыг 'Эрт оролцох' , аль болох эрт болонҮе шатны үр дүн нь эцсийн үр дүнгийн үнэ цэнэд хамаарах үе шат бүрт хэлэлцүүлэгт оролцож, санаа, шаардлагын талаар хамтран ажиллахаас гадна эрсдэлийг урьдчилан тодорхойлж, бууруулахад төсөлд тусал.
Тестчид зүүн ээлжинд юуг өөрөөр хийх ёстой вэ?
Тестерүүд Зүүн шилжилтийн стратеги:
#1) Туршилтын баг дээр юуг өөр өөрөөр хийдэг болохыг тэмдэглэх цөөн хэдэн гол хүчин зүйлийг доор өгөв. төсөл хэрэгжиж эхэлснээс хойш системд эрт оролцох шаардлагатай бөгөөд ингэснээр баг болон бизнесийн бусад гишүүдтэй интеграцчлалыг хөгжүүлж, үе шат бүрт ашигтай орцыг хангах програм хангамж хөгжүүлэлтийн талаар.
#2) Туршилтын баг Бизнес & Үйл ажиллагааны баг болон хөтөлбөрийн талаар тодорхой мэдээлэл олж авах ба эрэлтийн талаар тодорхой ойлголт өгч, нөөцийг нэмэгдүүлэх хэрэгцээ, сургалтын хэрэгцээ, хөтөлбөрт тавигдах туршилтын хэрэгслийн шаардлагыг үр дүнтэй төлөвлөхөд тусалдаг. урьдчилан.
#3) Туршилтын багууд бүтээгдэхүүнийг тодорхой харагдуулахын тулд программ хангамж боловсруулах явцад бизнесийн бүх оролцогч талуудтай харилцах ёстой & туршилтын нэгдсэн стратеги зохиож, оновчтой туршилтын ажлыг төлөвлөх, туршилтын орчин, гуравдагч этгээд, бүдүүвч гэх мэт зүйлсээс хамааралтай байдалд дүн шинжилгээ хийж, найдвартай автоматжуулалтын стратеги, тогтолцоог бий болгож, үр дүнтэй туршилтын өгөгдлийн менежментийг бий болгохтөлөвлөгөө.
#4) Туршилтын баг нь Тестийн гайхалтай манлайлал, удирдамжаар хангахын тулд багийн бусадтай хамтран ажиллах ёстой Ингэснээр зөвхөн туршилтын үйл ажиллагаанд хариуцлага хүлээхээс илүүтэй урт хугацааны бүтээгдэхүүний алсын харааг санаж байх болно.
#5) Шаардлага нь аливаа хөтөлбөрийг амжилттай хэрэгжүүлэх гол түлхүүр бөгөөд үндэс суурь мөн. тодорхойлсон шаардлага нь төслийн амжилтыг тодорхойлдог. Шаардлагыг төлөвлөх үе шатанд шалгагч шаардлагаа хоёрдмол утгагүй, илүү тодорхой, бүрэн дүүрэн байх, шалгах боломжтой, хүлээн авах шалгуурын тодорхойлолт зэргийг хянаж, дүн шинжилгээ хийх шаардлагатай.
Мөн дутуу шаардлагуудыг (хэрэв байгаа бол) тодорхойлж, хамаарал, хэрэгжүүлэх стратегийг ойлгох хэрэгтэй. Clear Requirements нь программ хангамжийг "Хурдан бүтэлгүйтэх" болон бүх доголдлыг аль болох хурдан засахад тусалдаг.
#6) 8-г гаргаж ирснээр шаардлагад хангалттай тодорхой, нарийвчлалтай хандаарай>бодит жишээнүүд
хэрэглэгдэж буй функцуудыг харуулсан.#7) Туршилтанд оролцогчид Загвар зохион бүтээх уулзалтад оролцох шаардлагатай бүтээгдэхүүний дизайн, архитектурыг тогтмол ойлгож, дизайны алдааг олж илрүүлэх, өөр дизайны хувилбаруудыг санал болгох, цоорхойг олж илрүүлэх, дизайныг эвдэхийн тулд туршилтын хувилбаруудыг бий болгох.
#8) Туршилтанд оролцогчид Статик Туршилт (хяналт) -ыг урьдчилан хийж, гол төслийн талаар санал хүсэлтээ өгөх шаардлагатай.Согог нь програм хангамжид нэвтэрч, дараа нь түүний үр нөлөөг өргөжүүлэхээс урьдчилан сэргийлэхийн тулд баримт бичгүүд.
#9) Туршилтын баг дизайн, хөгжүүлэлтийн багтай хамтран ажиллах ёстой. кодыг боловсруулахын тулд туршилтын хувилбаруудыг урьдчилан гаргаж өгөх ба бодит цагийн бүх хувилбарууд болон бизнесийн урсгалыг шийдвэрлэх.
#10) Туршилтын баг зохиох ёстой. хүчтэй бөгөөд бат бөх туршилтын хувилбарууд Туршилтын явцад цөөн тооны согогийг илрүүлж, туршилтын үе шатанд ороход томоохон согогоос урьдчилан сэргийлэх болно.
#11) Согог дараагийн шатанд орохгүйн тулд Тестерүүд аль болох эрт турших бие даасан эсвэл орон нутгийн системд байх ёстой.
Бүх гол зүйл. Туршилтын хувьд "Зүүн шилжилт"-ийн үзэл баримтлал нь бүх боломжит хэрэгслээр согогийг аль болох эрт илрүүлэх явдал юм.
Зүүн шилжилтийн туршилтын ашиг тус
Shift Left хандлага нь agile manifesto дээр суурилдаг бөгөөд хэд хэдэн давуу талтай байдаг.
Тэдгээр нь:
- Хувь хүн ба харилцан үйлчлэл үйл явцтай харьцуулахад. болон багаж хэрэгсэл.
- Ажлын программ хангамж дэлгэрэнгүй баримт бичиг.
- Хэрэглэгчийн хамтын ажиллагаа гэрээний хэлэлцээр дээр.
- Хариулж байна. Төлөвлөгөөний дагуу өөрчлөх.
Баруун талд байгаа зүйлсийн үнэ цэнэ байгаа хэдий ч зүүн талд байгаа зүйлсийг илүү үнэлдэг болохыг бид харж байна.
За, Shift Left бол тухай юмТуршилт хийх санааг үйл явцын эхэнд авчирч, улмаар илүү сайн, үр дүнтэй тест хийж, програм хангамжийн чанарыг сайжруулна.
Товчхондоо, Shift Left Testing үйл явц нь:
- Согогийг эрт илрүүлж, төслийн өртөгийг бууруулна.
- Эцэст нь согогийг бууруулахын тулд дахин дахин туршилт хийх.
- бүх зүйлийг автоматжуулж, зах зээлд гаргах хугацааг сайжруулах.
- Хэрэглэгчийн шаардлагад анхаарлаа төвлөрүүлж, хэрэглэгчийн туршлагыг сайжруулах.
Дүгнэлт
'Sift Left' үзэл баримтлал нь бүхэл бүтэн 'Тест хийх' үүрэгт асар том өөрчлөлтийг авчирсан. Тэр үеийг хүртэл Туршилтын цорын ганц гол зорилго нь зөвхөн 'Гэмтэл илрүүлэх' байсан бөгөөд одоо Туршилтын хэтийн төлөвөөс 'Зүүн шилжих'-ийн зорилго нь 'Эрт Согог Илрүүлэхээс Статик Туршилт руу'хийх аялал юм. 2> .
Тиймээс Shift Left нь програм хангамжийн салбарт зах зээлд гарах хурдыг нэмэгдүүлэх, програм хангамжийн чанарыг сайжруулах, "Зах зээлд гарах цаг"-ыг багасгахад чиглэсэн Програм хангамж хөгжүүлэх арга зүйн томоохон үсрэлт юм.
Зохиогчийн тухай: Энэ нийтлэлийг STH багийн гишүүн Гаяатри Субрахманям бичсэн. Тэрээр 1990-ээд оноос хойш программ хангамжийн туршилтанд хамрагдсан бөгөөд яг энэ салбарт тестерийн үүрэг гарч ирсэн. Туршилтын карьерынхаа туршид тэрээр туршилтын хүргэлтийг зохицуулахаас гадна TMMI үнэлгээ, Туршилтын үйлдвэржилтийн ажил, TCOE тохиргоог хийсэн.