Многе врсте метода тестирања софтвера

click fraud protection

Пре него што се софтвер испоручи за јавну или комерцијалну употребу, програмери проводе сате пеглајући сваку грешку, а производ остаје у лимбу док сви заинтересовани не буду задовољни.

Софтверски гиганти из Силицијумске долине попут Гугла и Фејсбука често ће испоручивати популарне производе на тржиште упркос грешкама ниског приоритета њиховог софтвера. Инвеститори и милиони лојалних корисника ће толерисати ажурирања софтвера и привремене прегибе у производима које ове компаније нуде.

Већина софтверских компанија нема овај луксуз. Купци желе да производи раде онако како се рекламирају и с правом су забринути ако постоје нерешене рањивости.

Зашто су вештине тестирања неопходне?

Са толико доступних опција за развој софтвера, купци не размишљају двапут о прескакању брода ако производ смрди на изгубљено време и новац. Софтверске компаније морају извршити ригорозно тестирање својих производа пре него што их пусте купцима. Ови тестови нуде следеће увиде:

  • Они истичу разлике између оригиналног концепта и коначног резултата.
  • Они потврђују да софтвер ради како су дизајнери планирали.
  • Они процењују карактеристике и квалитет.
  • Они потврђују да крајњи производ испуњава захтеве купаца.

Тестирање прати строги план за оптимизацију радног оптерећења, времена и новца, а истовремено пружајући заинтересованим странама битне информације за померање производа напред. Циљ је да се омогући позитивно искуство крајњег корисника одржавањем темељног гаранција квалитета (КА) програм. С обзиром на високе улоге за програмере, КА менаџери су неки од њих врхунски зарађивачи у технолошкој индустрији. Тестирање обично следи ове кораке:

  1. Спроведите анализу захтева, где менаџери излажу план за постављање одговарајуће стратегије тестирања.
  2. Започните тестове и анализирајте резултате.
  3. Исправите све недостатке и ставите софтвер кроз регресијско тестирање (систем за проверу да ли програм и даље ради након измена).
  4. Направите извештај о затварању теста са детаљима о процесу и резултатима.

Појединци могу постати сертификовани тестери софтвера преко БЦС-а, Цхартеред Институте фор ИТ, ИСТКБ (Међународни одбор за квалификације за тестирање софтвера), и АСК (Америчко друштво за квалитет).

Методе тестирања софтвера

Тестирање црно-белих кутија су две основне методе за процену понашања и перформанси производа. Тестирање црне кутије, које се назива и функционално тестирање или тестирање засновано на спецификацијама, фокусира се на излаз. Тестери се не баве унутрашњим механизмима. Они само проверавају да ли софтвер ради оно што би требало да ради. Познавање кодирања није неопходно, а тестери раде на нивоу корисничког интерфејса.

Тестирање беле кутије користи искуство кодирања као део тестне процедуре. Када производ не успе, тестери залазе дубоко у код како би пронашли узрок. Програмери софтвера ће то сами урадити јер клијенти очекују да ће производ радити. Тестирање беле кутије се такође назива тестирање „на основу структуре“ или „стаклене кутије“.

Статичко тестирање испитује изворни код и сву пратећу документацију, али не извршава програм. Статички тестови почињу рано у развоју производа током процеса верификације.

Динамичко тестирање користи различите улазе када је софтвер покренут, а тестери упоређују резултате са очекиваним понашањем. Тестирање графичког корисничког интерфејса процењује форматирање текста, оквире за текст, дугмад, листе, изглед, боје и друге ставке интерфејса. ГУИ тестирање је дуготрајно, а компаније треће стране често преузимају задатак уместо програмера.

Тест Левелс

Различити нивои тестирања се користе за идентификацију области слабости и преклапања у свакој фази животни циклус развоја софтвера. Нивои теста су:

  • Јединични тест
  • Интеграционо тестирање
  • Тестирање система
  • Прихватање тестирање

Када тестирају јединице, програмери тестирају најосновније делове кода, као што су класе, интерфејси и функције/процедуре. Они знају како њихов код треба да реагује и могу да изврше подешавања у зависности од излаза.

Интеграционо тестирање је такође познато као тестирање "модула" или "програма". Слично је тестирању јединица, али садржи виши ниво интеграције. Модули софтвера се тестирају на дефекте да би се проверила њихова функција. Интеграционо тестирање идентификује грешке када се модули интегришу. Различите методе за интеграцијске тестове укључују "одоздо према горе", "одозго надоле" и "функционално инкрементално".

Тестирање система тестира компоненте пројекта као целине у различитим окружењима. Тестирање система спада у метод црне кутије и један је од завршних тестова у процесу. Он ће одредити да ли је систем спреман да задовољи пословне и корисничке потребе.

