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

15 апреля 2021 г.

Когда компания разрабатывает программное обеспечение, ей также необходимо его протестировать. В зависимости от типа программного обеспечения и целей разработчика, QA-аналитика или группы тестирования используются разные методы тестирования. Важно знать больше о различных доступных тестах, чтобы вы могли определить, какой из них лучше всего подходит для вашего процесса разработки программного обеспечения. В этой статье мы объясним, что такое тестирование программного обеспечения, и поделимся списком из 113 типов тестирования программного обеспечения, которые вы можете использовать.

Подробнее: Как стать инженером по тестированию программного обеспечения

Что такое тестирование программного обеспечения?

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

Три способа проверить

Существует три основных способа тестирования программного обеспечения. Подумайте, какой способ тестирования вы предпочитаете, выбирая соответствующие методы тестирования.

  • Ручное тестирование: Тестировщики используют практическое тестирование отдельных аспектов программного обеспечения. Это может занять очень много времени в сегодняшней быстро развивающейся разработке программного обеспечения.

  • Автоматизированное тестирование: Тестовые сценарии и специализированные инструменты автоматически тестируют программное обеспечение.

  • Непрерывное тестирование: программное обеспечение постоянно тестируется с использованием автоматизированного тестирования в более широком масштабе.

20 видов тестирования

Существует более 100 типов методов тестирования программного обеспечения. Вот более подробный взгляд на топ-20:

1. Приемочное тестирование

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

2. Проверка доступности

Тестирование доступности обслуживает население с ограниченными возможностями. Вы хотите убедиться, что ваше программное обеспечение могут использовать люди, которые могут быть слепыми, глухими, дальтониками или иметь другие нарушения. Доступность требуется в соответствии с федеральными рекомендациями по обеспечению доступности веб-контента (WCAG), раздел 508 и Закон об американцах с ограниченными возможностями (ADA). Нарушения могут стоить вашей компании 55 000 долларов США и более в виде штрафов. Тестирование доступности часто включает в себя проверку размера и цвета шрифта, чтобы убедиться, что звук работает, и пользователь может его настроить, а изображения и другие части веб-сайта оптимизированы для программ чтения с экрана и речевых программ.

3. Активное тестирование

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

4. Специальное тестирование

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

5. Тестирование на возраст

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

6. Гибкое тестирование

Группа обеспечения качества (QA) обычно выполняет гибкое тестирование программного обеспечения в соответствии с гибкими методологиями управления проектами и разработки. Гибкое тестирование подчеркивает точку зрения клиента и сотрудничество всех участников проекта.

Подробнее: Как стать QA-аналитиком

7. Альфа-тестирование

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

8. Тестирование API

Группа обеспечения качества выполняет тестирование интерфейса прикладного программирования (API). Тестирование API проверяет функциональность, надежность, безопасность и производительность между двумя или более программными системами. Программное обеспечение отправляет вызов интерфейсу, и тест проверяет ответ. Цель состоит в том, чтобы гарантировать, что два программного обеспечения работают вместе, чтобы обеспечить отличный пользовательский опыт.

9. Проверка утверждений

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

10. Автоматизированное тестирование

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

11. Проверка обратной совместимости

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

12. Тестирование базового пути

Тестирование базового пути, также называемое «структурированным тестированием», представляет собой метод тестирования всех возможных путей, по которым конечный пользователь может пройти через программное обеспечение. Хотя это довольно методичный способ тестирования, он помогает избежать проблем и повторений позже в процессе или, что еще хуже, после того, как клиент уже использует программное обеспечение.

13. Сравнительное тестирование

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

14. Бета-тестирование

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

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

15. Большое интеграционное тестирование

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

16. Тестирование бинарной переносимости

Команды тестирования используют тестирование переносимости бинарных файлов для проверки функциональности программы на разных платформах и в нескольких средах. «Переносимость» означает, что программа создается и тестируется в одной системе, но хорошо работает на другой платформе или в другой среде. Это важная функция, особенно для соответствия требованиям ABI.

