2
Введение
Самой важной целью и основной задачей
тестирования программного
обеспечения (Software Testing) является
проверка соответствия между
реальным и ожидаемым поведением программы. Для достижения этой цели
используется конечный набор тестов, который выбирается определенным
образом. В более широком смысле, процесс тестирования – это одна из техник
контроля качества продукции. Техника, которая
включает в себя не только
проверку готовой продукции – выполнение
процесса тестирования (Test
Execution) с помощью
спроектированных тестов (Test Design) и
анализ
полученных результатов (Test Analysis), но и активность по планированию
работ –
Тест-менеджмент (Test Managment). Поэтому задача тестировщика –
включиться в процесс разработки продукта на самом раннем его этапе – этапе
планирования.
Тестирование – это одна из самых важных
частей процесса разработки
ПО, раннее тестирование позволяет выявить ошибки, проблемы и баги ещё на
пути массового тиражирования программы, что позволяет сэкономить средства
заказчика (так как до релиза исправить ошибки гораздо проще) и создать
продукт, который полностью удовлетворяет потребности пользователей.
На сегодняшний день выделяют несколько видов тестирования:
1.
Статическое и динамическое: статическое происходит без запуска
системы, динамическое – с запуском. Во
время статического
тестирования можно провести начальную оценку работоспособности:
создается проектная документация, разрабатывается спецификация,
вычитывается программный код. После статического этапа
тестирования наступает его динамический этап:
оценка скорости
ответа
на
действия,
отражение
работы
приложения
на
функциональности процессора и памяти устройства.
3
3
2.
Функциональное и нефункциональное: любая разрабатываемая
программа имеет две области для тестирования, функциональная
напрямую связана с пользовательским опытом взаимодействия. Во
время функционального тестирования
рассматривается способность
программы выполнять пользовательские задачи. Нефункциональное
тестирование направлено на исследование взаимодействия программы
и окружения: выясняется истинный уровень надежности и
защищенности системы, возможность работы с различными девайсами
и версиями оперативной системы.
3.
Тестирование по принципу «черный», «серый» и «белый» ящик:
определяется степенью возможности взаимодействия тестировщика и
программного кода продукта. Метод «черного ящика» - без доступа к
коду, позволяет оценить степень реализации функций системы:
ошибки
интерфейса, поведение ПО в процессе решения
пользовательских задач. Метод «белого ящика» позволяет
тестировщику проверить логичность и структуру кода, однако требует
от него дополнительных навыков и знаний в программировании. Метод
«серого ящика» открывает тестировщику частичный доступ к коду, что
позволяет в какой-то мере проводить проверки не только методом
«черного», но и методом «белого ящика».
4.
Ручное и автоматическое: Автоматическое тестирование –
самый
быстрый вид тестирования, проводится с помощью специальных
программ. Во время автоматического тестирования тесты постоянно
модифицируются. Ручное тестирование предполагает гораздо больше
временных затрат, однако позволяет
вычленить неспецифические
ошибки, которые не может определить тест, ошибки, действующие на
границе определенного скрипта. Поэтому как бы ни было удобно
автоматическое
тестирование,
полностью
заменить
собой
тестирование ручное оно не может.
4