Огромните софтверски компании, како што е Гугл, успеваат и покрај буџетите со низок приоритет во нивниот софтвер, но помалите компании и стартап немаат толку луксуз.
Клиентите очекуваат производи да го направат она што го тврдат на страната за продажба, или во документацијата. Со толку многу опции таму, тие нема да размислуваат два пати за скокање на брод ако производот го троши своето време и пари. Затоа, софтверот поминува ригорозни тестови пред да се ослободи, со цел:
да ги истакне разликите помеѓу оригиналниот концепт и конечниот резултат
потврди дека софтверот функционира онака како што планираа дизајнерите
валидирајте го крајниот производ - производот мора да ги задоволи барањата на клиентот
оцени карактеристики и квалитет
Тестирањето следи строг план. Ова ја оптимизира употребата на вредни ресурси - вештини, време и пари, истовремено обезбедувајќи ги засегнатите страни суштински информации за да го пренесат производот напред. Целта е да се олесни доброто искуство на крајниот корисник преку силна програма за обезбедување на квалитет . Со влоговите толку високи, менаџерите со ОК се некои од најдобрите производители во технологијата. Тестирањето обично ги следи овие чекори:
Анализа на барањата каде менаџерите го нагласуваат планот за поставување соодветна стратегија за тестирање.
Тестовите започнуваат и резултатите се подложени на анализа.
Сите дефекти се коригираат, а софтверот поминува низ регресиско тестирање - систем за проверка на програмата сеуште работи по модификациите.
Извештајот за затворање на тестот потоа го опишува целиот процес и резултатите.
Методи за тестирање на софтвер
Еве ги различните методи што се користат за да се процени однесувањето на производот и перформансите.
Црна кутија и белата кутија тестирање се двете основни методи.
- Тест за црна кутија - Исто така наречен функционално тестирање или базирано на тестирање, овој метод се фокусира на излезот. Тестерите не се занимаваат со внатрешните механизми. Тие само го проверуваат софтверот што прави што треба. Познавањето на кодирањето не е потребно, а тестерите работат на ниво на кориснички интерфејс.
- Белата кутија тестирање - Овој метод користи кодирање know-how, како дел од постапката за тестирање. Кога производот не успее, тестерите одат длабоко во кодот колку што е потребно за да ја пронајдат причината. Програмерите на софтверот сами го прават тоа, бидејќи тие одредуваат како производот треба да работи. Тестовите базирани на структури и стаклена кутија се други имиња за овој метод.
- Статичко тестирање - Тестерите го испитуваат кодот и документацијата на софтверот, но не ја извршуваат програмата. Статичките тестови започнуваат рано во развојот на производот за време на процесот на верификација.
- Динамичко тестирање - Софтверот се изведува со различни влезови, а тестерите ги споредуваат излезите со очекувано однесување со овој метод.
- GUI тестирање - Ова ги тестира графичките карактеристики - форматирање текст, текстуални кутии, копчиња, листи, распоред, бои, фонтови, големини на фонтот и така натаму. GUI тестирањето е одземаат многу време, а компаниите од трето лице често ја преземаат задачата наместо програмерите.
Тест нивоа
Овие се неопходни за да се идентификуваат областите на слабост и преклопување во секоја фаза од животниот циклус на развој на софтвер.
- Единица за тестирање - Програмерите ги тестираат најосновните делови на кодот како класи, интерфејси и функции / процедури. Тие знаат како нивниот код треба да одговори и може да направи корекции во зависност од излезот.
- Тестирање на компоненти - Други имиња се модулно или програмско тестирање. Слично е на единицата за тестирање, но содржи повисоко ниво на интеграција. Модулите на софтверот се тестираат за дефекти за да ја потврдат нивната индивидуална функција.
- Тест за интеграција - Ова идентификува грешки кога модулите се интегрирани. Различни тестови за интеграција се од долу нагоре, од горе надолу и функционални инкрементални.
- Тестирање на системот - Компонентите на проектот се тестираат како целина во различни средини со овој метод. Таа спаѓа под методот на црна кутија и е еден од последните испитувања во процесот. Таа одредува дали системот функционира онака како што треба да ги задоволи потребите на бизнисот и корисникот.
- Алфа тестирање - Внатрешен персонал го тестира софтверот на страната на инвеститорот во симулирана или реална околина. После тоа, програмерите ги коригираат грешките и другите проблеми.
- Бета тестирање - Познат како теренско тестирање, клиентот го тестира производот на сопствената страница во реални услови. Клиентот може да им понуди на група на крајни корисници можност да го тестираат софтверот преку објави или бета верзии. Повратните информации за можните подобрувања потоа се испраќаат до развивачот.
- Прифаќање тестирање - Исто така под опсегот на црна кутија тестирање, клиентот тестови софтвер за да дознаете дали инвеститорот ја создал програмата до посакуваните спецификации.
Тестови за тестирање
Овие софтверски тестови се фокусираат на специфични цели.
- Тест за инсталација - Инженер за тестирање на софтверот и менаџерот за конфигурација го спроведуваат овој тест за да обезбедат крајниот корисник да ја инсталира и да ја изврши програмата. Ги опфаќа областите како што се инсталационите датотеки, локациите за инсталација и административните привилегии.
- Развој на тестирање - Ова имплементира голем број на синхронизирани стратегии за откривање и спречување на дефекти. Тоа вклучува анализа на статички код, корекција на врснички код, анализа на следливост и мерење. Целта е да се намалат ризиците и да се заштедат трошоци.
- Тестирање на употребливост - Корисничкото искуство доаѓа под вниманието на овој тест. Се мери колку добро GUI е дизајниран и неговата леснотија на користење. Тестот ги проверува точноста и ефикасноста на функциите и емотивните одговори на испитаниците.
- Тестирање за разумност - Ова покажува дали софтверот е вреден за времето и трошоците за да продолжат со понатамошни тестови. Премногу недостатоци и поагресивни тестови не следат.
- Тестирање на чад - Тест на чад открива основни грешки кои се доволно сериозни за да се спречи пуштањето. Кога ова се изведува на нова зграда, таа се нарекува тест за проверка на изградбата.
- Тестирање на регресија - Кога системот се подложува на модификација, регресионото испитување го следи неочекуваното однесување. Тоа укажува на негативни ефекти врз модулите или компонентите.
- Деструктивно тестирање - Тестерите внесуваат абнормални записи и ја препознаваат способноста на софтверот за управување со неочекуван внес. Ова покажува програмери колку е стабилна програмата е во управувањето со грешки.
- Тест за обновување - Кога хардверските или другите функции не успеат, овој тест покажува колку добро софтверот може да закрепне и да продолжи со работа.
- Автоматизирано тестирање - Ова ги извршува функциите кои тешко се применуваат рачно. Таа користи специфичен софтвер за да ги изврши тестовите и да обезбеди податоци за вистинските наспроти очекуваните резултати.
- Тестирање за компатибилност - Софтверот мора да работи во различни компјутерски средини, така што тоа ја проверува компатибилноста со различни системи. На пример, дали софтверот работи со различни оперативни системи и веб прелистувачи?
- Тестирање на перформанси - Ова е длабински тест кој ги испитува перформансите на софтверот во различни сценарија. Се собираат информации за реактивност, стабилност, распределба на ресурси и брзина. Покрај тоа, под-тестови, како што се волумен, капацитет и тестирање на скок, играат улога во овој процес.
- Безбедносно тестирање - Ова ја мери способноста на софтверот за заштита на безбедноста на корисниците. Ова значи овластување функции, автентикација, доверливост, интегритет, достапност и не-отфрлање.
- Тестирање за пристапност - Ова не е исто како тестирање на употребливост. Ова го одредува степенот до кој корисниците на различни способности - учење и физички хендикеп - се вклучени, можат да го користат софтверот.
- Интернационализација и тестирање на локализација - Резултатите покажуваат како софтверот може да се прилагоди на различни јазици и регионални барања. Ова вклучува додавање на компоненти за специфични локации и преведување на текст.
Тестирањето на софтверот е суштински дел од донесувањето на производот на пазарот. И без тестери, широкиот спектар на достапен софтвер нема да постои. Станете сертифициран софтверски тестер преку организации како што се BCS, Институтот за ИТ, ISTQB® (Меѓународен одбор за квалификации за тестирање на софтвер) и ASQ (порано Американското друштво за квалитет).