Пробное тестирование: смысл? – Технология с технологией

Вот что означает пробное тестирование:

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

На самом базовом уровне в тестовом прогоне программист читает код, чтобы убедиться, что он работает без фактического запуска.

В разработке программного обеспечения существует множество других форм пробного тестирования.

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

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

Давайте прыгать в это!

Пробное тестирование: смысл?  (Все, что нужно знать)

Что такое пробный прогон?

Самый простой способ понять концепцию пробного прогона — это краткая история.

Обещаю, это будет не плохо.

Термин на самом деле исходит от пожарных.

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

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

В этих имитационных пожарах не было бы настоящего дыма или пламени.

Таким образом, им не нужно было качать воду через шланги. И это происхождение имени.

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

Исходя из этой идеи, пробный прогон — это тест, в ходе которого возможные проблемы преднамеренно устраняются.

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

Сегодня мы говорим конкретно о пробных прогонах программного обеспечения.

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

Как работает пробное тестирование? (2 вещи)

У пробного тестирования программного обеспечения есть своя история, и я перейду к ней далее.

Перед этим мы можем поговорить о том, как реализовать идею пробного теста.

Главное — адаптироваться к окружающей среде.

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

Для этого вам нужно адаптировать тест в соответствии с вашей целью.

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

Это устраняет неопределенность, вносимую сетевой средой.

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

Пробный тест строится вокруг всего, что вы пытаетесь выяснить.

#1 Традиционные пробные тесты программного обеспечения

Это может иметь больше смысла, если мы углубимся в историю пробных тестов в программном обеспечении.

Традиционно пробные тесты были неотъемлемой частью компьютерного программирования и разработки.

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

Как ты это делаешь?

Ну, вы выполняете код вручную.

Об этом может быть немного сложно думать на теоретическом уровне, поэтому давайте начнем с упрощенного примера.

Допустим, мы собираемся написать программу-калькулятор, и мы закончили раздел о сложении.

На самом деле это настолько просто, что вам больше не придется писать код, но пока давайте придерживаться упрощенной идеи.

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

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

Мы выбираем 5+5. Это легко сделать в уме, так что вы знаете, что компьютерный код должен выдать ответ 10.

Чтобы протестировать код, вы действительно читаете его.

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

Когда код просит вас ввести числа или формулу, вы используете 5+5, и после выполнения всех шагов вы получите ответ.

Если ответ не 10, то вы знаете, что в коде есть логическая проблема.

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

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

Это усложняет вашу проверку. Итак, вы выполняете код вручную.

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

№ 2. Развитие пробных тестов

Идею традиционного пробного теста довольно легко реализовать, но в современном программировании это не всегда жизнеспособно.

Современный программный пакет включает в себя миллионы строк кода.

Например, QuickBooks был запущен в 1992 году.

Даже тогда у него уже было более 10 миллионов строк кода.

Вы не собираетесь работать с этим вручную, и программное обеспечение становится намного сложнее, чем это.

Таким образом, по мере развития программирования развивались и пробные тесты.

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

Но даже тогда ручное тестирование не исчезло полностью.

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

Во всяком случае, так пишется программное обеспечение.

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

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

Вместо того, чтобы просматривать миллионы строк кода, они, вероятно, имеют дело только с сотнями для этой маленькой части программного обеспечения.

Это по-прежнему кропотливая работа, но на самом деле выполнимая.

Каковы хорошие примеры пробного тестирования программного обеспечения? (6 подходов)

Но тестирования каждого программного компонента недостаточно для всего процесса разработки.

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

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

Итак, как настроить и выполнить пробные тесты, которые по-прежнему сохраняют простоту среды?

Как я уже упоминал ранее, тест должен быть адаптирован к его цели.

Но в разделах ниже будут рассмотрены общие подходы к пробным тестам.

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

#1 Однопользовательские тесты

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

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

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

Итак, как вы тестируете его в упрощенной среде?

Убедитесь, что он на самом деле не в сети и имеет только одного пользователя.

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

Это важно для упрощения проблем с оборудованием.

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

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

Вы можете увидеть, как программа работает сама по себе.

#2 Мониторинг неисправностей

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

Мониторинг сбоев — это программное обеспечение, которое пытается выявить проблемы, как только они возникают.

Существует бесчисленное множество видов мониторинга неисправностей, но самый простой для понимания — это мониторинг сети.

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

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

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

