Артыкулы

Што такое тэставанне праграмнага забеспячэння, што значыць тэставаць праграмнае забеспячэнне

Тэставанне праграмнага забеспячэння - гэта набор працэсаў для даследавання, ацэнкі і высвятлення паўнаты і якасці праграмнага забеспячэння, напісанага для кампутараў. Забяспечвае адпаведнасць праграмнага прадукту нарматыўным, дзелавым, тэхнічным, функцыянальным і карыстальніцкім патрабаванням.

Тэставанне праграмнага забеспячэння або тэставанне праграмнага забеспячэння таксама вядома як тэставанне прыкладанняў.

Тэставанне праграмнага забеспячэння - гэта ў першую чаргу вялікі працэс, які складаецца з некалькіх узаемазвязаных працэсаў. Асноўная мэта тэсціравання праграмнага забеспячэння - вымераць цэласнасць праграмнага забеспячэння разам з яго паўнатой з пункту гледжання фундаментальных патрабаванняў. Тэставанне праграмнага забеспячэння ўключае праверку і тэставанне праграмнага забеспячэння з дапамогай розных працэсаў тэсціравання. Мэты гэтых працэсаў могуць уключаць:

Праверка паўнаты праграмнага забеспячэння на адпаведнасць функцыянальным/бізнэс-патрабаванням
Выяўленне памылак/тэхнічных памылак і забеспячэнне адсутнасці памылак у праграмным забеспячэнні
Ацэнка зручнасці выкарыстання, прадукцыйнасці, бяспекі, лакалізацыі, сумяшчальнасці і ўстаноўкі
Праверанае праграмнае забеспячэнне павінна прайсці ўсе тэсты, каб быць поўным або прыдатным для выкарыстання. Некаторыя з розных тыпаў метадаў тэсціравання праграмнага забеспячэння ўключаюць тэставанне белай скрыні, тэсціраванне чорнай скрыні і тэсціраванне шэрага скрыні. Акрамя таго, праграмнае забеспячэнне можа быць пратэставана ў цэлым, у кампанентах/блоках або ў жывой сістэме.

Тэставанне чорнай скрыні

Тэставанне чорнай скрыні - гэта метад тэсціравання праграмнага забеспячэння, які сканцэнтраваны на аналізе функцыянальнасці праграмнага забеспячэння з улікам унутранай працы сістэмы. Black Box Testing быў распрацаваны як метад аналізу патрабаванняў кліентаў, спецыфікацый і стратэгій праектавання высокага ўзроўню.

Тэстар Black Box Testing выбірае набор сапраўдных і несапраўдных умоў выканання кода і ўводу, а таксама правярае сапраўдныя выходныя адказы.

Тэставанне чорнай скрыні таксама вядома як функцыянальнае тэставанне або тэставанне закрытай скрыні.

Пошукавая сістэма з'яўляецца простым прыкладам прыкладання, якое падлягае тэсціраванню чорнай скрыні. Карыстальнік пошукавай сістэмы ўводзіць тэкст у радок пошуку вэб-браўзера. Затым пошукавая сістэма знаходзіць і здабывае вынікі карыстальніцкіх даных (вывад).

Перавагі Black Box Testing ўключаюць:

  • Прастата: палягчае тэставанне высокаўзроўневых праектаў і складаных прыкладанняў
  • Эканомія рэсурсаў: Тэсціроўшчыкі засяроджваюцца на функцыянальнасці праграмнага забеспячэння.
  • Тэставыя прыклады: Засяродзьцеся на функцыянальнасці праграмнага забеспячэння для хуткай распрацоўкі тэставых прыкладаў.
  • Забяспечвае гібкасць: спецыяльныя веды праграмавання не патрабуюцца.

Тэставанне чорнай скрыні таксама мае некаторыя недахопы, а менавіта:

  • Распрацоўка і абслугоўванне тэставага выпадку/сцэнарыя могуць быць складанымі, таму што інструменты тэсціравання Black Box залежаць ад вядомых уваходных дадзеных.
  • Узаемадзеянне з графічным інтэрфейсам карыстальніка (GUI) можа пашкодзіць тэставыя сцэнарыі.
  • Тэсты тычацца толькі функцый прыкладання.

Тэст белай скрыні

Падчас тэсціравання белай скрыні код запускаецца з папярэдне выбранымі ўваходнымі значэннямі для праверкі папярэдне выбраных выходных значэнняў. Тэставанне белай скрыні часта ўключае ў сябе напісанне кода-заглушкі (фрагмента кода, які выкарыстоўваецца для замены пэўнай функцыі. Заглушка можа імітаваць паводзіны існуючага кода, напрыклад, працэдуры на выдаленай машыне.), а таксама драйвераў.

