Какво е тестване на софтуер? Определение, основи & Видове

Съдържание:

Anonim

Тестване на софтуер

Софтуерното тестване е метод за проверка дали действителният софтуерен продукт отговаря на очакваните изисквания и за гарантиране, че софтуерният продукт е без дефекти. Включва изпълнение на софтуерни / системни компоненти с помощта на ръчни или автоматизирани инструменти за оценка на едно или повече интересни свойства. Целта на софтуерното тестване е да идентифицира грешки, пропуски или липсващи изисквания за разлика от действителните изисквания.

Някои предпочитат да казват тестване на софтуер като тестване на бяла кутия и черна кутия. С прости думи, тестване на софтуер означава проверка на тестваното заявление (AUT). Този урок представя на аудиторията софтуер за тестване и обосновава неговата важност.

В този урок ще научите:

  • Какво е тестване на софтуер?
  • Защо е важно тестването на софтуер?
  • Какви са предимствата на софтуерното тестване?
  • Тестване по софтуерно инженерство
  • Видове тестване на софтуер
  • Стратегии за тестване в софтуерното инженерство
  • Тестване на програми

Защо тестването на софтуер е важно?

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

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

  • През април 2015 г. терминалът на Bloomberg в Лондон се срина поради софтуерен бъг, засегнал над 300 000 търговци на финансовите пазари. Това принуди правителството да отложи продажбата на дълг от 3 млрд. Паунда.
  • Автомобили Nissan изтеглиха от пазара над 1 милион автомобила поради софтуерна повреда в сензорните детектори на въздушните възглавници. Има съобщения за две аварии поради този софтуерен отказ.
  • Starbucks беше принуден да затвори около 60% от магазините в САЩ и Канада поради софтуерна повреда в своята POS система. В един момент магазинът сервира кафе безплатно, тъй като не успяха да обработят транзакцията.
  • Някои от третите търговци на Amazon видяха, че цената на продуктите им е намалена до 1p поради софтуерен проблем. Те останаха с големи загуби.
  • Уязвимост в Windows 10. Тази грешка позволява на потребителите да избягат от пясъчници за сигурност чрез недостатък в системата win32k.
  • През 2015 г. изтребител F-35 стана жертва на софтуерна грешка, което го направи неспособен да открие правилно целите.
  • China Airlines Airbus A300 се разби поради софтуерна грешка на 26 април 1994 г., убивайки 264 невинни на живо
  • През 1985 г. канадската машина за лъчева терапия Therac-25 не функционира добре поради софтуерна грешка и доставя смъртоносни дози радиация на пациентите, оставяйки 3 души мъртви и наранявайки критично 3 други.
  • През април 1999 г. софтуерна грешка причини неуспеха на пускането на военен сателит на стойност 1,2 млрд. Долара, което е най-скъпото произшествие в историята
  • През май 1996 г. софтуерна грешка накара банковите сметки на 823 клиенти на голяма американска банка да бъдат кредитирани с 920 милиона щатски долара.

Щракнете тук, ако видеоклипът не е достъпен

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

Ето предимствата от използването на софтуерно тестване:

  • Икономично: Това е едно от важните предимства на софтуерното тестване. Тестването на всеки ИТ проект навреме ви помага да спестите парите си в дългосрочен план. В случай, че грешките, уловени в по-ранния етап от тестването на софтуера, поправят по-малко.
  • Сигурност: Това е най-уязвимата и чувствителна полза от тестването на софтуер. Хората търсят надеждни продукти. Помага за премахване на рискове и проблеми по-рано.
  • Качество на продукта: Това е основно изискване на всеки софтуерен продукт. Тестването гарантира, че качествен продукт се доставя на клиентите.
  • Удовлетвореност на клиентите: Основната цел на всеки продукт е да удовлетвори своите клиенти. UI / UX тестването гарантира най-доброто потребителско изживяване.

Тестване по софтуерно инженерство

Според ANSI / IEEE 1059 тестването в софтуерното инженерство е процес на оценка на софтуерен продукт, за да се установи дали текущият софтуерен продукт отговаря на необходимите условия или не. Процесът на тестване включва оценка на характеристиките на софтуерния продукт за изисквания по отношение на липсващи изисквания, грешки или грешки, сигурност, надеждност и производителност.

Видове тестване на софтуер

Обикновено тестването се класифицира в три категории.

  • Функционално тестване
  • Нефункционално тестване или тестване на ефективността
  • Поддръжка (регресия и поддръжка)

Категория на тестване Видове тестване
Функционално тестване
  • Единично тестване
  • Тестване на интеграцията
  • Дим
  • UAT (Тест за приемане от потребителя)
  • Локализация
  • Глобализация
  • Оперативна съвместимост
  • Скоро
  • Нефункционално тестване
  • производителност
  • Издръжливост
  • Заредете
  • Сила на звука
  • Мащабируемост
  • Използваемост
  • Скоро
  • Поддръжка
  • Регресия
  • Поддръжка
  • Това не е пълният списък, тъй като има повече от 150 вида тестови видове, които все още се добавят. Също така имайте предвид, че не всички видове тестове са приложими за всички проекти, но зависят от естеството и обхвата на проекта.

    Стратегии за тестване в софтуерното инженерство

    Ето важни стратегии в софтуерното инженерство:

    Unit Testing: Този подход за тестване на софтуер се следва от програмиста за тестване на модула на програмата. Помага на разработчиците да разберат дали отделната единица на кода работи правилно или не.

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

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

    Тестване на програми

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

    Обобщение на основите на тестването на софтуера:

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