Генерално постоје две врсте тестирања прихватања. У алфа тестирању, софтвер се извршава интерно на локацији програмера у симулираном или стварном окружењу. Софтвер ради као да га користе живи крајњи корисници. Програмери праве белешке о свим проблемима и почињу да исправљају грешке и друге проблеме.

Такође у оквиру тестирања црне кутије, у тестирању прихватања, клијенти тестирају софтвер како би сазнали да ли је програмер у потпуности развио програм да одговара њиховим жељеним спецификацијама.

Бета тестирање, или тестирање на терену, омогућава клијентима да тестирају производ на својим сајтовима у стварним условима. Клијенти могу понудити групи крајњих корисника могућност тестирања софтвера путем пре-издања или бета верзија. Бета тестирање има за циљ да добије стварне повратне информације од корисника, које се шаљу програмеру.

Тест Типес

Различите врсте софтверских тестова су дизајниране да се фокусирају на специфичне циљеве. Инжењер за тестирање и менаџер конфигурације користе тестирање инсталације како би осигурали да крајњи корисник може да инсталира и покрене програм. Покрива области као што су инсталационе датотеке, локације за инсталацију и административне привилегије.

Развојно тестирање имплементира низ синхронизованих стратегија за откривање и спречавање дефеката. Укључује статичку анализу кода, рецензије колега, анализу следљивости и метрике. Циљ је да се смање ризици и уштеде трошкови.

Корисничко искуство долази у центар пажње са тестирањем употребљивости. Мери колико је једноставан за коришћење ГУИ. Проверава тачност и ефикасност функција и емоционалне реакције испитаника.

Тест урачунљивости показује да ли је софтвер вредан времена и трошкова за наставак даљих тестова. Ако има превише недостатака, агресивнији тестови неће уследити.

Тестирање исправности се врши током фазе издавања софтвера, где се врши тестирање дима како би се видело да ли ће софтвер радити довољно да се може тестирати.

Тестирање дима открива фундаменталне кварове који су довољно озбиљни да спрече ослобађање. Када програмери тестирају нову верзију, то се зове тест „верификације израде“. Када се систем модификује, регресионо тестирање прати неочекивано понашање. Указује на штетне ефекте на модуле или компоненте.

Тестери уносе абнормалне уносе и уочавају способност софтвера да управља неочекиваним уносом у деструктивним тестовима. Ово показује програмерима колико је програм робустан у управљању грешкама.

Када хардвер или друге функције не успеју, тестирање опоравка показује колико добро софтвер може да се опорави и настави са радом.

Аутоматизација обавља функције које је тешко имплементирати ручно. Тестирање укључује коришћење специфичног софтвера за покретање тестова и пружање података о стварним у односу на очекивани исходи.

Софтвер мора да ради у различитим рачунарским окружењима, тако да тестирање компатибилности проверава како софтвер реагује на различите системе. На пример, програмери тестирају софтвер са различитим оперативним системима и веб претраживачима.

Тестови морају бити опсежни и да се баве свим забринутостима клијената, иначе пројекат брзо постаје губитак ресурса.

Тестирање перформанси испитује перформансе софтвера у различитим сценаријима. Прикупљају се информације о одзиву, стабилности, расподели ресурса и брзини. Под-тестови као што су тестирање запремине, капацитета и спике играју улогу у овом процесу.

Безбедносно тестирање мери способност софтвера да заштити безбедност корисника. Функције ауторизације, аутентификација, поверљивост, интегритет, доступност и непорицање су примери функција које се морају тестирати.

Тестирање приступачности се разликује од тестирања употребљивости. Ово одређује у којој мери корисници различитих способности могу да користе софтвер.

Резултати тестова интернационализације и локализације показују како се софтвер може прилагодити различитим језицима и регионалним захтевима. Ово укључује додавање компоненти за одређене локације и превод текста.

Свакодневне метафоре и поређења дају боју вашем писању

Метафоре а поређења су и оно што се зове фигуративни језик, или фигуре говора. Метафоре и поређења су књижевна средства која се користе за упоређивање једне ствари са другом. Они додају разумевање, димензију и живописност писању. Метафоре директн...

Опширније

Сазнајте више о томе да будете директор спортских информација

Директори спортских информација (СИД) документују и објављују достигнућа спортиста и тимова за школу или лигу коју представљају. СИД обично раде као веза између школе или лиге и локалних или националних медија. Као и многи спортске каријере, пос...

Опширније

Грантови за мала предузећа Канада

Многи људи који траже новац да започну или прошире посао у Канади почињу са тражи грант за мала предузећа. Нажалост, заправо нема толико грантова канадске савезне или покрајинске владе доступних за мала предузећа, а услови за квалификовање за по...

Опширније