Видове софтуерни тестове (100 примера)
Какво е тип софтуерно тестване?
Типът софтуерно тестване е класификация на различни дейности за тестване в категории, всяка от които има дефинирана цел на теста, стратегия за тестване и резултати от теста. Целта на наличието на тип тестване е да се валидира тестваното приложение (AUT) за дефинираната тестова цел.
Например, целта на тестването за достъпност е да се потвърди, че AUT е достъпен за хора с увреждания. Така че, ако вашето софтуерно решение трябва да бъде дружелюбно за деактивиране, вие го проверявате срещу тестови случаи за достъпност.
Видове тестване на софтуер
Списък на 100 вида софтуерни тестове заедно с дефиниции. Задължително четиво за всеки QA професионалист. Считайте това за вашето ръководство за всички видове тестване на софтуер.
- Тестване за приемане: Официално тестване, проведено, за да се определи дали системата отговаря или не на своите критерии за приемане и да се даде възможност на клиента да определи дали да приеме или не системата. Обикновено се извършва от клиента. Прочетете повече на Тест за приемане
- Тестване за достъпност: Вид тестване, което определя използваемостта на даден продукт за хора с увреждания (глухи, слепи, с умствени увреждания и др.). Процесът на оценка се провежда от хора с увреждания. Прочетете повече на Тестване на достъпността
- Активно тестване: Тип тестване, състоящо се във въвеждане на тестови данни и анализиране на резултатите от изпълнението. Обикновено се провежда от екипа за тестване.
- Agile тестване: Практика за тестване на софтуер, която следва принципите на гъвкавия манифест, като набляга на тестването от гледна точка на клиентите, които ще използват системата. Обикновено се извършва от QA екипите. Прочетете повече на Agile тестване
- Тестване на възрастта: Тип тестване, което оценява способността на системата да работи в бъдеще. Процесът на оценяване се провежда от тестващи екипи.
- Специално тестване: Тестване, извършено без планиране и документиране – тестерът се опитва да „счупи“ системата, като пробва на случаен принцип функционалността на системата. Извършва се от екипа за тестване. Прочетете повече на Специално тестване
- Алфа тестване: Тип тестване на софтуерен продукт или система, проведено на сайта на разработчика. Обикновено се извършва от крайните потребители. Прочетете повече на Алфа тестване
- Тестване на твърдения: Тип изпитване, състоящ се в проверка дали условията потвърждават изискванията на продукта. Извършва се от екипа за тестване.
- API тестване: Техника на тестване, подобна на Unit Testing, тъй като е насочена към нивото на кода. Тестването на API се различава от Unit Testing по това, че обикновено е QA задача, а не задача за разработчици. Прочетете повече на Тестване на API
- Тестване на всички двойки: Комбинаторен метод за тестване, който тества всички възможни дискретни комбинации от входни параметри. Извършва се от изпитващите екипи.
- Автоматично тестване: Техника за тестване, която използва инструменти за автоматизирано тестване, за да контролира настройката на средата, изпълнението на теста и отчитането на резултатите. Извършва се от компютър и се използва в екипите за тестване. Прочетете повече на Автоматизирано тестване
- Тестване на основния път: Механизъм за тестване, който извлича логическа мярка за сложност на процедурен дизайн и използва това като ръководство за дефиниране на основен набор от пътеки за изпълнение. Използва се от тестващи екипи при дефиниране на тестови случаи. Прочетете повече на Тестване на основния път
- Тестване за обратна съвместимост: Метод за тестване, който проверява поведението на разработения софтуер с по-стари версии на тестовата среда. Извършва се от тестов екип.
- Бета тестване: Последно тестване преди пускане на приложението за търговски цели. Обикновено се прави от крайни потребители или други.
- Бенчмарк тестване: Техника за тестване, която използва представителни набори от програми и данни, предназначени да оценят производителността на компютърния хардуер и софтуер в дадена конфигурация. Извършва се от тестващи екипи. Прочетете повече на Бенчмарк тестване
- Тестване за интегриране на Big Bang: Техника за тестване, която интегрира отделни програмни модули само когато всичко е готово. Извършва се от изпитващите екипи.
- Тестване за двоична преносимост: Техника, която тества изпълнимо приложение за преносимост в системни платформи и среди, обикновено за съответствие с ABI спецификация. Извършва се от изпитващите екипи.
- Тестване на гранични стойности: Техника за софтуерно тестване, при която тестовете са предназначени да включват представители на гранични стойности. Извършва се от екипите за тестване на QA. Прочетете повече на Тестване на гранични стойности
- Интеграционно тестване отдолу нагоре: При интеграционното тестване отдолу нагоре модулът на най-ниското ниво се разработва първо, а другите модули, които отиват към „главната“ програма, се интегрират и тестват един по един. Обикновено се извършва от екипите за тестване.
- Тестване на клонове: Техника на тестване, при която всички разклонения в изходния код на програмата се тестват поне веднъж. Това се прави от разработчика.
- Тестване на ширината: Тестов пакет, който упражнява пълната функционалност на даден продукт, но не тества характеристиките в детайли. Извършва се от тестващи екипи.
- Тестване на черна кутия: Метод за тестване на софтуер, който проверява функционалността на приложение, без да има специфични познания за кода/вътрешната структура на приложението. Тестовете се базират на изисквания и функционалност. Извършва се от QA екипи. Прочетете повече на Тестване на черна кутия
- Тестване, управлявано от код: Техника за тестване, която използва рамки за тестване (като xUnit), които позволяват изпълнението на модулни тестове, за да се определи дали различните секции от кода действат според очакванията при различни обстоятелства. Извършва се от екипите за разработка.
- Тест за съвместимост: Техника за тестване, която потвърждава колко добре работи даден софтуер в конкретен хардуер/софтуер/операционна система/мрежова среда. Извършва се от изпитващите екипи. Прочетете повече на Тест за съвместимост
- Сравнително тестване: Техника за тестване, която сравнява силните и слабите страни на продукта с предишни версии или други подобни продукти. Може да се извърши от тестер, разработчици, продуктови мениджъри или собственици на продукти. Прочетете повече на Тестване на компоненти
- Тестване на компоненти: Техника на тестване, подобна на тестването на единици, но с по-високо ниво на интеграция – тестването се извършва в контекста на приложението, вместо просто директно тестване на конкретен метод. Може да се извърши от екипи за тестване или разработка.
- Тестване на конфигурацията: Техника за тестване, която определя минимална и оптимална конфигурация на хардуер и софтуер и ефекта от добавяне или модифициране на ресурси като памет, дискови устройства и процесор. Обикновено се извършва от инженерите за тестване на производителността. Прочетете повече на Тестване на конфигурацията
- Тестване на покритието на състоянието: Тип софтуерно тестване, при което всяко условие се изпълнява, като се прави вярно и невярно по всеки от начините поне веднъж. Обикновено се прави от екипите за автоматизирано тестване.
- Тестване за съответствие: Тип тестване, което проверява дали системата е разработена в съответствие със стандарти, процедури и насоки. Обикновено се извършва от външни компании, които предлагат марка „Certified OGC Compliant“.
- Тестване на паралелността: Тестване с множество потребители, насочено към определяне на ефектите от достъпа до един и същ код на приложение, модул или записи на база данни. Обикновено това се прави от инженери по производителност. Прочетете повече на Тестване на паралелността
- Тестване за съответствие: Процесът на тестване дали изпълнението съответства на спецификацията, на която се основава. Обикновено се извършва от тестващи екипи. Прочетете повече на Тестване за съответствие
- Тестване, управлявано от контекст: Техника за гъвкаво тестване, която се застъпва за непрекъсната и творческа оценка на възможностите за тестване в светлината на разкритата потенциална информация и стойността на тази информация за организацията в конкретен момент. Обикновено се извършва от екипи за Agile тестване.
- Тестване на преобразуване: Тестване на програми или процедури, използвани за конвертиране на данни от съществуващи системи за използване в заместващи системи. Обикновено се извършва от QA екипите.
- Тестване на покритието на решението: Тип софтуерно тестване, при което всяко условие/решение се изпълнява чрез настройката му на true/false. Обикновено се прави от екипи за автоматизирано тестване.
- Разрушителен тест: Тип изпитване, при което изпитванията се провеждат до повреда на образеца, за да се разберат структурните характеристики на образеца или поведението на материала при различни натоварвания. Обикновено се извършва от QA екипи.
Прочетете повече на Разрушително тестване - Тестване на зависимостта: Тип тестване, който изследва изискванията на приложението за съществуващ софтуер, първоначални състояния и конфигурация, за да се поддържа правилна функционалност. Обикновено се извършва от тестващи екипи.
- Динамично тестване: Термин, използван в софтуерното инженерство за описание на тестването на динамичното поведение на кода. Обикновено се извършва от екипи за тестване. Прочетете повече на Динамично тестване
- Тестване на домейн: Техника за тестване на бяла кутия, която съдържа проверки, че програмата приема само валиден вход. Обикновено се извършва от екипи за разработка на софтуер и понякога от екипи за автоматизирано тестване.
- Тестване за обработка на грешки: Тип софтуерно тестване, което определя способността на системата да обработва правилно грешни транзакции. Обикновено се извършва от екипите за тестване.
- Тестване от край до край: Подобно на системното тестване, включва тестване на цялостна среда на приложения в ситуация, която имитира използване в реалния свят, като взаимодействие с база данни, използване на мрежови комуникации или взаимодействие с друг хардуер, приложения или системи, ако е подходящо. Извършва се от QA екипи. Прочетете повече на Тестване от край до край
- Тест за издръжливост: Тип тестване, което проверява за изтичане на памет или други проблеми, които могат да възникнат при продължително изпълнение. Обикновено се извършва от инженери по производителност. Прочетете повече на Тест за издръжливост
- Проучвателни тестове: Техника за тестване на черна кутия, извършена без планиране и документация. Обикновено се извършва от ръчни тестери. Прочетете повече на Проучвателно тестване
- Тестване за разделяне на еквивалентност: Техника за тестване на софтуер, която разделя входните данни на софтуерна единица на части от данни, от които могат да бъдат извлечени тестови случаи. обикновено се извършва от екипите за ОК. Прочетете повече на Тестване на еквивалентно разделяне
- Тестване на впръскване на грешка: Елемент на цялостна тестова стратегия, която позволява на тестващия да се концентрира върху начина, по който тестваното приложение е в състояние да обработва изключения. Извършва се от QA екипи.
- Официална проверка Тестване: Актът на доказване или опровергаване на коректността на планираните алгоритми, лежащи в основата на система по отношение на определена формална спецификация или свойство, като се използват формални методи на математиката. Обикновено се извършва от QA екипи.
- Функционално тестване: Тип тестване на черна кутия, което базира своите тестови случаи на спецификациите на тествания софтуерен компонент. Извършва се от тестващи екипи. Прочетете повече на Функционално тестване
- Fuzz тестване: Техника за тестване на софтуер, която предоставя невалидни, неочаквани или произволни данни на входовете на програма – специална област на тестване на мутации. Fuzz тестването се извършва от тестващи екипи. Прочетете повече на Fuzz тестване
- Тестване на горила: Техника за тестване на софтуер, която се фокусира върху сериозно тестване на един конкретен модул. Извършва се от екипи за осигуряване на качеството, обикновено при извършване на пълно тестване.
- Сив Box Тестване: Комбинация от черно Box и бяло Box методологии за тестване: тестване на част от софтуера спрямо неговата спецификация, но с използване на някои познания за вътрешната му работа. Може да се извърши от екипи за разработка или тестване.
- Тестване на стъклена кутия: Подобно на тестването с бяла кутия, базирано на познаване на вътрешната логика на кода на приложението. Извършва се от екипи за разработка.
- Тестване на GUI софтуер: Процесът на тестване на продукт, който използва графичен потребителски интерфейс, за да се гарантира, че отговаря на своите писмени спецификации. Това обикновено се прави от екипите за тестване. Прочетете повече на Тестване на GUI софтуер
- Тестване на глобализацията: Метод за тестване, който проверява правилната функционалност на продукта с която и да е от настройките за култура/локал, като използва всеки възможен тип международен вход. Извършва се от екипа за тестване. Прочетете повече на Тестване на глобализацията
- Тестване на хибридна интеграция: Техника за тестване, която комбинира техники за интегриране отгоре надолу и отдолу нагоре, за да се възползват от предимствата на този вид тестване. Обикновено се извършва от екипите за тестване.
- Тестване на интеграция: Фазата в тестването на софтуера, в която отделните софтуерни модули се комбинират и тестват като група. Обикновено се провежда от тестващи екипи. Прочетете повече на Тестване на интеграцията
- Тестване на интерфейса: Тестване, проведено, за да се оцени дали системите или компонентите предават данни и контрол правилно един на друг. Обикновено се извършва от екипи за тестване и разработка. Прочетете повече на Тестване на интерфейс
- Тестване на инсталиране/деинсталиране: Работа по осигуряване на качеството, която се фокусира върху това какво ще трябва да направят клиентите, за да инсталират и настроят новия софтуер успешно. Може да включва пълни, частични или процеси на инсталиране/деинсталиране на надстройки и обикновено се извършва от инженера за тестване на софтуера във връзка с мениджъра на конфигурацията.
- Тестване за интернационализация: Процесът, който гарантира, че функционалността на продукта не е повредена и всички съобщения са правилно външни, когато се използват на различни езици и локали. Обикновено се извършва от екипите за тестване.
- Междусистемно тестване: Техника за тестване, която се фокусира върху тестване на приложението, за да се гарантира, че взаимовръзката между приложенията функционира правилно. Обикновено се извършва от екипите за тестване.
- Тестване, управлявано от ключови думи: Известно още като тестване, управлявано от таблица или тестване с думи на действие, е методология за тестване на софтуер за автоматизирано тестване, която разделя процеса на създаване на тест на два отделни етапа: етап на планиране и етап на внедряване. Може да се използва от екипи за ръчно или автоматизирано тестване. Прочетете повече на Тестване, управлявано от ключови думи
- Тестване на натоварването: Техника за тестване, която изисква система или устройство и измерва реакцията им. Обикновено се провежда от инженерите по изпълнението. Прочетете повече на Тестване на товара
- Тестване за локализация: Част от процеса на тестване на софтуер, фокусиран върху адаптирането на глобализирано приложение към определена култура/локал. Обикновено се извършва от екипите за тестване. Прочетете повече на Тестване на локализация
- Тестване на цикъл: Техника за тестване на бяла кутия, която упражнява програмни цикли. Извършва се от екипите за разработка. Прочетете повече на Тестване на цикъл
- Ръчно тестване със скрипт: Метод на тестване, при който тестовите случаи се проектират и преглеждат от екипа, преди да бъдат изпълнени. Извършва се от екипи за ръчно тестване.
- Тестване на ръчна поддръжка: Техника за тестване, която включва тестване на всички функции, изпълнявани от хората, докато подготвят данните и използват тези данни от автоматизирана система. провежда се от тестващи екипи.
- Тестване на базата на модел: Прилагането на базиран на модел дизайн за проектиране и изпълнение на необходимите артефакти за извършване на софтуерно тестване. Обикновено се извършва от тестващи екипи. Прочетете повече на Тестване на базата на модел
- Тестване на мутации: Метод за тестване на софтуер, който включва модифициране на програмния изходен код или байт код по малки начини, за да се тестват части от кода, които рядко или никога не са достъпни по време на нормално изпълнение на тестове. Обикновено се провежда от тестери. Прочетете повече на Тестване на мутации
- Тестване, управлявано от модулност: Техника за тестване на софтуер, която изисква създаването на малки, независими скриптове, които представляват модули, раздели и функции на тестваното приложение. Обикновено се извършва от екипа за тестване.
- Нефункционално тестване: Техника за тестване, която се фокусира върху тестване на софтуерно приложение за неговите нефункционални изисквания. Може да се проведе от инженери по производителността или от екипи за ръчно тестване. Прочетете повече на Нефункционално тестване
- Отрицателен тест: Известен също като „тест за неуспех“ – метод на тестване, при който целта на тестовете е да покажат, че даден компонент или система не работи. Извършва се от ръчни или автоматизирани тестери. Прочетете повече на Отрицателен тест
- Operaнационално тестване: Техника за тестване, проведена за оценка на система или компонент в нейната работна среда. Обикновено се извършва от тестващи екипи. Прочетете повече на Operaционно тестване
- Тестване на ортогонален масив: Систематичен, статистически начин на тестване, който може да се прилага при тестване на потребителски интерфейс, системно тестване, регресионно тестване, тестване на конфигурация и тестване на производителността. Извършва се от екипа за тестване. Прочетете повече на Тестване на ортогонален масив
- Тестване на двойки: Техника за разработка на софтуер, при която двама членове на екипа работят заедно на една клавиатура, за да тестват софтуерното приложение. Единият извършва тестването, а другият анализира или преглежда тестването. Това може да се направи между един тестер и разработчик или бизнес анализатор или между двама тестери, като и двамата участници се редуват да управляват клавиатурата.
- Пасивно тестване: Техника на тестване, състояща се в наблюдение на резултатите от работеща система без въвеждане на специални тестови данни. Извършва се от екипа за тестване.
- Паралелно тестване: Техника за тестване, която има за цел да гарантира, че ново приложение, което е заменило по-старата си версия, е инсталирано и работи правилно. Провежда се от екипа за тестване. Прочетете повече на Паралелно тестване
- Тестване на пътя: Типично тестване с бяла кутия, което има за цел да удовлетвори критериите за покритие за всеки логически път през програмата. Обикновено се извършва от екипа за разработка. Прочетете повече на Тестване на пътя
- Изпитване за проникване: Метод за тестване, който оценява сигурността на компютърна система или мрежа чрез симулиране на атака от злонамерен източник. Обикновено те се провеждат от специализирани компании за тестове за проникване. Прочетете повече на Проверка на проникването
- Тестване на производителността: Функционално тестване, проведено за оценка на съответствието на система или компонент с определени изисквания за производителност. Обикновено се провежда от техническия инженер. Прочетете повече на Тестване на производителността
- Квалификационен тест: Тестване спрямо спецификациите на предишната версия, обикновено провеждано от разработчика за потребителя, за да се демонстрира, че софтуерът отговаря на определените изисквания.
- Ramp Тестване: Тип тестване, състоящо се в непрекъснато повишаване на входен сигнал, докато системата се повреди. Може да се проведе от екипа за тестване или от инженера по производителността.
- Регресионно тестване: Тип софтуерно тестване, което се стреми да разкрие софтуерни грешки след промени в програмата (напр. корекции на грешки или нова функционалност) чрез повторно тестване на програмата. Извършва се от изпитващите екипи. Прочетете повече на Тестване на регресия
- Тест за възстановяване: Техника за тестване, която оценява колко добре системата се възстановява от сривове, хардуерни повреди или други катастрофални проблеми. Извършва се от изпитващите екипи. Прочетете повече на Тестване за възстановяване
- Тестване на изискванията: Техника за тестване, която потвърждава, че изискванията са правилни, пълни, недвусмислени и логически последователни и позволява проектиране на необходим и достатъчен набор от тестови случаи от тези изисквания. Извършва се от QA екипи.
- Тестване на сигурността: Процес за определяне дали дадена информационна система защитава данните и поддържа функционалността по предназначение. Може да се извърши от екипи за тестване или от специализирани компании за тестване на сигурността. Прочетете повече на Тестване на сигурността
- Тестване за здрав разум: Техника за тестване, която определя дали новата версия на софтуера се представя достатъчно добре, за да я приеме за сериозно усилие за тестване. Извършва се от изпитващите екипи. Прочетете повече на Тестване за вменяемост
- Тестване на сценария: Тестваща дейност, която използва сценарии, базирани на хипотетична история, за да помогне на човек да обмисли сложен проблем или система за тестова среда. Извършва се от екипите за изпитване. Прочетете повече на Тестване на сценарий
- Тестване за мащабируемост: Част от набора от нефункционални тестове, който тества софтуерно приложение за измерване на неговата способност за мащабиране – било то поддържано потребителско натоварване, брой транзакции, обем на данни и т.н. Провежда се от инженера по производителност. Прочетете повече на Тестване на скалируемост
- Тестване на изявление: Тестване на бяла кутия, което отговаря на критерия, че всеки израз в програма се изпълнява поне веднъж по време на тестването на програмата. Обикновено се извършва от екипа за разработка.
- Статично тестване: Форма на софтуерно тестване, при която софтуерът не се използва реално, той проверява главно за надеждността на кода, алгоритъма или документа. Използва се от разработчика, който е написал кода. Прочетете повече на Статично тестване
- Тест за стабилност: Техника за тестване, която се опитва да определи дали дадено приложение ще се срине. Обикновено се провежда от техническия инженер. Прочетете повече на Изпитване за стабилност
- Изпитване на дим: Техника за тестване, която изследва всички основни компоненти на софтуерна система, за да се гарантира, че работят правилно. Обикновено тестването на дим се провежда от екипа за тестване, веднага след като се направи компилация на софтуер. Прочетете повече на Тестване на дим
- Тестване на съхранение: Тип тестване, който проверява, че тестваната програма съхранява файлове с данни в правилните директории и че запазва достатъчно място, за да предотврати неочаквано прекратяване в резултат на липса на място. Обикновено се извършва от екипа за тестване. Прочетете повече на Тестване на съхранение
- Стрес тестване: Техника за тестване, която оценява система или компонент на или извън границите на техните определени изисквания. Обикновено се провежда от техническия инженер. Прочетете повече на Стресиране
- Структурно тестване: Техника за тестване на бяла кутия, която отчита вътрешната структура на система или компонент и гарантира, че всеки програмен оператор изпълнява предназначената за него функция. Обикновено се извършва от разработчиците на софтуер.
- Тестване на системата: Процесът на тестване на интегрирана хардуерна и софтуерна система, за да се провери дали системата отговаря на определените изисквания. Провежда се от екипите за тестване както в среда за разработка, така и в целева среда. Прочетете повече на Тестване на системата
- Тестване на системна интеграция: Процес на тестване, който упражнява съвместното съществуване на софтуерна система с други. Обикновено се извършва от екипите за тестване. Прочетете повече на Тестване на системна интеграция
- Интеграционно тестване отгоре надолу: Техника за тестване, която включва започване от върха на системната йерархия в потребителския интерфейс и използване на мъничета за тестване отгоре надолу, докато цялата система бъде внедрена. Провежда се от екипите за изпитване.
- Тестване на нишка: Разновидност на техниката за тестване отгоре надолу, при която прогресивното интегриране на компонентите следва изпълнението на подгрупи от изискванията. Обикновено се извършва от екипите за тестване. Прочетете повече на Тестване на нишки
- Upgrade Тестване: Техника за тестване, която проверява дали активите, създадени с по-стари версии, могат да се използват правилно и че обучението на потребителя не е оспорено. Извършва се от изпитващите екипи.
- Единично тестване: Метод за проверка и валидиране на софтуера, при който програмист тества дали отделни единици от изходния код са годни за употреба. Обикновено се провежда от екипа за разработка. Прочетете повече на Единично тестване
- Тестване на потребителския интерфейс: Тип тестване, което се извършва, за да се провери колко удобно е приложението. Извършва се от тестващи екипи. Прочетете повече на Тестване на потребителския интерфейс
Бонус!!! Винаги е добре да знаете няколко допълнителни
- Тестване на използваемостта: Техника за тестване, която проверява лекотата, с която потребителят може да се научи да работи, да подготви входове за и да интерпретира изходите на система или компонент. Обикновено се извършва от крайни потребители. Прочетете повече на Тестване за ползваемост
- Тестване на обема: Тестване, което потвърждава, че всички стойности, които могат да станат големи с течение на времето (като натрупани бройки, регистрационни файлове и файлове с данни), могат да бъдат приети от програмата и няма да доведат до спиране на работата на програмата или влошаване на нейната работа по какъвто и да е начин. Обикновено се провежда от техническия инженер. Прочетете повече на Тестване на обема
- Тестване на уязвимости: Тип тестване, което се отнася до сигурността на приложението и има за цел да предотврати проблеми, които могат да повлияят на целостта и стабилността на приложението. Може да се извършва от вътрешни екипи за тестване или да бъде възложено на специализирани компании. Прочетете повече на Тестване на уязвимости
- Тестване на бяла кутия: Техника за тестване, базирана на познаване на вътрешната логика на кода на приложението и включва тестове като покритие на кодови изрази, разклонения, пътища, условия. Извършва се от разработчици на софтуер. Прочетете повече на Тестване на бяла кутия
- Тестване на работния процес: Скриптирана техника за тестване от край до край, която дублира конкретни работни потоци, които се очаква да бъдат използвани от крайния потребител. Обикновено се провежда от тестващи екипи. Прочетете повече на Тестване на работния процес
Това приключва списъка. Надяваме се, че ви е харесало да го прочетете. За да намерите подходящите инструменти за този тип тестване и други, разгледайте тази колекция от инструменти за тестване.