what is technical debt
Технички дуг је метафорична идеја која тврди да, баш као што неко може наићи на проблеме са дугом у финансијама, софтверске организације наилазе на нешто слично у накупљању недовршених радова током прошлих пројеката и издања / спринта верзија.
Шта је технички дуг?
Представља напор потребан за решавање проблема / недостатака који остају у коду када се апликација пусти. Једноставним речима - то је разлика (у смислу грешака) између очекиваног и испорученог.
Када је развојни тим заузет радом на пројекту и отклањањем грешака, нажалост, појављују се многе нове грешке. Од ово су неке исправљене, а неке се разликују за касније издање. Када се ово различито издање повећава, у једном тренутку постаје заиста тешко пустити производ на време без икаквих проблема. Ово је најгора последица Технички дуг ако се не реши на време.
У овом чланку ћете научити - шта је технички дуг, зашто би КА тим требао бити забринут због тога и најважније како њиме управљати.
слика извор
Вард Цуннингхам , оснивач вики софтвера, замишљен од ове идеје још деведесетих година, повлачећи паралеле са утицајем лошег дуга на финансијску индустрију, буквално алудирајући на неукусно искуство да се мора платити прекомерна камата након неизмиривања обавеза по кредитима.
како створити пројекат у ецлипсе-у
Изазов повећања технолошког дуга по спринту може се приказати на слици 1.
Овде треба напоменути да постоји мала разлика у значењу техничког дуга (такође познатог као кодни дуг или дуг за дизајн) у односу на његову одговарајућу аналогију у свету финансија - први је више као апстрактна идеја , без математичких једначина за визуализацију како се камата заиста акумулира.
Фиг. 1: Визуелизација скалабилног повећања технолошког дуга у спринтима
Шта ћете научити:
- Зашто КА тимови највише трпе због техничког дуга
- Пример из стварног света
- Техничко управљање дугом у праксама КА
- Закључак
- Препоручено читање
Зашто КА тимови највише трпе због техничког дуга
Током типичног циклуса дизајна и развоја софтвера постоји неколико ствари које могу довести до „ технички дуг ”Попут ситуације– неправилна документација , неадекватно тестирање и исправљање грешака, недостатак координације између тимова, наслеђе код и одложена рефакторизација , одсуство континуирано интеграција и други фактори ван контроле.
На пример, примећено је да напори дуплицирања кода могу довести до било чега између 25 до 35% прековремено.
ц ++ случајно лебдење између 0 и 1
Међутим, нигде их нема изазови због техничког дуга очигледнији него у КА тестирању где испитни тимови морају да испоштују неочекиване рокове и све може бити избачено из опреме.
Колико често су се ваши тестери суочили са недоумицама у последњем тренутку када је неочекивано дошао менаџер испоруке и рекао им: „Тим! Морамо да представимо свој производ за недељу дана, извините што нисмо у могућности да ово саопштимо на време. Молимо вас да хитно завршите са свим тест задацима како бисмо били спремни са демонстрацијом. “
У основи, било који пропуштени тест или приступ „реши то касније“ може довести до проблема попут технолошког дуга. Недостатак покривености тестом , превелике корисничке приче, кратки спринтови и други примери „пресецања углова“ услед притиска испоруке играју велику улогу у нагомилавању техничког дуга у пракси КА.
Пример из стварног света
Мрежни продавац са седиштем у САД-у са значајним присуством на више веб локација и мобилних апликација нашао се у стварном изазову „техничког дуга“ када се сложеност мреже за тестирање почела сложити са сваким новим спринт .
То се догодило због изненадног налета броја мобилних уређаја који се тестирају, више језика који треба подржати и више од пола туцета веб локација за друштвене мреже.
Са покривеношћу аутоматизације мањом од 40%, изазов за технолошки дуг појавио би се на следеће начине:
- Прекомерна потрошња времена у испитивању ослобађања - Како број прегледача, уређаја и скрипти расте са сваким тестним спринтом, циклус издања ће се одлагати што ће довести до губитка времена до изласка на тржиште.
- Све већи трошкови запошљавања - Број тестера потребних за подршку пројекту готово се удвостручио, што је довело до додатних 500 хиљада долара
- Сложеност пројекта - Са све већом сложеношћу пројекта, праћење тест случајева и грешака постајало је изазов
- Превише времена је изгубљено у јурњави за лажним позитивним резултатима - Опет, испад све веће сложености пројеката.
- Повећање напора за развој теста за чак 60% - То иде са територијом
Техничко управљање дугом у праксама КА
Већина КА менаџера импулсивно гледа на технички дуг као на разумну последицу усмеравања све своје енергије само на тренутни спринт, што доводи до тога да се покривеност тестом постигне некако ручно, и потпуно игноришу аутоматизацију.
Ово је познато као брз и прљав приступ који је у блогу обрадио Мартин Фовлер, аутор квадрант техничког дуга .
Агилни принципи налажу да проблем технолошког дуга визуализујемо као немогућност одржавања и испуњења Реферати квалитета .
Заправо, на основу анкете Националног института за стандарде и технологију (НИСТ), недовољни алати и методе испитивања годишње коштају економију САД 22,2 УСД и 59,5 милијарди долара , са отприлике половином овог новца који је потрошен на додатно тестирање од стране програмера и око половине од корисника софтвера да би се избегли кварови.
Уместо да се реагује на кварове како и када се инцидент догоди, проактивни приступ би био идентификовање недостатака након сваке активности или задатка који се могу мерити. Све то можете да урадите ручно, али с обзиром на хиљаде сценарија тест примера за просечан пројекат, аутоматизована контрола тестирања је неопходна.
Јасно, ефикасно тестирање може вам помоћи да стекнете озбиљну основу у рату због техничког дуга. Па, шта то у основи значи? То значи колико је ваш систем добро опремљен у препознавању недостатака у целокупној апликацији.
топ 10 аниме сајтова енглески дуб
Као што показује горња једначина, ефикасност тестног случаја може се теоретски приближити чак 100% да је број пронађених недостатака купца (тј. Постпродукцијских недостатака) тачно мапиран на број откривених недостатака у свакој фази покривености испитивањем.
Да би се имао добро дизајниран испитни кревет који може тачно измерити недостатке чим се увуку, аутоматизација је предуслов.
Аутоматизација испитивања помаже вам да смањите број скрипти које се извршавају извештавањем о резултатима и упоређивањем са ранијим пробним радњама. Метода или поступак који се користи за извршавање аутоматизације назива се тест аутоматизација оквир .
Типични примери би били комерцијални готови или бесплатни алати као што су Селениум, МонкеиТалк, роботи , Борланд СилкЦентрал, ХП центар за квалитет и ИБМ Ратионал Росе .
У прошлости су организације и њихови софтверски тимови КА / тестирање често доживљавали као помоћну активност важнијим пословним резултатима, а не као дисциплиновану праксу која би захтевала основни, посвећени фокус. У ствари, несуштински приступ КА / тестирању је управо оно што је пре свега довело до сталног изазова техничког дуга.
Узимајући у обзир брзи темпо еволуције у КА / вештинама тестирања који се догодио у последњој деценији, организацијама је стварно тешко да надограде своје вештине и компетенције на минималне нивое жељене према тренутним индустријским реперима.
У ствари, постоји растући тренд у индустрији да се задовољи са ништа мање од најискуснијих професионалаца у аутоматизацији тестирања - некако попут елитних командоса за тестирање / КА; познати су као софтверски инжењери у тесту ( Од ) и програмери софтвера у тесту ( СДиТ ). Ови професионалци су веома тражени због свог великог искуства у изабраној вертикали (нпр. Е-трговина) или одређеној професионалној категорији.
Већина компанија за развој софтвера и производа, како сада говоримо, бори се да пронађе жељене, квалификоване техничке ресурсе због краћих рокова испоруке. Решење овог изазова је удруживање са оф-схоре КА аутоматским уређајем за аутоматизацију који се вашим недостатком вештина може решити правим обимом СДиТ / СЕиТ ресурса.
Остали жељени атрибути играча за оутсоурцинг у КА / тестирању који се показују корисним укључују окретан, дисциплинован приступ извршењу пројеката, довољно индустријског искуства, укључујући практични приступ вишекратно коришћеним оквирима аутоматизације и тест случајевима, и на крају, али не најмање важно, јасну намеру и способност суочавања са удаљеним тимским изазовима и културним сукобима, тако да клијент не буде оптерећен додатним радом у управљању добављачима.
Закључак
Као и сваки други дуг, и технички дуг се може показати као проклетство предузећа, а основни узрок његовог нагомилавања је неуспех у примени проактивне праксе осигурања квалитета која уклања све заостале ставке у аутоматизацији.
О аутору: Ово је гост од еИнфоцхипс тима. Они су смислили јединствени приступ тзв Технички дуг нула што је један од најструктуриранијих и најефикаснијих начина за постепено уклањање техничког дуга у активностима КА / аутоматизације. Да бисте сазнали више о технолошком дугу, погледајте овај видео на приступу смањењу технолошког одсека.
Надам се да ћете добити јасну представу о томе шта је технички дуг. Обавестите нас ако имате било каква питања у вези с тим или како се њиме управља у пракси.
Препоручено читање
- Тестирање софтвера Посао писца техничког садржаја Посао слободњака
- Глобално предузеће за тестирање софтвера ускоро ће достићи 28,8 милијарди долара
- Савети за тестирање софтвера за тестере почетнике
- Како одржати мотивацију живом у софтверским тестерима?
- Зен и уметност тестирања софтвера
- Најбољи алати за тестирање софтвера 2021. [Алати за аутоматизацију КА теста]
- Најбољи чланци о тестирању софтвера из 2008
- Посао за КА помоћника за тестирање софтвера