Перавагі тэсціравання ў белай скрыні ўключаюць:

  • Дазваляе паўторнае выкарыстанне тэставых выпадкаў і забяспечвае большую стабільнасць
  • Палягчае аптымізацыю кода
  • Палягчае пошук месцаў схаваных памылак на ранніх стадыях развіцця
  • Спрыяе эфектыўнаму тэсціраванню прыкладанняў
  • Выдаліце ​​непатрэбныя радкі кода


Да недахопаў можна аднесці:

  • Патрабуецца вопытны тэстар з веданнем унутранай структуры
  • Патрабуецца час
  • Высокія выдаткі
  • Праверка бітавага кода складаная.
  • Тэставанне белай скрыні ўключае модульнае тэсціраванне, інтэграцыйнае тэсціраванне і рэгрэсійнае тэсціраванне.

Блок тэсту

Unit Test - гэта кампанент жыццёвага цыкла распрацоўкі праграмнага забеспячэння (SDLC), у якім комплексная працэдура тэсціравання індывідуальна прымяняецца да найменшых частак праграмнага забеспячэння для жаданай прыдатнасці або паводзін.


Адзінкавы тэст - гэта працэдура вымярэння і ацэнкі якасці, якая прымяняецца ў большасці мерапрыемстваў па распрацоўцы карпаратыўнага праграмнага забеспячэння. Увогуле, модульны тэст ацэньвае, наколькі код праграмнага забеспячэння адпавядае агульнай мэты праграмнага забеспячэння/прыкладання/праграмы і як яго прыдатнасць уплывае на іншыя меншыя блокі. Модульныя тэсты могуць праводзіцца ўручную - адным або некалькімі распрацоўшчыкамі - або з дапамогай аўтаматызаванага праграмнага рашэння.

Падчас тэставання кожны блок ізаляваны ад асноўнай праграмы або інтэрфейсу. Модульныя тэсты звычайна праводзяцца пасля распрацоўкі і перад разгортваннем, што палягчае інтэграцыю і ранняе выяўленне праблем. Памер або аб'ём блока вар'іруецца ў залежнасці ад мовы праграмавання, праграмнага прылажэння і мэтаў тэставання.

Функцыянальны тэст

Функцыянальнае тэставанне - гэта працэс тэсціравання, які выкарыстоўваецца пры распрацоўцы праграмнага забеспячэння, дзе праграмнае забеспячэнне правяраецца на адпаведнасць усім патрабаванням. Гэта спосаб праверкі праграмнага забеспячэння, каб пераканацца, што яно мае ўсе неабходныя функцыі, указаныя ў яго функцыянальных патрабаваннях.


Функцыянальнае тэсціраванне ў асноўным выкарыстоўваецца для праверкі таго, што частка праграмнага забеспячэння забяспечвае той жа вынік, які патрабуецца канчатковаму карыстальніку або бізнесу. Як правіла, функцыянальнае тэставанне ўключае ў сябе ацэнку і параўнанне кожнай функцыі праграмнага забеспячэння з патрабаваннямі бізнесу. Праграмнае забеспячэнне правяраецца шляхам прадастаўлення яму адпаведнай інфармацыі, каб вынік можна было ацаніць, каб убачыць, наколькі яно адпавядае асноўным патрабаванням, суадносіцца з імі ці адрозніваецца ад іх. Акрамя таго, функцыянальныя тэсты таксама правяраюць зручнасць выкарыстання праграмнага забеспячэння, напрыклад, пераканаўшыся, што функцыі навігацыі працуюць належным чынам.

Інавацыйны бюлетэнь
Не прапусціце самыя важныя навіны пра інавацыі. Падпішыцеся, каб атрымліваць іх па электроннай пошце.

Рэгрэсійнае тэсціраванне

Рэгрэсіўнае тэсціраванне - гэта тып тэсціравання праграмнага забеспячэння, які выкарыстоўваецца для вызначэння таго, ці з'яўляюцца новыя праблемы вынікам змяненняў праграмнага забеспячэння.

Перш чым прымяніць змены, праграма тэстуецца. Пасля прымянення змяненняў праграма паўторна тэстуецца ў выбраных абласцях, каб выявіць, ці стварылі змяненні новыя памылкі або праблемы, ці сапраўды змяненне паслужыла сваёй мэты.


