logo

Функционално тестване

Преди да преминем към функционално тестване, трябва да знаем за тестването, какво е тестване?

Какво е тестване?

С прости думи, тестването е да се сравни действителният резултат с очаквания резултат. Извършва се тестване, за да се установи дали всички функции работят според очакванията.

Какво е софтуерно тестване?

Тестването на софтуера е техника за проверка дали действителният резултат съответства на очаквания резултат и за гарантиране, че софтуерът няма дефект или грешка.

метод на низ в java

Софтуерното тестване гарантира, че приложението няма дефект или изискването не отговаря на действителната нужда. Ръчното или автоматизираното тестване може да извърши софтуерно тестване.

Софтуерното тестване също се определя като проверка на тестваното приложение (AUT).

Има два вида тестове:

Функционално тестване

Функционално тестване:

Това е вид софтуерно тестване, което се използва за проверка на функционалността на софтуерното приложение, дали функцията работи според спецификацията на изискванията. При функционално тестване всяка функция се тества чрез даване на стойността, определяне на изхода и проверка на действителния изход с очакваната стойност. Функционално тестване, извършено като тестване на черна кутия, което се представя, за да потвърди, че функционалността на приложение или система се държи, както очакваме. Това се прави, за да се провери функционалността на приложението.

Функционалното тестване се нарича още тестване на черна кутия, тъй като се фокусира върху спецификацията на приложението, а не върху действителния код. Тестерът трябва да тества само програмата, а не системата.

Цел на функционалното тестване

Целта на функционалното тестване е да се провери основната входна функция, задължително използваема функция, потокът на GUI на екрана. Функционалното тестване показва съобщението за грешка, така че потребителят да може лесно да навигира в приложението.

Какъв е процесът на функционално тестване?

Тестерите следват следните стъпки във функционалното тестване:

  • Тестерът извършва проверка на спецификацията на изискванията в софтуерното приложение.
  • След анализ, тестерът на спецификацията на изискванията ще направи план.
  • След планирането на тестовете, тестерът ще проектира тестовия случай.
  • След проектиране на теста, тестерът на случаи ще направи документ на матрицата за проследимост.
  • Тестерът ще изпълни дизайна на тестовия случай.
  • Анализ на покритието за изследване на покритата зона за тестване на приложението.
  • Управлението на дефектите трябва да направи, за да управлява разрешаването на дефекти.
Функционално тестване

Какво да тествам във функционалното тестване? Обяснете

Основната цел на функционалното тестване е проверка на функционалността на софтуерната система. Той се концентрира върху:

    Основна използваемост:Функционалното тестване включва тестване на използваемостта на системата. Той проверява дали потребителят може да навигира свободно без никакви затруднения през екраните.Достъпност:Функционалното тестване тества достъпността на функцията.Основна функция:Фокусира се върху тестването на основната функция.Състояние на грешка:Функционалното тестване се използва за проверка на състоянието на грешка. Той проверява дали съобщението за грешка се показва.

Обяснете пълния процес за извършване на функционално тестване.

Има следните стъпки за извършване на функционално тестване:

  • Необходимо е да се разберат изискванията към софтуера.
  • Идентифицирайте входните данни за теста
  • Изчислете очаквания резултат с избраните входни стойности.
  • Изпълнение на тестови случаи
  • Сравнение между действителния и изчисления резултат
Функционално тестване

Обяснете видовете функционални тестове.

Основната цел на функционалното тестване е да се тества функционалността на компонента.

Функционалното тестване е разделено на няколко части.

Ето следните видове функционални тестове.

Функционално тестване

Единично тестване: Единично тестване е вид софтуерно тестване, при което се тества отделната единица или компонент на софтуера. Модулно тестване, преглед на различната част от приложението, чрез модулно тестване също е направено функционално тестване, защото модулното тестване гарантира, че всеки модул работи правилно.

Разработчикът извършва модулно тестване. Единичното тестване се извършва във фазата на разработка на приложението.

Тестване на дим: Функционално тестване чрез тестване на дим. Тестването на дим включва само основната (функционална) функционалност на системата. Изпитването на дим е известно като ' Тестване за проверка на компилация .' Изпитването на дим има за цел да гарантира, че най-важната функция работи.

Например, тестването на дим проверява дали приложението се стартира успешно и ще провери дали GUI реагира.

