Глоссарий

Спецификация

документ в котором описываются требования к ПО или функционалу.

Ошибка (bag)

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

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

Показывающее соответствие спецификации и реализации ПО

Тестовая эксплуатация

Полноценная работа при которой проверяется весь функционал нового ПО.

Базовая группа тестов

динамическое тестирование

Проверка кода в момент его выполнения

статическое тестирование

Анализ кода без его выполнения

Цель тестов

тестирование кода

Поиск ошибок и проверка правильной реализации алгоритмов кода

тестирование интерфейса

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

Виды тестов

Модульное

Тесты сгруппированы по модулям, так называемое юнит тестирование

Функциональное

Группируются тесты по функционалу и зависят от проекта ПО

 С видами документов:
    * Прайсы
    * Инвойсы
    * Накладные
    * Счета
    * Складские операции
 
 Работа с транспортом:
    * 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 при тестировании можно изменить количество повторов

Порядок выполнения тестов

Последовательный

Все тесты выполняются по порядку.

Случайный

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

  • Случайно в пределах одного
    • метода
    • класса
    • юнита
    • модуля
  • Случайное выполнение при интеграционном тестировании

По очереди

Этот порядок выполнения тестов применяется при интеграционном тестировании

Производительность

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

Скоростное

Проверка на сколько быстро выполняется работа с обработкой и передачей данных с эталонным объемом:

Нагрузочное

  Тестируется скорость с увеличением объема данных

Стресс тестирование

  Проверка на увеличение количества одновременно работающих экземпляров ПО 

Тестирование средств разработки и среды эксплуатации

внутренняя часть

То, что зависит от нас

  • библиотеки, компоненты сторонних разработчиков с исходным кодом
  • собственные библиотеки и компоненты
  • модули разрабатываемого ПО

внешняя часть

Явно повлиять на уменьшение и исправления ошибок мы не можем, но мы можем протестировать на нужные нам параметры

  • HardWare - Аппаратное тестирование
    • производительность
    • поддержка используемых инструкций
    • работа графической подсистемы
    • сетевого оборудования
  • SoftWare - программное тестирование
    • Операционное тестирование
      • работа операционной системы
      • используемая база данных
    • Тестирование окружения
      • со сторонним ПО установленным у пользователя
    • средств разработки
      • компилятор
      • компоненты и библиотеки без исходников