документ в котором описываются требования к ПО или функционалу.
Не соответствие полученного от ожидаемого результата
Показывающее соответствие спецификации и реализации ПО
Полноценная работа при которой проверяется весь функционал нового ПО.
Проверка кода в момент его выполнения
Анализ кода без его выполнения
Поиск ошибок и проверка правильной реализации алгоритмов кода
Проверка ввода пользовательских данных, режимы ввода, отображения данных. При тестировании интерфейса есть возможность проверить внутренний код и алгоритмы, но с помощью тестирования интерфейса нельзя провести быстро и эффективно полноценную проверку.
Тесты сгруппированы по модулям, так называемое юнит тестирование
Группируются тесты по функционалу и зависят от проекта ПО
С видами документов: * Прайсы * Инвойсы * Накладные * Счета * Складские операции Работа с транспортом: * email * tcp/ip * ftp С хранилищем данных * SQL * oracle * firebird * file * local * Network File System * Cloud
Тестирование несколько приложений одновременно
Предупреждающие, планируемое наложение тестов, до написания кода. Тесты пишутся до написания кода. Используются для написании кода по спецификации.
Тесты накладываются в момент написания кода или сразу же после окончания. Тесты применяются для проверки и отладки функционала, представляет собой набор данных, в основном, для отладки функционала.
Покрытие тестами давно написанного функционала. Используется в основном когда происходит скопление дефектов «снежный ком» и компания ограничена в каких либо ресурсах (временных, финансовых, человеческих). Или когда в компании применяется система контроля качества.
Подготовленных псевдо-рабочие данных. Это корректные правильные данные для приемочного тестирования, показывающее соответствие спецификации и реализации ПО.
Если результат выполнения функционала совпадает с эталоном, то тест считает пройденным
if (2+2=4) then result:=trOk;
Когда результат выполнения отличается эталона, то это считается ошибкой
if (2+2=5) then result:=trError;
Условие при котором при выполнении функционал должен вернуть ошибку. Если тест вернул ошибку, значит тест пройден.
Пример 4/0=4 явно должен вернуть ошибку деления на 0. Если тестируемый код возвращает Exception, то значит тест пройдет. При указании регистрации IRegisterMethodParams нужно указать, что должно быть исключение trException
// Registration method IRegisterMethod(tmDiv ,'tmDiv' ,'Test Div operation');// Test methods // Registration params IRegisterMethodParams([4,0],[4],'4 div 0 = 4 (!) trException it''s Ok',trException); // Exception = Ok
Все тесты выполняются только с помощью ручных действий.
Тесты выполняются только программно
Небольшие ручные изменения при автоматических тестах. Например в TestCode при тестировании можно изменить количество повторов
Все тесты выполняются по порядку.
Выполняются в случайном порядке. Выполнение в случайном порядке может быть несколько видов:
Этот порядок выполнения тестов применяется при интеграционном тестировании
Проверка на соответствие технических требований, провести оценку на снижение производительности: Составляется график, пределов эффективной работы, выявление критических границ, вычисление экспоненты снижение производительности, определение самого слабого звена, поиск путей решения, если нагрузочное тестирование не соответствует требованиям
Проверка на сколько быстро выполняется работа с обработкой и передачей данных с эталонным объемом:
Тестируется скорость с увеличением объема данных
Проверка на увеличение количества одновременно работающих экземпляров ПО
То, что зависит от нас
Явно повлиять на уменьшение и исправления ошибок мы не можем, но мы можем протестировать на нужные нам параметры