Тест за здравословен разум: Тест за здравословен разум включва целият бизнес сценарий на високо ниво работи правилно. Прави се тест за здравословност, за да се провери функционалността/отстранените грешки. Тестването за здравина е малко по-напред от тестването за дим.

Например влизането работи добре; всички бутони работят правилно; след щракване върху бутона навигацията на страницата става или не.

Регресионно тестване: Този тип тестване се концентрира, за да се увери, че промените в кода не трябва да имат страничен ефект върху съществуващата функционалност на системата. Регресионното тестване уточнява кога възниква грешка в системата след коригиране на грешката, регресионното тестване се концентрира върху това дали всички части работят или не. Регресионното тестване се фокусира върху това дали има някакво въздействие върху системата.

Интеграционно тестване: Интеграционно тестване комбинирани отделни единици и тествани като група. Целта на това тестване е да разкрие грешките във взаимодействието между интегрираните единици.

nfa примери
Разработчиците и тестерите извършват интеграционно тестване.

Тестване на бяла кутия: Тестване на бяла кутия е известен като тестване на Clear Box, базирано на код тестване, структурно тестване, обширно тестване и тестване на стъклена кутия, тестване на прозрачна кутия. Това е метод за тестване на софтуер, при който вътрешната структура/дизайн/имплементация са известни на тестера.

Тестването на бялата кутия изисква анализ на вътрешната структура на компонента или системата.

Тестване на черна кутия: Известен е още като поведенчески тест. При това тестване вътрешната структура/дизайн/реализацията не е известна на тестера. Този тип тестване е функционално тестване. Защо нарекохме този тип тестване е тестване в черна кутия, в това тестване тестерът не може да види вътрешния код.

Например, тестер без познания за вътрешните структури на уебсайт тества уеб страниците, като използва уеб браузъра, предоставяйки входни данни и проверявайки изхода спрямо очаквания резултат.

Тест за приемане от потребителя: Това е вид тестване, извършвано от клиента за сертифициране на системата според изискванията. Последната фаза на тестването е тестване за приемане от потребителя преди пускането на софтуера на пазара или производствената среда. UAT е вид тестване в черна кутия, в което ще участват двама или повече крайни потребители.

Повторно тестване: Повторно тестване е вид тестване, извършвано за проверка на тестовите случаи, които са били неуспешни при окончателното изпълнение, дали са преминали успешно след отстраняване на дефектите. Обикновено тестерът присвоява грешката, когато я открие, докато тества продукта или неговия компонент. Грешката е разпределена на разработчик и той я поправя. След коригиране грешката се възлага на тестер за нейната проверка. Това тестване е известно като повторно тестване.

Тестване на база данни: Тестването на база данни е вид тестване, което проверява схемата, таблиците, тригерите и т.н. на тестваната база данни. Тестването на база данни може да включва създаване на сложни заявки за натоварване/стрес тест на базата данни и проверка на нейната реакция. Той проверява целостта и последователността на данните.

Пример: нека разгледаме банково приложение, чрез което потребител извършва транзакция. Сега от тестването на базата данни, нещата са важни. Те са:

  • Приложението съхранява информацията за транзакцията в базата данни на приложението и я показва правилно на потребителя.
  • Няма загуба на информация в този процес
  • Приложението не пази информация за частично изпълнени или прекратени операции.
  • Потребителската информация не е разрешена за достъп от лица

Специално тестване: Ad-hoc тестването е неформален вид тестване, чиято цел е да разбие системата. Този тип софтуерно тестване е непланирана дейност. Той не следва никакъв тестов дизайн за създаване на тестови случаи. Специалното тестване се извършва на случаен принцип във всяка част от приложението; не поддържа никакъв структуриран начин за тестване.

Тестване за възстановяване: Тестване за възстановяване се използва, за да определи колко добре дадено приложение може да се възстанови от сривове, хардуерен срив и други проблеми. Целта на тестването за възстановяване е да се провери способността на системата да се възстановява от тестови точки на повреда.

Статично тестване: Статично тестване е техника за тестване на софтуер, чрез която можем да проверим дефектите в софтуера, без реално да го изпълняваме. Статичното тестване се прави, за да се избегнат грешки в ранния етап на разработката, тъй като е по-лесно да се открие повреда в ранните етапи. Статично тестване, използвано за откриване на грешки, които може да не бъдат открити при динамично тестване.

Защо използваме статично тестване?