Рэгрэсійнае тэсціраванне вельмі важна для вялікіх праграмных прыкладанняў, бо часта бывае цяжка даведацца, ці стварыла змяненне адной часткі праблемы новую праблему для іншай часткі праграмы. Напрыклад, змяненне формы заяўкі на пазыку ў банку можа прывесці да збою штомесячнай справаздачы аб аперацыях. У большасці выпадкаў праблемы могуць здавацца не звязанымі паміж сабой, але на самой справе яны могуць быць прычынай расчаравання сярод распрацоўшчыкаў прыкладанняў.

Іншыя сітуацыі, якія патрабуюць рэгрэсійнага тэсціравання, уключаюць выяўленне таго, ці дасягаюць пэўныя змены пастаўленай мэты, або праверку новых небяспек, звязаных з праблемамі, якія ўзнікаюць пасля перыяду адсутнасці праблем.

Сучаснае рэгрэсійнае тэсціраванне ў асноўным праводзіцца з дапамогай спецыялізаваных камерцыйных інструментаў тэсціравання, якія робяць здымкі існуючага праграмнага забеспячэння, якія потым параўноўваюцца пасля ўнясення пэўных змяненняў. Людскім тэсціроўшчыкам амаль немагчыма выконваць тыя ж задачы гэтак жа эфектыўна, як аўтаматычным тэсціроўшчыкам праграмнага забеспячэння. Гэта асабліва актуальна для вялікіх і складаных праграмных прыкладанняў у вялікіх ІТ-асяроддзях, такіх як банкі, бальніцы, вытворчыя кампаніі і буйныя рознічныя гандляры.

Стрэс-тэставанне

Стрэс-тэставанне адносіцца да тэсціравання праграмнага або апаратнага забеспячэння, каб вызначыць, ці з'яўляецца яго прадукцыйнасць здавальняючай у экстрэмальных і неспрыяльных умовах, якія могуць узнікнуць у выніку інтэнсіўнага сеткавага трафіку, загрузкі працэсаў, паніжанага разгону, разгону і пікавага выкарыстання рэсурсаў.

Большасць сістэм распрацоўваецца з улікам нармальных умоў эксплуатацыі. Такім чынам, нават калі ліміт перавышаны, памылкі будуць нязначнымі, калі сістэма праходзіць стрэс-тэст падчас распрацоўкі.


Стрэс-тэставанне выкарыстоўваецца ў наступных кантэкстах:

  • Праграмнае забеспячэнне: стрэс-тэставанне падкрэслівае даступнасць і апрацоўку памылак пры надзвычай вялікіх нагрузках, каб гарантаваць, што праграмнае забеспячэнне не выйдзе з ладу з-за недахопу рэсурсаў. Стрэс-тэставанне праграмнага забеспячэння сканцэнтравана на ідэнтыфікаваных транзакцыях для спынення транзакцый, якія падвяргаюцца моцнай нагрузцы падчас тэставання, нават калі база дадзеных не загружана. Працэс стрэс-тэставання загружае адначасовых карыстальнікаў за межы звычайнага ўзроўню сістэмы, каб знайсці самае слабое звяно ў сістэме.
  • Апаратнае забеспячэнне: стрэс-тэсты забяспечваюць стабільнасць у звычайных вылічальных асяроддзях.
  • Вэб-сайты: стрэс-тэсты вызначаюць межы функцыянальнасці любога сайта.
  • Працэсар: такія змены, як перанапружанне, паніжэнне напружання, аніжаная блакіроўка і разблакіроўка, правяраюцца, каб вызначыць, ці могуць яны спраўляцца з вялікімі нагрузкамі, запускаючы праграму з інтэнсіўнымі нагрузкамі на працэсар для праверкі збояў або завісанняў сістэмы. Стрэс-тэст працэсара таксама вядомы як тэст на катаванні.

Аўтаматычныя тэсты

Аўтаматызаванае тэсціраванне (аўтаматызацыя тэсціравання праграмнага забеспячэння) - гэта падыход да тэсціравання кода, які выкарыстоўвае спецыяльныя праграмныя сродкі, якія аўтаматычна запускаюць тэсты, а затым параўноўваюць рэальныя вынікі тэстаў з чаканымі вынікамі.

