Преди да преминем към функционално тестване, трябва да знаем за тестването, какво е тестване?
Какво е тестване?
С прости думи, тестването е да се сравни действителният резултат с очаквания резултат. Извършва се тестване, за да се установи дали всички функции работят според очакванията.
Какво е софтуерно тестване?
Тестването на софтуера е техника за проверка дали действителният резултат съответства на очаквания резултат и за гарантиране, че софтуерът няма дефект или грешка.
метод на низ в java
Софтуерното тестване гарантира, че приложението няма дефект или изискването не отговаря на действителната нужда. Ръчното или автоматизираното тестване може да извърши софтуерно тестване.
Софтуерното тестване също се определя като проверка на тестваното приложение (AUT).
Има два вида тестове:
Функционално тестване:
Това е вид софтуерно тестване, което се използва за проверка на функционалността на софтуерното приложение, дали функцията работи според спецификацията на изискванията. При функционално тестване всяка функция се тества чрез даване на стойността, определяне на изхода и проверка на действителния изход с очакваната стойност. Функционално тестване, извършено като тестване на черна кутия, което се представя, за да потвърди, че функционалността на приложение или система се държи, както очакваме. Това се прави, за да се провери функционалността на приложението.
Функционалното тестване се нарича още тестване на черна кутия, тъй като се фокусира върху спецификацията на приложението, а не върху действителния код. Тестерът трябва да тества само програмата, а не системата.
Цел на функционалното тестване
Целта на функционалното тестване е да се провери основната входна функция, задължително използваема функция, потокът на GUI на екрана. Функционалното тестване показва съобщението за грешка, така че потребителят да може лесно да навигира в приложението.
Какъв е процесът на функционално тестване?
Тестерите следват следните стъпки във функционалното тестване:
- Тестерът извършва проверка на спецификацията на изискванията в софтуерното приложение.
- След анализ, тестерът на спецификацията на изискванията ще направи план.
- След планирането на тестовете, тестерът ще проектира тестовия случай.
- След проектиране на теста, тестерът на случаи ще направи документ на матрицата за проследимост.
- Тестерът ще изпълни дизайна на тестовия случай.
- Анализ на покритието за изследване на покритата зона за тестване на приложението.
- Управлението на дефектите трябва да направи, за да управлява разрешаването на дефекти.
Какво да тествам във функционалното тестване? Обяснете
Основната цел на функционалното тестване е проверка на функционалността на софтуерната система. Той се концентрира върху:
Обяснете пълния процес за извършване на функционално тестване.
Има следните стъпки за извършване на функционално тестване:
- Необходимо е да се разберат изискванията към софтуера.
- Идентифицирайте входните данни за теста
- Изчислете очаквания резултат с избраните входни стойности.
- Изпълнение на тестови случаи
- Сравнение между действителния и изчисления резултат
Обяснете видовете функционални тестове.
Основната цел на функционалното тестване е да се тества функционалността на компонента.
Функционалното тестване е разделено на няколко части.
Ето следните видове функционални тестове.
Единично тестване: Единично тестване е вид софтуерно тестване, при което се тества отделната единица или компонент на софтуера. Модулно тестване, преглед на различната част от приложението, чрез модулно тестване също е направено функционално тестване, защото модулното тестване гарантира, че всеки модул работи правилно.
Разработчикът извършва модулно тестване. Единичното тестване се извършва във фазата на разработка на приложението.
Тестване на дим: Функционално тестване чрез тестване на дим. Тестването на дим включва само основната (функционална) функционалност на системата. Изпитването на дим е известно като ' Тестване за проверка на компилация .' Изпитването на дим има за цел да гарантира, че най-важната функция работи.
Например, тестването на дим проверява дали приложението се стартира успешно и ще провери дали GUI реагира.
Тест за здравословен разум: Тест за здравословен разум включва целият бизнес сценарий на високо ниво работи правилно. Прави се тест за здравословност, за да се провери функционалността/отстранените грешки. Тестването за здравина е малко по-напред от тестването за дим.
Например влизането работи добре; всички бутони работят правилно; след щракване върху бутона навигацията на страницата става или не.
Регресионно тестване: Този тип тестване се концентрира, за да се увери, че промените в кода не трябва да имат страничен ефект върху съществуващата функционалност на системата. Регресионното тестване уточнява кога възниква грешка в системата след коригиране на грешката, регресионното тестване се концентрира върху това дали всички части работят или не. Регресионното тестване се фокусира върху това дали има някакво въздействие върху системата.
Интеграционно тестване: Интеграционно тестване комбинирани отделни единици и тествани като група. Целта на това тестване е да разкрие грешките във взаимодействието между интегрираните единици.
nfa примериРазработчиците и тестерите извършват интеграционно тестване.
Тестване на бяла кутия: Тестване на бяла кутия е известен като тестване на Clear Box, базирано на код тестване, структурно тестване, обширно тестване и тестване на стъклена кутия, тестване на прозрачна кутия. Това е метод за тестване на софтуер, при който вътрешната структура/дизайн/имплементация са известни на тестера.
Тестването на бялата кутия изисква анализ на вътрешната структура на компонента или системата.
Тестване на черна кутия: Известен е още като поведенчески тест. При това тестване вътрешната структура/дизайн/реализацията не е известна на тестера. Този тип тестване е функционално тестване. Защо нарекохме този тип тестване е тестване в черна кутия, в това тестване тестерът не може да види вътрешния код.
Например, тестер без познания за вътрешните структури на уебсайт тества уеб страниците, като използва уеб браузъра, предоставяйки входни данни и проверявайки изхода спрямо очаквания резултат.
Тест за приемане от потребителя: Това е вид тестване, извършвано от клиента за сертифициране на системата според изискванията. Последната фаза на тестването е тестване за приемане от потребителя преди пускането на софтуера на пазара или производствената среда. UAT е вид тестване в черна кутия, в което ще участват двама или повече крайни потребители.
Повторно тестване: Повторно тестване е вид тестване, извършвано за проверка на тестовите случаи, които са били неуспешни при окончателното изпълнение, дали са преминали успешно след отстраняване на дефектите. Обикновено тестерът присвоява грешката, когато я открие, докато тества продукта или неговия компонент. Грешката е разпределена на разработчик и той я поправя. След коригиране грешката се възлага на тестер за нейната проверка. Това тестване е известно като повторно тестване.
Тестване на база данни: Тестването на база данни е вид тестване, което проверява схемата, таблиците, тригерите и т.н. на тестваната база данни. Тестването на база данни може да включва създаване на сложни заявки за натоварване/стрес тест на базата данни и проверка на нейната реакция. Той проверява целостта и последователността на данните.
Пример: нека разгледаме банково приложение, чрез което потребител извършва транзакция. Сега от тестването на базата данни, нещата са важни. Те са:
- Приложението съхранява информацията за транзакцията в базата данни на приложението и я показва правилно на потребителя.
- Няма загуба на информация в този процес
- Приложението не пази информация за частично изпълнени или прекратени операции.
- Потребителската информация не е разрешена за достъп от лица
Специално тестване: Ad-hoc тестването е неформален вид тестване, чиято цел е да разбие системата. Този тип софтуерно тестване е непланирана дейност. Той не следва никакъв тестов дизайн за създаване на тестови случаи. Специалното тестване се извършва на случаен принцип във всяка част от приложението; не поддържа никакъв структуриран начин за тестване.
Тестване за възстановяване: Тестване за възстановяване се използва, за да определи колко добре дадено приложение може да се възстанови от сривове, хардуерен срив и други проблеми. Целта на тестването за възстановяване е да се провери способността на системата да се възстановява от тестови точки на повреда.
Статично тестване: Статично тестване е техника за тестване на софтуер, чрез която можем да проверим дефектите в софтуера, без реално да го изпълняваме. Статичното тестване се прави, за да се избегнат грешки в ранния етап на разработката, тъй като е по-лесно да се открие повреда в ранните етапи. Статично тестване, използвано за откриване на грешки, които може да не бъдат открити при динамично тестване.
Защо използваме статично тестване?
Статично тестване помага да се открие грешката в ранните етапи. С помощта на статично тестване това ще намали сроковете за разработка. Това намалява разходите и времето за тестване. Статичното тестване също се използва за производителност на разработката.
Тестване на компоненти: Тестване на компоненти също е вид софтуерно тестване, при което тестването се извършва на всеки компонент поотделно, без да се интегрира с други части. Тестването на компоненти също е вид тестване на черна кутия. Тестване на компоненти, наричано още тестване на модули, тестване на програми или тестване на модули.
Тестване на сива кутия: Тестване на сива кутия дефиниран като комбинация от тестване на бяла кутия и черна кутия. Тестването на сивата кутия е техника за тестване, която се извършва с ограничена информация за вътрешната функционалност на системата.
Какви са инструментите за функционално тестване?
Функционалното тестване може да се извърши и чрез различни различни тестове, освен ръчно тестване. Тези инструменти опростяват процеса на тестване и помагат за получаване на точни и полезни резултати.
Това е една от значимите и базирани на най-висок приоритет техники, които са решени и уточнени преди процеса на разработка.
Инструментите, използвани за функционално тестване са:
rj12 срещу rj11
Инструменти | Характеристики |
---|---|
Всъщност |
|
SoapUI |
|
вода |
|
Селен |
|
| |
Canoo WebTest |
|
Краставица |
|
Какви са предимствата на функционалното тестване?
Предимствата на функционалното тестване са:
- Той произвежда продукт без дефекти.
- Гарантира, че клиентът е доволен.
- Гарантира спазването на всички изисквания.
- Той гарантира правилното функциониране на цялата функционалност на приложение/софтуер/продукт.
- Той гарантира, че софтуерът/продуктът работи според очакванията.
- Гарантира сигурност и безопасност.
- Подобрява качеството на продукта.
Пример: Тук даваме пример за банков софтуер. В банка, когато парите се прехвърлят от банка А към банка Б. И банка Б не получава правилната сума, се прилага таксата, или парите не са преобразувани в правилната валута, или неправилен превод, или банка А не получава съобщение за извлечение от банка Б, че плащането е получено. Тези проблеми са критични и могат да бъдат избегнати чрез правилно функционално тестване.
Какви са недостатъците на функционалното тестване?
Недостатъците на функционалното тестване са:
- Функционалното тестване може да пропусне критична и логическа грешка в системата.
- Това тестване не е гаранция, че софтуерът ще бъде активен.
- Възможността за провеждане на излишно тестване е висока при функционалното тестване.
Увийте
Тук можем лесно да заключим, че за да се изгради здрава основа на софтуерен продукт от най-висок клас, функционалното тестване е от съществено значение. Той действа като основа на структурата и е решаваща част от всеки тест.