Это еще один суперупрощенный пример, просто чтобы подчеркнуть суть.

Пробный тест такого программного обеспечения решает проблему.

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

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

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

# 3 Тестирование чистой операционной среды

Когда вы пытаетесь выполнить более целостные пробные тесты, становится сложнее исключить переменные.

Мы уже говорили о том, насколько сложным может быть современное программное обеспечение.

Как вы выполняете пробный тест, когда вы, наконец, собрали все это вместе?

Есть два ключа к этому типу теста.

Во-первых, последовательное тестирование.

Будем надеяться, что все программные компоненты смогли пройти пробный прогон и тесты компиляции (где вы фактически запускаете их на компьютере) до этого момента, так что вы знаете, что каждый компонент работает.

Второй ключ — использовать чистую операционную среду.

По сути, где бы вы ни использовали свой компьютер, вы вводите в систему новые данные.

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

Ваше присутствие за компьютером меняет дело.

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

Каждый раз, когда вы устанавливаете новую программу, она должна взаимодействовать со всем другим программным обеспечением на компьютере (по крайней мере, до некоторой степени).

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

Пробный запуск может обойти все это, запустив программное обеспечение на новой чистой сборке.

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

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

# 4 Тестирование без аппаратных средств

На самом деле мы возвращаемся к традиционным пробным тестам.

Безаппаратное тестирование — это другое название ручного запуска кода для проверки логических ошибок.

Как я уже сказал, это все еще относится к современному программному обеспечению, если вы разбиваете его на управляемые части.

Но есть важная концепция, которую я упустил ранее.

По сути, есть два подхода к пробному тесту без аппаратного обеспечения.

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

Поскольку они написали код, они точно знают, что означает (или должна означать) каждая строка.

Они также могут пройти логику очень быстро и эффективно.

Проблема в том, что они слишком хорошо знают код.

Они понимают, как должна работать логика, и это вносит предвзятость, которая может навредить пробному тесту.

Приходилось ли вам когда-нибудь вычитывать собственные тексты?

Вы пропустили мелкие ошибки?

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

Таким образом, конкурирующая философия заключается в том, чтобы разработчики выполняли эти тесты вслепую.

Вы приглашаете человека (или команду), который достаточно разбирается в коде, чтобы пройти алгоритм.

Затем они проводят стандартную пробную проверку, чтобы убедиться, что логика работает.

Это может помочь устранить предвзятость, но обычно это занимает больше времени, и вы должны платить тестировщику, так что это дороже.

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

# 5 Тестовые сценарии

Наконец, мы приступаем к тестированию сценариев.

Сценарии тестирования следуют той же общей идее, что и традиционные пробные тесты.

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

Но с помощью тестовых сценариев вы автоматизируете процессы, чтобы сделать их намного быстрее.

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

Таким образом, вы можете написать сценарий, который сообщает вашему калькулятору ввести 5+5 и запустить его.

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

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

Таким образом, тестирование скриптов во многом является современной версией традиционных пробных тестов.

Вы можете написать сценарий для тестирования любого элемента программного обеспечения по желанию.

Вы запускаете скрипт и смотрите, работает ли программа.

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

Простой пример

Давайте рассмотрим краткий пример тестовых сценариев, чтобы действительно увидеть, как они работают.

Представьте, что вы в команде, работающей над QuickBooks (поскольку мы уже говорили об этом).

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

Но, несмотря на то, что он «маленький», он все же состоит из нескольких тысяч строк.

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

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

t выполнит действия, и вы увидите, заработал ли ваш раздел.

Итак, в этом случае вы можете написать сценарий, который сообщает программе искать налоговые вычеты.

Ваш сценарий будет включать входную информацию, необходимую программе.

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

Программное обеспечение было правильным?

Ответ на этот вопрос дает вам логическую проверку, которую вы ищете.

# 6 Пробные проверки тестов

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

Традиционно при пробном прогоне пытаются проверить логику кода в программном обеспечении.

Тем не менее, современные варианты просто напрямую проверяют программное обеспечение, например, в тестах сценариев выше.

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

Это немного странно?

По сути, вы хотите придумать тест для программного обеспечения.

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

Итак, в предыдущем примере мы рассмотрели запуск скрипта, чтобы проверить, находит ли налоговое программное обеспечение правильные вычеты.

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

Это тест на логику внутри теста на логику, но такая тщательность гарантирует, что результаты теста означают именно то, что вы думаете.

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

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

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

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