Аўтаматызаванае тэсціраванне гуляе важную ролю ў бесперапыннай дастаўцы (CD), бесперапыннай інтэграцыі (CI), DevOps і DevSecOps. Асноўныя перавагі аўтаматызаванага тэсціравання:

  • Аўтаматычнае тэсціраванне эканоміць час і грошы распрацоўшчыкаў, робячы працэс тэсціравання больш эфектыўным.
  • Аўтаматызаваныя тэсты выяўляюць памылкі больш эфектыўна, чым ручныя.
  • Калі тэсты аўтаматызаваны, некалькі інструментаў тэсціравання могуць быць рэалізаваны паралельна.


Пры распрацоўцы праграмнага забеспячэння асабліва карысна выконваць аўтаматызаваныя тэсты ў працэсе зборкі, каб пераканацца, што прыкладанне не мае памылак зборкі і выконвае запланаваную функцыю.

Выдаткаванне часу на аўтаматызацыю тэсціравання праграмнага забеспячэння ў канчатковым рахунку зэканоміць час распрацоўшчыкаў, знізіўшы рызыку таго, што змяненне кода парушыць існуючую функцыянальнасць.


Тэставанне - вельмі важны этап у працэсе распрацоўкі. Гарантуе, што ўсе памылкі выпраўлены і што прадукт, праграмнае або апаратнае забеспячэнне працуе належным чынам або як мага бліжэй да мэтавай прадукцыйнасці. Аўтаматызаванае тэсціраванне, а не ручное тэсціраванне, неабходна для паслядоўнай пастаўкі эканамічна эфектыўнага праграмнага забеспячэння, якое своечасова задавальняе патрэбы карыстальнікаў з мінімальнымі дэфектамі.

Віды аўтаматызаваных тэстаў, якія выкарыстоўваюцца пры распрацоўцы праграмнага забеспячэння
  • Модульны тэст: пратэстуйце адну нізкаўзроўневую праграму ў ізаляваным асяроддзі перад праверкай яе інтэграцыі з іншымі блокамі.
  • Тэставанне інтэграцыі: Модульныя тэсты і іншыя кампаненты прыкладання тэстуюцца як аб'яднаная сутнасць.
  • Функцыянальныя тэсты: праверце, ці паводзіць сябе праграмная сістэма належным чынам.
  • Праверка прадукцыйнасці: Ацаніце надзейнасць прыкладання пры нагрузках, большых за чаканыя. Тэсты прадукцыйнасці часта выяўляюць вузкія месцы.
  • Дымавы тэст: вызначае, ці з'яўляецца зборка дастаткова стабільнай для далейшага тэсціравання.
  • Тэставанне браўзера: пераканайцеся, што праграмныя кампаненты сумяшчальныя з рознымі браўзерамі.

Тэсціраванне ўручную па-ранейшаму праводзіцца ў розны час падчас распрацоўкі, але гэта ў асноўным робіцца распрацоўшчыкамі або самімі інжынерамі апаратнага забеспячэння, каб хутка даведацца, ці мелі ўнесеныя імі змены жаданы эфект.

Ercole Palmeri

Інавацыйны бюлетэнь
Не прапусціце самыя важныя навіны пра інавацыі. Падпішыцеся, каб атрымліваць іх па электроннай пошце.

Апошнія артыкулы

Veeam прапануе самую поўную падтрымку праграм-вымагальнікаў - ад абароны да адказу і аднаўлення

Coveware ад Veeam працягне прадастаўляць паслугі рэагавання на інцыдэнты кібервымагальніцтва. Coveware будзе прапаноўваць судова-медыцынскую экспертызу і магчымасці выпраўлення…

Красавік 23 2024

Зялёная і лічбавая рэвалюцыя: як прагнознае тэхнічнае абслугоўванне трансфармуе нафтагазавую прамысловасць

Прагнастычнае тэхнічнае абслугоўванне рэвалюцыянізуе нафтагазавы сектар з інавацыйным і актыўным падыходам да кіравання заводам.…

Красавік 22 2024

Антыманапольны рэгулятар Вялікабрытаніі падымае трывогу BigTech з нагоды GenAI

CMA Вялікабрытаніі выпусціла папярэджанне аб паводзінах Big Tech на рынку штучнага інтэлекту. Там…

Красавік 18 2024

Casa Green: энергетычная рэвалюцыя для ўстойлівай будучыні ў Італіі

Указ «Зялёныя дамы», распрацаваны Еўрапейскім саюзам для павышэння энергаэфектыўнасці будынкаў, завяршыў свой заканадаўчы працэс з...

Красавік 18 2024

Чытайце Innovation на сваёй мове

Інавацыйны бюлетэнь
Не прапусціце самыя важныя навіны пра інавацыі. Падпішыцеся, каб атрымліваць іх па электроннай пошце.

Выконвайце за намі