Статично тестване помага да се открие грешката в ранните етапи. С помощта на статично тестване това ще намали сроковете за разработка. Това намалява разходите и времето за тестване. Статичното тестване също се използва за производителност на разработката.

Тестване на компоненти: Тестване на компоненти също е вид софтуерно тестване, при което тестването се извършва на всеки компонент поотделно, без да се интегрира с други части. Тестването на компоненти също е вид тестване на черна кутия. Тестване на компоненти, наричано още тестване на модули, тестване на програми или тестване на модули.

Тестване на сива кутия: Тестване на сива кутия дефиниран като комбинация от тестване на бяла кутия и черна кутия. Тестването на сивата кутия е техника за тестване, която се извършва с ограничена информация за вътрешната функционалност на системата.

Функционално тестване

Какви са инструментите за функционално тестване?

Функционалното тестване може да се извърши и чрез различни различни тестове, освен ръчно тестване. Тези инструменти опростяват процеса на тестване и помагат за получаване на точни и полезни резултати.

Това е една от значимите и базирани на най-висок приоритет техники, които са решени и уточнени преди процеса на разработка.

Инструментите, използвани за функционално тестване са:

rj12 срещу rj11
Инструменти Характеристики
Всъщност
  • Това е инструмент за тестване с отворен код и автоматизация, издаден под лиценз за отворен код Apache License, използван за тестване на уеб приложението.
  • Sahi е написан на Java и JavaScript и се взема предвид за повечето техники за тестване.
  • Работи като прокси сървър; той е независим от браузъра.
SoapUI
  • Това е инструмент за функционално тестване с отворен код, използван за тестване на уеб приложения.
  • Той е прост и лесен за проектиране.
  • Той поддържа множество среди, т.е. във всеки един случай целевата среда може да бъде настроена.
вода
  • Watir, е съкратена форма на тестване на уеб приложения в ruby, е инструмент с отворен код за автоматизиране на уеб браузър./li>
  • Той използва ruby ​​скриптов език, който е кратък и лесен за използване./li>
  • Watir поддържа множество браузъри на различни платформи.
Селен
  • Инструментът с отворен код, използван за функционално тестване както на уеб приложение, така и на приложения на работния плот.
  • Той автоматизира браузъри и уеб приложения с цел тестване.
  • Дава гъвкавост за персонализиране на автоматизирания тестов случай
  • Осигурява предимството на писане на тестови скриптове, според изискванията, с помощта на уеб драйвер.
Canoo WebTest
  • Инструмент с отворен код за извършване на функционално тестване на уеб приложението.
  • Независимо от платформата
  • Лесно и бързо
  • Лесен за разширяване, за да отговори на нарастващите и входящи изисквания.
Краставица
  • Cucumber е инструмент за тестване с отворен код, написан на езика Ruby. Този инструмент работи най-добре за тестово разработка. Използва се за тестване на много други езици като java, c# и python. Краставица за тестване с помощта на малко програмиране.

Какви са предимствата на функционалното тестване?

Предимствата на функционалното тестване са:

  • Той произвежда продукт без дефекти.
  • Гарантира, че клиентът е доволен.
  • Гарантира спазването на всички изисквания.
  • Той гарантира правилното функциониране на цялата функционалност на приложение/софтуер/продукт.
  • Той гарантира, че софтуерът/продуктът работи според очакванията.
  • Гарантира сигурност и безопасност.
  • Подобрява качеството на продукта.

Пример: Тук даваме пример за банков софтуер. В банка, когато парите се прехвърлят от банка А към банка Б. И банка Б не получава правилната сума, се прилага таксата, или парите не са преобразувани в правилната валута, или неправилен превод, или банка А не получава съобщение за извлечение от банка Б, че плащането е получено. Тези проблеми са критични и могат да бъдат избегнати чрез правилно функционално тестване.

Какви са недостатъците на функционалното тестване?

Недостатъците на функционалното тестване са:

  • Функционалното тестване може да пропусне критична и логическа грешка в системата.
  • Това тестване не е гаранция, че софтуерът ще бъде активен.
  • Възможността за провеждане на излишно тестване е висока при функционалното тестване.

Увийте

Тук можем лесно да заключим, че за да се изгради здрава основа на софтуерен продукт от най-висок клас, функционалното тестване е от съществено значение. Той действа като основа на структурата и е решаваща част от всеки тест.