Все виды работ проводимых тестировщиком можно условно разделить на два:
- Функциональное тестирование — тестирование ПО главная цель которого это проверка реализуемости функциональных требований приложения, т.е. способность приложения в заданных критериях решать возложенные на него (на приложение) задачи. Требования включают в себя:
- защищенность
- соответствие стандартам
- способность к взаимодействию
- функциональная пригодность
- точность
- Нефункциональное тестирование ПО — в первую очередь проверка на соответствие не функциональным требованиям:
- Удобство (В основном производиться оценка удобства для пользователей)
- Маштабируемость (проверяется как вертикальная так и горизонтальная маштабируемость тестируемого приложения)
- Производительность (Способность работы приложения при различных нагрузках)
- Безопасность (Защита пользовательских данных, защита данных приложения, стойкость на взлом)
- Портируемость (Совместимость и переносимость приложения для и под различные окружения, платформы и т.д.)
- Надежность (Поведение системы при различных непредвиденных ситуациях, способность обработки нестандартных действий пользователя)
В свою очередь, эти виды тестирования ПО имеют по множеству разнообразных разбиений по особенностям тестирования. Так же тестирование может еще подразделяться на уровни тестирования, которые в той или иной мере могут пресекаться между собой.
Еще существует более детальное разбиение по целям, хронологии, знанию системы, сценариям и т.д.
Чтобы было немного проще понять все градации тестирования приведем небольшую табличку
По объектам которые подвергаются тестированию:
- Функциональное тестирование
- Тестирование локализации и интернационализации
- Тестирование взаимодействия
- Конфигурационное тестирование
- Тестирование производительности
- Тестирование стабильности
- Стресс-тестирование
- Нагрузочное тестирование
- Юзабилити-тестирование
- Тестирование документации
- Тестирование интерфейса пользователя
- Тестирование безопасности
По степени знания тестируемой системы:
- Тестирование чёрного ящика
- Тестирование белого ящика
- Тестирование серого ящика
По степени автоматизации процесса тестирования:
По степени изолированности части компонентов тестируемого ПО:
По степени глубины тестирования:
По времени когда проводится тестирование:
- Альфа-тестирование
- Дымовое тестирование (smoke testing)
- Тестирование новой функции (new feature testing)
- Регрессионное тестирование
- Приёмочное тестирование
- Бета-тестирование
По признакам позитивности сценариев
- Негативное тестирование
- Позитивное тестирование
По критериям запуска программы или программного кода:
- Статическое тестирование
- Динамическое тестирование
По степени подготовки к тестированию теcтировщиком: