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

По-добър подход, особено за големи екипи, е използването на автоматизирано тестване. Автоматизираното тестване включва използването на автоматизирани инструменти за тестване, които ще позволят на разработчиците действително да тестват жизнеспособността на кода на приложението, преди дори да бъде ангажиран. Тестовете за автоматизация са още един чадър с 3 основни метода за тестване на код на приложение.

Единичен тест

Най-подробният подход към тестването е тестването на единици. Моето лично мнение е, че всички разработчици трябва да пишат модулен тест, което на практика означава писане на тест за всеки метод, който създавате. Значението наистина е в името. За всяка единица код, която пускаме в света, трябва да тестваме нейното съществуване и функционалност. Всеки път, когато пишете ред код, този ред код трябва да бъде тестван, за да се гарантира, че работи по начина, по който бихме искали. Тестването на единици е умение, което може да се тренира извънредно, колкото по-добри ставаме в тестването на единици, толкова по-добре разбираме кода, който пишем.

Интеграционен тест

Интеграционните тестове е идеята за тестване на множество компоненти и тестване какво се случва, когато тези два компонента работят заедно. Това е по-широка тема, но по същество се основава на модулно тестване в смисъл, че все още пишем тестове за кода, който пишем, но също така интегрираме тези тестове с други компоненти и дори системи. Пример за интеграционен тест би бил тестването на цяла функция, съставена от няколко компонента, и гарантирането, че тези компоненти могат да работят добре заедно. Когато създаваме модерни JavaScript приложения в рамки като React, Vue или дори Web Components, ние съществуваме в свят, в който нашето приложение се състои от много по-малки компоненти, които работят един с друг. Тази интеграция трябва да бъде тествана, за да имаме увереност, че нашето приложение е способно да прави това, което трябва.

Тест от край до край

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

Заключение

Автоматизираното тестване е наистина най-добрият начин да гарантираме, че нашите приложения правят това, което възнамеряваме. Управляваното от тестовете уеб разработване е свързано с автоматизирането на това, което можем, и съзнателното отношение към решенията, които вземаме. Ние по същество създаваме система за проверки и баланси.