Тэставанне праграмнага забеспячэння або тэставанне праграмнага забеспячэння таксама вядома як тэставанне прыкладанняў.
Тэставанне праграмнага забеспячэння - гэта ў першую чаргу вялікі працэс, які складаецца з некалькіх узаемазвязаных працэсаў. Асноўная мэта тэсціравання праграмнага забеспячэння - вымераць цэласнасць праграмнага забеспячэння разам з яго паўнатой з пункту гледжання фундаментальных патрабаванняў. Тэставанне праграмнага забеспячэння ўключае праверку і тэставанне праграмнага забеспячэння з дапамогай розных працэсаў тэсціравання. Мэты гэтых працэсаў могуць уключаць:
Праверка паўнаты праграмнага забеспячэння на адпаведнасць функцыянальным/бізнэс-патрабаванням
Выяўленне памылак/тэхнічных памылак і забеспячэнне адсутнасці памылак у праграмным забеспячэнні
Ацэнка зручнасці выкарыстання, прадукцыйнасці, бяспекі, лакалізацыі, сумяшчальнасці і ўстаноўкі
Праверанае праграмнае забеспячэнне павінна прайсці ўсе тэсты, каб быць поўным або прыдатным для выкарыстання. Некаторыя з розных тыпаў метадаў тэсціравання праграмнага забеспячэння ўключаюць тэставанне белай скрыні, тэсціраванне чорнай скрыні і тэсціраванне шэрага скрыні. Акрамя таго, праграмнае забеспячэнне можа быць пратэставана ў цэлым, у кампанентах/блоках або ў жывой сістэме.
Тэставанне чорнай скрыні - гэта метад тэсціравання праграмнага забеспячэння, які сканцэнтраваны на аналізе функцыянальнасці праграмнага забеспячэння з улікам унутранай працы сістэмы. Black Box Testing быў распрацаваны як метад аналізу патрабаванняў кліентаў, спецыфікацый і стратэгій праектавання высокага ўзроўню.
Тэстар Black Box Testing выбірае набор сапраўдных і несапраўдных умоў выканання кода і ўводу, а таксама правярае сапраўдныя выходныя адказы.
Тэставанне чорнай скрыні таксама вядома як функцыянальнае тэставанне або тэставанне закрытай скрыні.
Пошукавая сістэма з'яўляецца простым прыкладам прыкладання, якое падлягае тэсціраванню чорнай скрыні. Карыстальнік пошукавай сістэмы ўводзіць тэкст у радок пошуку вэб-браўзера. Затым пошукавая сістэма знаходзіць і здабывае вынікі карыстальніцкіх даных (вывад).
Перавагі Black Box Testing ўключаюць:
Тэставанне чорнай скрыні таксама мае некаторыя недахопы, а менавіта:
Падчас тэсціравання белай скрыні код запускаецца з папярэдне выбранымі ўваходнымі значэннямі для праверкі папярэдне выбраных выходных значэнняў. Тэставанне белай скрыні часта ўключае ў сябе напісанне кода-заглушкі (фрагмента кода, які выкарыстоўваецца для замены пэўнай функцыі. Заглушка можа імітаваць паводзіны існуючага кода, напрыклад, працэдуры на выдаленай машыне.), а таксама драйвераў.
Перавагі тэсціравання ў белай скрыні ўключаюць:
Да недахопаў можна аднесці:
Unit Test - гэта кампанент жыццёвага цыкла распрацоўкі праграмнага забеспячэння (SDLC), у якім комплексная працэдура тэсціравання індывідуальна прымяняецца да найменшых частак праграмнага забеспячэння для жаданай прыдатнасці або паводзін.
Адзінкавы тэст - гэта працэдура вымярэння і ацэнкі якасці, якая прымяняецца ў большасці мерапрыемстваў па распрацоўцы карпаратыўнага праграмнага забеспячэння. Увогуле, модульны тэст ацэньвае, наколькі код праграмнага забеспячэння адпавядае агульнай мэты праграмнага забеспячэння/прыкладання/праграмы і як яго прыдатнасць уплывае на іншыя меншыя блокі. Модульныя тэсты могуць праводзіцца ўручную - адным або некалькімі распрацоўшчыкамі - або з дапамогай аўтаматызаванага праграмнага рашэння.
Падчас тэставання кожны блок ізаляваны ад асноўнай праграмы або інтэрфейсу. Модульныя тэсты звычайна праводзяцца пасля распрацоўкі і перад разгортваннем, што палягчае інтэграцыю і ранняе выяўленне праблем. Памер або аб'ём блока вар'іруецца ў залежнасці ад мовы праграмавання, праграмнага прылажэння і мэтаў тэставання.
Функцыянальнае тэставанне - гэта працэс тэсціравання, які выкарыстоўваецца пры распрацоўцы праграмнага забеспячэння, дзе праграмнае забеспячэнне правяраецца на адпаведнасць усім патрабаванням. Гэта спосаб праверкі праграмнага забеспячэння, каб пераканацца, што яно мае ўсе неабходныя функцыі, указаныя ў яго функцыянальных патрабаваннях.
Функцыянальнае тэсціраванне ў асноўным выкарыстоўваецца для праверкі таго, што частка праграмнага забеспячэння забяспечвае той жа вынік, які патрабуецца канчатковаму карыстальніку або бізнесу. Як правіла, функцыянальнае тэставанне ўключае ў сябе ацэнку і параўнанне кожнай функцыі праграмнага забеспячэння з патрабаваннямі бізнесу. Праграмнае забеспячэнне правяраецца шляхам прадастаўлення яму адпаведнай інфармацыі, каб вынік можна было ацаніць, каб убачыць, наколькі яно адпавядае асноўным патрабаванням, суадносіцца з імі ці адрозніваецца ад іх. Акрамя таго, функцыянальныя тэсты таксама правяраюць зручнасць выкарыстання праграмнага забеспячэння, напрыклад, пераканаўшыся, што функцыі навігацыі працуюць належным чынам.
Рэгрэсіўнае тэсціраванне - гэта тып тэсціравання праграмнага забеспячэння, які выкарыстоўваецца для вызначэння таго, ці з'яўляюцца новыя праблемы вынікам змяненняў праграмнага забеспячэння.
Перш чым прымяніць змены, праграма тэстуецца. Пасля прымянення змяненняў праграма паўторна тэстуецца ў выбраных абласцях, каб выявіць, ці стварылі змяненні новыя памылкі або праблемы, ці сапраўды змяненне паслужыла сваёй мэты.
Рэгрэсійнае тэсціраванне вельмі важна для вялікіх праграмных прыкладанняў, бо часта бывае цяжка даведацца, ці стварыла змяненне адной часткі праблемы новую праблему для іншай часткі праграмы. Напрыклад, змяненне формы заяўкі на пазыку ў банку можа прывесці да збою штомесячнай справаздачы аб аперацыях. У большасці выпадкаў праблемы могуць здавацца не звязанымі паміж сабой, але на самой справе яны могуць быць прычынай расчаравання сярод распрацоўшчыкаў прыкладанняў.
Іншыя сітуацыі, якія патрабуюць рэгрэсійнага тэсціравання, уключаюць выяўленне таго, ці дасягаюць пэўныя змены пастаўленай мэты, або праверку новых небяспек, звязаных з праблемамі, якія ўзнікаюць пасля перыяду адсутнасці праблем.
Сучаснае рэгрэсійнае тэсціраванне ў асноўным праводзіцца з дапамогай спецыялізаваных камерцыйных інструментаў тэсціравання, якія робяць здымкі існуючага праграмнага забеспячэння, якія потым параўноўваюцца пасля ўнясення пэўных змяненняў. Людскім тэсціроўшчыкам амаль немагчыма выконваць тыя ж задачы гэтак жа эфектыўна, як аўтаматычным тэсціроўшчыкам праграмнага забеспячэння. Гэта асабліва актуальна для вялікіх і складаных праграмных прыкладанняў у вялікіх ІТ-асяроддзях, такіх як банкі, бальніцы, вытворчыя кампаніі і буйныя рознічныя гандляры.
Стрэс-тэставанне адносіцца да тэсціравання праграмнага або апаратнага забеспячэння, каб вызначыць, ці з'яўляецца яго прадукцыйнасць здавальняючай у экстрэмальных і неспрыяльных умовах, якія могуць узнікнуць у выніку інтэнсіўнага сеткавага трафіку, загрузкі працэсаў, паніжанага разгону, разгону і пікавага выкарыстання рэсурсаў.
Большасць сістэм распрацоўваецца з улікам нармальных умоў эксплуатацыі. Такім чынам, нават калі ліміт перавышаны, памылкі будуць нязначнымі, калі сістэма праходзіць стрэс-тэст падчас распрацоўкі.
Стрэс-тэставанне выкарыстоўваецца ў наступных кантэкстах:
Аўтаматызаванае тэсціраванне (аўтаматызацыя тэсціравання праграмнага забеспячэння) - гэта падыход да тэсціравання кода, які выкарыстоўвае спецыяльныя праграмныя сродкі, якія аўтаматычна запускаюць тэсты, а затым параўноўваюць рэальныя вынікі тэстаў з чаканымі вынікамі.
Аўтаматызаванае тэсціраванне гуляе важную ролю ў бесперапыннай дастаўцы (CD), бесперапыннай інтэграцыі (CI), DevOps і DevSecOps. Асноўныя перавагі аўтаматызаванага тэсціравання:
Пры распрацоўцы праграмнага забеспячэння асабліва карысна выконваць аўтаматызаваныя тэсты ў працэсе зборкі, каб пераканацца, што прыкладанне не мае памылак зборкі і выконвае запланаваную функцыю.
Выдаткаванне часу на аўтаматызацыю тэсціравання праграмнага забеспячэння ў канчатковым рахунку зэканоміць час распрацоўшчыкаў, знізіўшы рызыку таго, што змяненне кода парушыць існуючую функцыянальнасць.
Тэставанне - вельмі важны этап у працэсе распрацоўкі. Гарантуе, што ўсе памылкі выпраўлены і што прадукт, праграмнае або апаратнае забеспячэнне працуе належным чынам або як мага бліжэй да мэтавай прадукцыйнасці. Аўтаматызаванае тэсціраванне, а не ручное тэсціраванне, неабходна для паслядоўнай пастаўкі эканамічна эфектыўнага праграмнага забеспячэння, якое своечасова задавальняе патрэбы карыстальнікаў з мінімальнымі дэфектамі.
Тэсціраванне ўручную па-ранейшаму праводзіцца ў розны час падчас распрацоўкі, але гэта ў асноўным робіцца распрацоўшчыкамі або самімі інжынерамі апаратнага забеспячэння, каб хутка даведацца, ці мелі ўнесеныя імі змены жаданы эфект.
Ercole Palmeri
Coveware ад Veeam працягне прадастаўляць паслугі рэагавання на інцыдэнты кібервымагальніцтва. Coveware будзе прапаноўваць судова-медыцынскую экспертызу і магчымасці выпраўлення…
Прагнастычнае тэхнічнае абслугоўванне рэвалюцыянізуе нафтагазавы сектар з інавацыйным і актыўным падыходам да кіравання заводам.…
CMA Вялікабрытаніі выпусціла папярэджанне аб паводзінах Big Tech на рынку штучнага інтэлекту. Там…
Указ «Зялёныя дамы», распрацаваны Еўрапейскім саюзам для павышэння энергаэфектыўнасці будынкаў, завяршыў свой заканадаўчы працэс з...