17. Тестирование черного ящика

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

18. Интеграционное тестирование снизу вверх

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

19. Тестирование граничных значений

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

20. Тестирование веток

Вы используете метод тестирования ветвей для одновременного тестирования всех ветвей исходного кода программного обеспечения. Это позволяет разработчикам знать, что весь код может быть выполнен и протестирован. Они также могут определить, какие части кода не будут иметь ветвей и как их протестировать другим способом.

91 дополнительный способ тестирования программного обеспечения

Вот 91 дополнительный метод тестирования программного обеспечения, перечисленные в алфавитном порядке. Метод может быть известен более чем по одному термину, поэтому лучше ознакомиться с как можно большим количеством терминов.

  1. Проверка ширины

  2. Тестирование совместимости браузера

  3. Тестирование на основе кода

  4. Сравнительное тестирование

  5. Тестирование совместимости

  6. Проверка соответствия

  7. Тестирование компонентов

  8. Параллельное тестирование

  9. Тестирование покрытия условий

  10. Тестирование конфигурации

  11. Тестирование на соответствие

  12. Контекстно-ориентированное тестирование

  13. Непрерывное тестирование

  14. Конверсионное тестирование

  15. Тестирование покрытия решений

  16. Тестирование зависимостей

  17. Разрушающие испытания

  18. Тестирование аварийного восстановления

  19. Тестирование домена

  20. Динамическое тестирование

  21. Тестирование эффективности

  22. Сквозное тестирование

  23. Испытание на выносливость

  24. Эквивалентное тестирование разбиения

  25. Тестирование обработки ошибок

  26. Исследовательское тестирование

  27. Отказоустойчивое тестирование

  28. Тестирование впрыска неисправности

  29. Формальное проверочное тестирование

  30. Функциональное тестирование

  31. Нечеткое тестирование

  32. Тестирование стеклянной коробки

  33. Тестирование глобализации

  34. Горилла тестирование

  35. Тестирование серого ящика

  36. Тестирование программного обеспечения с графическим интерфейсом

  37. Гибридное интеграционное тестирование

  38. Установить/удалить тестирование

  39. Интеграционное тестирование

  40. Интерактивное тестирование

  41. Тестирование интерфейса

  42. Тестирование интернационализации

  43. Межсистемное тестирование

  44. Тестирование по ключевым словам

  45. Нагрузочное тестирование

  46. Тестирование локализации

  47. Циклическое тестирование

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

  49. Ручное скриптовое тестирование

  50. Ручное тестирование поддержки

  51. Модельное тестирование

  52. Модульное тестирование

  53. Мутационное тестирование

  54. Отрицательное тестирование

  55. Нефункциональное тестирование

  56. Эксплуатационные испытания

  57. Тестирование ортогонального массива

  58. Парное тестирование

  59. Параллельное тестирование

  60. Пассивное тестирование

  61. Тестирование пути

  62. Проверка на проницаемость

  63. Тестирование производительности

  64. Квалификационное тестирование

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

  66. Тестирование восстановления

  67. Регрессионное тестирование

  68. Проверка надежности

  69. Тестирование требований

  70. Тестирование вменяемости

  71. Тестирование безопасности

  72. Тестирование масштабируемости

  73. Сценарное тестирование

  74. Одноразовое тестирование производительности

  75. Тестирование дыма

  76. Тестирование стабильности

  77. Тестирование заявлений

  78. Статическое тестирование

  79. Тестирование хранилища

  80. Стресс-тестирование

  81. Структурные испытания

  82. Системное интеграционное тестирование

  83. Тестирование системы

  84. Тестирование потоков

  85. Интеграционное тестирование сверху вниз

  86. Модульное тестирование

  87. Обновление тестирования

  88. Юзабилити

  89. Тестирование уязвимостей

  90. Тестирование белого ящика

  91. Тестирование рабочего процесса

Подробнее: 18 навыков тестировщика программного обеспечения

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *