Что такое тестирование программного обеспечения? Определение, основы & Типы

Содержание:

Anonim

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

Тестирование программного обеспечения - это метод проверки того, соответствует ли фактический программный продукт ожидаемым требованиям, и убедиться, что программный продукт не содержит дефектов. Он включает выполнение программных / системных компонентов с использованием ручных или автоматизированных инструментов для оценки одного или нескольких интересующих свойств. Целью тестирования программного обеспечения является выявление ошибок, пробелов или отсутствующих требований в отличие от фактических требований.

Некоторые предпочитают называть тестирование программного обеспечения "тестированием белого ящика" и "черного ящика". Проще говоря, тестирование программного обеспечения означает проверку тестируемого приложения (AUT). Это руководство знакомит аудиторию с программным обеспечением для тестирования и обосновывает его важность.

В этом руководстве вы узнаете:

  • Что такое тестирование программного обеспечения?
  • Почему так важно тестирование программного обеспечения?
  • Каковы преимущества тестирования программного обеспечения?
  • Тестирование в программной инженерии
  • Типы тестирования программного обеспечения
  • Стратегии тестирования в программной инженерии
  • Тестирование программы

Почему важно тестирование программного обеспечения?

Тестирование программного обеспечения важно, потому что если в программном обеспечении есть какие-либо ошибки или ошибки, они могут быть обнаружены на раннем этапе и могут быть устранены до поставки программного продукта. Правильно протестированный программный продукт обеспечивает надежность, безопасность и высокую производительность, что в дальнейшем приводит к экономии времени, рентабельности и удовлетворенности клиентов.

Тестирование важно, потому что ошибки в программном обеспечении могут быть дорогими или даже опасными. Ошибки программного обеспечения потенциально могут привести к финансовым потерям и человеческим жертвам, и история полна таких примеров.

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

Нажмите здесь, если видео недоступно

Каковы преимущества тестирования программного обеспечения?

Вот преимущества использования тестирования программного обеспечения:

  • Рентабельность: это одно из важных преимуществ тестирования программного обеспечения. Своевременное тестирование любого ИТ-проекта поможет вам сэкономить деньги в долгосрочной перспективе. В случае, если ошибки были обнаружены на более раннем этапе тестирования программного обеспечения, их исправление обходится дешевле.
  • Безопасность: это наиболее уязвимое и важное преимущество тестирования программного обеспечения. Люди ищут проверенные продукты. Помогает раньше избавиться от рисков и проблем.
  • Качество продукта: это важное требование любого программного продукта. Тестирование гарантирует, что качественный продукт будет доставлен клиентам.
  • Удовлетворенность клиентов: главная цель любого продукта - удовлетворить своих клиентов. UI / UX Testing обеспечивает лучший пользовательский опыт.

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

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

Типы тестирования программного обеспечения

Обычно тестирование подразделяется на три категории.

  • Функциональное тестирование
  • Нефункциональное тестирование или тестирование производительности
  • Обслуживание (регресс и обслуживание)

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

    Стратегии тестирования в программной инженерии

    Вот важные стратегии в разработке программного обеспечения:

    Модульное тестирование: этот подход к тестированию программного обеспечения используется программистом для тестирования модуля программы. Это помогает разработчикам узнать, правильно ли работает отдельный блок кода.

    Интеграционное тестирование: основное внимание уделяется созданию и дизайну программного обеспечения. Вы должны видеть, что интегрированные блоки работают без ошибок или нет.

    Системное тестирование: в этом методе ваше программное обеспечение компилируется как единое целое, а затем тестируется как единое целое. Эта стратегия тестирования проверяет, среди прочего, функциональность, безопасность, переносимость.

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

    Тестирование программ при тестировании программного обеспечения - это метод выполнения реальной программы с целью тестирования поведения программы и поиска ошибок. Программа выполняется с данными тестового примера для анализа поведения программы или реакции на тестовые данные. Хорошее тестирование программы - это то, при котором высока вероятность обнаружения ошибок.

    Краткое изложение основ тестирования программного обеспечения:

    • Тестирование программного обеспечения определяется как деятельность, направленная на проверку соответствия фактических результатов ожидаемым результатам и на отсутствие дефектов в системе программного обеспечения.
    • Тестирование важно, потому что ошибки в программном обеспечении могут быть дорогими или даже опасными.
    • Важными причинами использования тестирования программного обеспечения являются: экономичность, безопасность, качество продукции и удовлетворенность клиентов.
    • Обычно тестирование подразделяется на три категории: функциональное тестирование, нефункциональное тестирование или тестирование производительности и техническое обслуживание.
    • Важными стратегиями в разработке программного обеспечения являются: модульное тестирование, интеграционное тестирование, валидационное тестирование и системное тестирование.