10 steps improve software quality improving process
Тестирање софтвера је пресудно за побољшање квалитета софтвера. Овај водич наводи моделе процеса и 10 корака за побољшање процеса тестирања за постизање бољег квалитета софтвера:
Софтверски производ је развијен да задовољи одређене захтеве купца, али много пута заврши као неисправан производ из неколико разлога као што су нетачни захтеви, јаз у комуникацији, недостатак у разумевању, проблеми са временском траком, непотпуно техничко знање или мање вешти људи у систем.
Ово излаже софтверске производе грешкама, недостацима или грешкама. Тестирање софтвера је изузетно важно за избегавање или спречавање таквих проблема и одржавање квалитета софтверских производа.
Овај чланак ће вам дати идеју о различитим моделима и неколико једноставних корака за побољшање процеса тестирања софтвера који се могу следити за побољшање квалитета софтвера.
Знамо да је тестирање софтвера поступак процене да ли софтвер испуњава одређене захтеве. У овом процесу следимо многе технике и моделе како бисмо испоручили квалитетан производ. Али чак и тада, постоји неколико подручја која се могу побољшати за бољи квалитет софтвера.
- Процес би се требао континуирано побољшавати. Ове технике су одабране и примењене.
- Демингов точак (ПДЦА циклус) је најчешће коришћена техника.
- Побољшани квалитет процеса испитивања смањује трошкове одржавања.
Шта ћете научити:
- Врсте модела
- Кораци за побољшање квалитета софтвера
- Побољшање процеса тестирања софтвера
- # 1) Доступност документа са спецификацијом захтева
- # 2) Укљученост тима за тестирање у дискусије о захтевима
- # 3) Јасан опсег
- # 4) Планирање и извршење теста
- # 5) Преглед тест случајева
- # 6) Осигурајте довољно времена за вршење тестирања
- # 7) Планирање регресионих тестова
- # 8) Аутоматизација теста
- # 9) Тест управљање подацима и извештавање
- # 10) Ретроспекција након сваког спринта
- Закључак
Врсте модела
Доле су наведена 2 модела -
- Референтни модел процеса: Извршите мерење зрелости као део процене, процените организациону способност.
- Референтни модел садржаја: Побољшава пословну процену организационих могућности. На пример, технике бенчмаркинга.
Процесни модели
Постоје 4 модела процеса:
# 1) ТММИ: Испитивање модела зрелости
Постоји пет нивоа у моделима испитивања зрелости како су наведени доле -
- Ниво 1: почетни
- Не постоји формално или документовано Структурирано тестирање. Тестирање и развој се раде у Адхоц облику након кодирања.
- Фаза тестирања и отклањања грешака сматрају се истим.
- Ниво 2: Управља се
- Тестирање се врши одвојено од отклањања грешака.
- Постављене су политике и циљеви тестирања.
- Спровести основне технике испитивања.
- Ниво 3: Дефинисано
- Процес тестирања интегрисан је у процес развоја и документован у формалне стандарде, поступке и материјале.
- Ниво 4: Мерено
- Процес тестирања се ефикасно мери и њиме се управља на организационом нивоу.
- Ниво 5: Организовано
- Подаци из процеса испитивања могу се користити за спречавање недостатака и оптимизацију процеса.
# 2) ЦТП: Процес критичног тестирања
- Има 12 процеса тестирања.
- Управља се контекстом, где се идентификују изазови и препознају атрибути доброг процеса.
- Прилагодљив је
- Укључује употребу метрике за бенчмаркинг.
# 3) ТПИ Следећи
- Дефинише 16 процесних подручја и свако покрива одређени аспект процеса тестирања.
- Има 4 нивоа зрелости: почетни, контролисани, ефикасан и оптимизујући.
- Контролне тачке су дефинисане за приступ сваком нивоу.
- Налази се сумирају и визуализују помоћу Метрике зрелости.
- Може се прилагодити.
# 4) КОРАК
- Процес систематског испитивања и оцењивања.
- Референтни модел контекста.
- Не захтева побољшање да би се догодило у одређеном редоследу.
- Користи тестирање засновано на захтевима.
- Тестирање је активност животног циклуса која започиње током фазе захтева и наставља се до пензионисања.
- Дефекти се откривају раније и анализирају.
- Испитивачи и програмери раде заједно.
- Тестови се користе као модел захтева и употребе. Дизајн тестног софтвера доводи до софтверског дизајна.
Кораци за побољшање квалитета софтвера
Корак # 1) Покрените процес побољшања:
- Интересне стране се договарају о циљевима, циљевима, обиму и покривености.
- Треба дефинисати критеријуме успеха.
- Метод треба успоставити за мерење побољшања.
Корак # 2) Дијагностиковање тренутне ситуације:
како направити апликацију на једној страници користећи ангуларјс
- Подузима се приступ бесплатном оцењивању и креира се извештај о оцени теста.
- Садржи оцену тренутне праксе тестирања и листу побољшања процеса.
Корак # 3) Деловање на спровођењу побољшања:
- Обука и менторство се раде.
Корак # 4) Учење из плана побољшања:
- Утврдите која је накнада примљена поред очекиване.
- Монитор
Усредсредимо се на први горе поменути корак, тј. Како побољшати квалитет софтвера побољшањем процеса.
Побољшање процеса тестирања софтвера
Тестирање софтвера није само тестирање производа да би се проверило да ли су захтеви испуњени или не, већ је то процес контроле квалитета као и осигурања.
- Контрола квалитета: Метода откривања и исправљања недостатака.
- Гаранција квалитета : Метода спречавања квара када је производ под контролом.
Предности тестирања софтвера су сажете у наставку:
- Тестирање софтвера проверава да ли правимо прави производ тестирањем стварног производа.
- Проверава да ли је развојни процес постигнут стандардима квалитета или не.
- Осигурава да производ испуњава све специфициране захтеве купца.
- Тестирање софтвера фокусира се на потпуност, исправност и доследност коначног производа.
- Проверавамо да ли производ правимо кроз проверу процеса.
- Одговорна је за потврду да софтверски производ нема грешака.
Сада ћемо разговарати о различитим корацима и техникама за побољшање процеса тестирања софтвера како бисмо постигли квалитетан софтверски производ.
# 1) Доступност документа са спецификацијом захтева
Први циљ управљања захтевима је изградња узајамне перцепције између клијента и тима за развој софтвера како би се усредсредили на све захтеве за дефинисани софтверски пројекат. Примарни исход управљања захтевима је документ са спецификацијама захтева.
Документ са спецификацијом захтева објашњава све техничке / нетехничке захтеве пословне потребе који су потребни за развој софтверског производа.
Већину времена у животном циклусу развоја софтвера ови кључни документи недостају, нису адекватни или нису доступни на почетку планирања спринта, па постоји велика разлика између онога што се тражи и онога што се испоручује.
Стога, да би се искорениле ове рупе, први корак је добијање ових основних докумената од пословних корисника, јер то испитнику помаже да разуме све захтеве од самог почетка.
Класификација захтева:
Рана доступност ових докумената од стране купца врло је добра пракса за побољшање процеса тестирања софтвера, јер цео пројекат зависи само од захтева.
Неки од кључних докумената са захтевима укључују:
- СРС (спецификација софтверског захтева): Ово објашњава сврху, опсег, функционалне и нефункционалне захтеве, укључујући софтверске и хардверске захтеве пројекта .
- ХЛД (дизајн на високом нивоу): Овај документ треба да преведе спецификације у логички или графички приказ софтвера за имплементацију .
- РТМ (Матрица сљедивости захтјева): Укључује мапирање матрице захтева корисничког захтева и документ о валидацији теста или документ о тест случају .
# 2) Укљученост тима за тестирање у дискусије о захтевима
Један од основних кључева за изградњу успешног пројекта је јасна и ефикасна комуникација између свих чланова тима за дизајн, развој и тестирање.
Тим за тестирање треба да буде укључен у све кључне састанке и састанке за дизајн, укључујући дизајн апликација и сесије за дефинисање захтева, због чега тим за тестирање може да побољша следећи задатак на рафиниранији начин.
- Припрема документа о стратегији испитивања.
- Припрема документа о плану испитивања и процена напора испитивања.
- Планирање тимског тима за активности испитивања.
- Писање тест случајева.
- Писање тест скрипти за аутоматско тестирање.
- Припрема извештаја о грешкама.
- Управљање грешкама помоћу алата за пријављивање грешака (Јира, Бугзилла, КЦ, итд.)
Требало би да постоји међусобно разумевање и сарадња између свих чланова тима, тако да они могу следити исте ИТ стандарде и технике на којима ће радити и очекивати заједничку визуелизацију, поштујући рад сваког члана тима како би произвели квалитетан производ.
# 3) Јасан опсег
За већину софтвера, ИТ индустрија следи агилни модел, тако да клијент тешко пружа свеобухватан или једноставно дефинисан опсег и они стално мењају захтеве између развојног циклуса.
То доводи до јаза у разумевању између развојног и испитног тима, а резултат не долази увек онако како је предвиђен.
Да би се побољшао поступак тестирања софтвера, увек би требало да постоји јасан опсег, а тим за тестирање треба да буде свестан целокупних захтева и да има потпуно разумевање пре почетка тестирања софтвера. Ово ће заиста увек помоћи у постизању бољих резултата.
Разумевање целокупног опсега / сврхе пројекта такође ће помоћи да се процени ниво / врста или интензитет потребног тестирања.
# 4) Планирање и извршење теста
У овој фази одређујемо комплетан процес тестирања, укључујући дефинисање захтева, техника, стандарда компаније, документације, описа функционалности и ризика који се могу увести током тестирања.
Само планирање теста је комплетан пројекат који је дизајниран да постигне квалитетан производ поделом на следеће важне задатке.
# 1) Тест стратегија: Опис / документ поступка испитивања на високом нивоу треба да се креира како би се извршиле потребе за испитивањем у оквиру тих поступака. Тим за испитивање следи приступ постављен у овим документима. Документ о стратегији испитивања припрема менаџер теста и представља статични документ који се не мења често.
Доље су наведене компоненте документа Стратегије тестирања:
- Опсег испитивања
- Приступ тестирању
- Алати и технике за испитивање.
- Конфигурација
- Детаљи околине
- Софтвер, ИТ стандарди
- Распоред завршетка испитивања
- Изузеци
# 2) План испитивања: Након припреме документа о стратегији испитивања, водитељ теста мора припремити главни и детаљан план испитивања који је изведен из СРС документа.
које је најбоље уклањање вируса
План испитивања описује следеће.
- Шта тестирати?
- Како тестирати?
- Када тестирати?
- Ко ће тестирати?
Ако се захтеви брзо мењају, онда се топло препоручује да имате добро дефинисан и детаљан план испитивања. Кварови на тестирању су углавном због неизвршавања ревизије плана теста.
Карактеристике плана испитивања укључују:
- ИД плана теста
- Увод
- Испитни предмети
- Карактеристике које треба тестирати
- Истакнуто да се не тестира
- Приступ тестирању
- Критеријуми за улазак
- Критеријуми суспензије
- Излазни критеријуми
- Тест Енвиронмент
- Испитни резултати
- Потребе за особљем и обуком
- Одговорности
- Распоред
- Ризик и ублажавање
# 3) Дизајн тест примера: Дизајн тест примера је активност у којој се све расправе о захтевима претварају у формалне документе попут тест случаја, тест скрипте, сценарија теста.
Другим речима, тест случајеви су скуп корака кроз које испитивач утврђује да ли софтверски производ испуњава све захтеве или не упоређујући стварни резултат са очекиваним резултатом.
Формат тест случаја:
Господине Не. | Резиме теста | Корак бр. | Корак | Очекивани резултат | Прави резултат |
---|---|---|---|---|---|
Шта је потребно за писање тест случајева?
Писање тест случајева је практично неопходно како би се тестерима помогло да детаљно разумеју захтеве и осигурало им је да им приступе на прави начин.
Предности тест случајева
- Тест случајеви морају бити комплетирани.
- Помаже у уклањању свих празнина у захтевима.
- Помаже у побољшању процеса тестирања.
- Помаже у побољшању квалитета производа.
- Повећавање самопоуздања да поступамо на прави начин.
- Помаже у провери очекивања.
- Омогућава испитивачу да размишља свеобухватно и помаже да покрије све позитивне и негативне сценарије.
# 5) Преглед тест случајева
Преглед тестног случаја игра важну улогу у животном циклусу развоја софтвера у било којој организацији, јер је крајњи циљ купца да добије производ „Без дефеката“ и треба да испуњава све наведене захтеве.
Главна сврха прегледа тест случајева: процена потпуности, повећање покривености тестом и исправност анализираних захтева, и што је најважније „Нема разлике између разумевања захтева“ чиме се побољшава квалитет производа.
У наставку су наведене предности прегледа тестова:
- Спречавање квара.
- Рано упозорење о дизајну и захтевима.
- Сви сценарији су забележени или не.
- Читав сценарио је релевантан или не.
- Покривеност тест случаја је у складу са захтевима производа.
- Помаже у уштеди времена за тестирање.
# 6) Осигурајте довољно времена за вршење тестирања
За било који испитивач временско ограничење један је од уобичајених изазова с којим се обично суочавају током тестирања, а то драстично утиче на квалитет производа. Типично, у спринту је први корак да се захтеви замрзну, а затим се производ развије, а касније дође до КА тима пре УАТ-а и примене.
У УАТ-у су датуми фиксни, али због многих познатих / непознатих проблема развојни циклуси се продужавају и то доводи до временског кршења КА активности, што на крају утиче на тестирање квалитета.
Стога је веома важно добити довољно времена за обављање активности испитивања кроз доленаведене тачке како бисте осигурали производ без кварова:
- Пажљиво анализирајте сваку корисничку причу.
- Наведите процену напора за тест за сваки задатак.
- Истражите технологије тестирања за брзи рад.
- Планирајте ресурсе за тестирање.
- Снимите грешке.
- Избегавајте понављајуће задатке.
# 7) Планирање регресионих тестова
Генерално, након извршавања потребних промена у кодирању софтвера, ради решавања недостатака, развојни тим издаје модификовану верзију тиму за тестирање како би потврдио недостатке. Понекад чак и мала промена кодирања може озбиљно утицати на друга подручја софтвера која нису додирнута.
Да би побољшали квалитет софтверских производа, тестери би увек требало да планирају регресијско тестирање како би менаџерском тиму, програмерима, тестерима и клијентима пружили уверење да нова функција не утиче на било коју од постојећих функционалности, као и да би потврдили да нови проблеми нису изложени у оне функционалности које се не мењају.
Значај регресивног испитивања
- Корисно је открити проблеме / у почетној фази.
- Обезбеђује да се софтверски производи могу применити.
- Потврђује да се због нових промена нека претходна издања не отварају поново.
- Изградите поверење клијента да бисте имали софтверске производе без грешака.
Различити начини извођења регресивног тестирања:
Испитивање регресије потребно је кад год постоји нова функционалност; квар на постојећем производу мора бити исправан, модификација постојеће функционалности и брисање постојећих карактеристика. Ове промене кода могу довести до новог квара у систему и систем почиње да ради неисправно.
У наставку су наведени различити начини на које би могло да се изврши регресијско тестирање.
- Поновно тестирање комплетне тестне одеће.
- Избор случајева регресионих тестова.
- Одређивање приоритета тест случајева.
# 8) Аутоматизација теста
У данашњем свету је тестирање софтвера пресудан део процеса животног циклуса развоја софтвера. Да би се смањио ручни напоран рад на тестирању, многе компаније се одлучују за аутоматизацију тестова за паметан рад.
Међутим, могућности аутоматизације се помичу и смањују време за повећање брзине и потпуну покривеност тестом и, што је најважније, оптимизација трошкова КА на крају.
Стога се аутоматизација испитивања даје предност над ручним тестирањем, него проналажењу алтернативе са најисплативијим или највише достижним перформансама како би се постигао максималан резултат или исход уз минималне трошкове или трошкове.
(слика извор )
јава интервју питање и одговор за свежије
Штавише, аутоматизација испитивања даје много разлога за побољшање процеса тестирања у различитим фазама.
- Постизање циљева уз минималне трошкове на дужи рок.
- Скраћено време извршења.
- Способности повећања покривености тестом.
- Повећана ефикасност и продуктивност.
- Смањен ручни напор
- Смањен рад који се понавља
- Корисно у регресионом тестирању
- Повећајте квалитете скриптирања
- Више поузданости
# 9) Тест управљање подацима и извештавање
Управљање тестом је процес управљања активностима тестирања, као што су организовање ресурса за тестирање, процена, планирање, стратегирање напора на тестирању, праћење напретка тестова, извештавање о тестовима и контрола.
Управљање тестом је начин за испоруку квалитетног софтверског производа, као и ефикасан начин за побољшање процеса тестирања софтвера. Управљање тестовима није ефикасно само за аутоматизацију већ и код ручног тестирања.
- Организација за тестирање : Стварање и препознавање испитног тима и задатак.
- Планирање теста : Евиденција разговора и договора између тестера и остатка пројектног тима.
- Тест стратегија : Утврдити опсег испитивања, поступак испитивања, технике тестирања и приступ, процењујући напоре и трошкове испитивања.
- Извршење теста : Документација за тест случајеве, креирање и извршавање скрипти.
- Тест праћење и контрола : Процените статус извршења задатка.
- Извештавање о испитивању : Ефикасно саопштавање налаза и статуса тестног тима осталим заинтересованим странама. Постоји много начина извештавања о статусу, на пример стварањем резимеа теста, директним статусом теста у е-пошти или стварањем контролне табле и слањем везе на контролној табли.
# 10) Ретроспекција након сваког спринта
Ретроспективни састанак је формално окупљање које је на крају спринта одржао тим за развој софтвера како би се проверили и разговарали о постигнућима и неуспесима и израдили нови планови за будућа побољшања за предстојеће спринтеве.
Извођење ретроспектива након сваког спринта даје тимовима прилику за континуирано побољшање њихових перформанси и побољшање не само процеса тестирања софтвера већ и свих осталих укључених активности.
Области фокуса у ретроспекцији:
- Шта је прошло добро?
- Шта није добро прошло?
- Шта смо научили?
- Како да се побољша?
- Шта је добро прошло ?: Најбољи начин за дискусију о побољшању је прво проценити добре ствари које су се догодиле тако да дискусија започне позитивно и прославити разлог који стоји иза успеха, а тим такође одржава енергију и даље разговара у срећном окружењу.
- Шта није добро прошло? : Циљ овог питања не би требало да буде кривица појединаца, већ утврђивање разлога који стоје иза неуспеха или грешака. Сваки члан треба да учествује да одговори на ово питање како бисмо били упознати са постојећим проблемом и решењима за њихово решавање у даљим спринтима. Кључ успешног пројекта је прихватити грешку и радити на њој.
- Шта смо научили? : Да не бисмо понављали грешке и фокусирали се на нове процесе и алате или технике, можемо их представити или користити за постизање бољих резултата.
- Како да се побољша? : Прихватањем свих грешака које су почињене у претходном спринту и побољшању вештина постављених у свим одељењима и позитивним документовањем свих повратних информација како би се у даљим спринтовима радило много више и боље.
Закључак
Иза сваке успешне испоруке производа требале би постојати неке стратегије за праћење различитих процеса тестирања софтвера. Примените ове једноставне кораке за побољшање процеса тестирања софтвера, поменуте у овом чланку, да бисте испоручили производ најбољег квалитета.
У овом упутству смо покрили разне кораке и технике за побољшање процеса који се могу следити у било ком СДЛЦ (животном циклусу развоја софтвера) током спринт циклуса, како бисмо испоручили најквалитетнији производ у оптималном временском оквиру.
Очигледно је да је тестирање софтвера саставни део СДЛЦ-а и да је његов циљ вредновање система у целини и задовољавање захтева купаца. Стога бисмо као тим требали применити горе наведене начине за побољшање процеса тестирања софтвера који ће на крају довести до бољих перформанси и квалитета софтверског производа.
Препоручено читање
- 9 најбољих алата за тестирање ВоИП-а: Алати за тестирање брзине и квалитета ВоИП-а (ЛИСТА 2021)
- Разлика између осигурања квалитета и контроле квалитета (КА вс КЦ)
- Анализа режима неуспеха и ефеката (ФМЕА) - Како анализирати ризике за бољи квалитет софтвера и задовољне купце!
- Максимизирање квалитета преласком изнад и преко пуног тестирања стека
- Како се користи Пока-Иоке (Провера грешака) техника за побољшање квалитета софтвера
- 8 кључних показатеља учинка за издања о квалитету (Панаиа Тест Динамик Ревиев)
- Како побољшати процес објављивања теста за успешну производњу софтвера без грешака
- 4 корака ка развоју агилног начина тестирања за успешан прелазак на агилни процес