Основные виды тестирования ПО с графическим интерфейсом пользователя:
- проверка графического интерфейса пользователя;
- функциональное тестирование;
- проверка производительности;
- регрессионное тестирование.
Тестирование графического интерфейса пользователя — это первый этап испытания ПО. Здесь проверяются вся архитектура ПО, навигация экранов (форм), их наличие и доступность, переходы между экранами, работа пунктов меню, кнопок и т.д. При таком тестировании сразу обнаруживаются ошибки, которые значительно затруднили бы тестирование функциональности ПО.
Для проведения функционального тестирования необходимо создать эталон функционирования ПО.
Функциональность ПО проявляется через пользовательский интерфейс, поэтому функциональные тесты представляют собой, как правило, эмуляцию действий пользователя для решения конкретной задачи и проверки реакции ПО на эти действия. Именно по этой причине важно прежде протестировать работу пользовательского интерфейса.
Крупные и средние ПО, работающие в архитектуре клиент-сервер, наиболее остро нуждаются в тестировании их производительности. Этот вид тестирования направлен, прежде всего, на получение данных об эффективности работы с точки зрения пользователя ПО.
Производительность многопользовательских приложений, построенных по технологии клиент-сервер, в наибольшей степени зависит от производительности сервера базы данных, выбора конкретной СУБД, аппаратной и программной конфигурации, логической модели данных и структуры пользовательских транзакций, от рабочей нагрузки (например, от числа пользователей, частоты транзакций, объема данных).
Наиболее эффектно тестирование с имитацией реальной нагрузки и последующим анализом информации о достигнутой производительности, хотя многие специалисты считают, что наиболее точное определение производительности системы достигается ее тестированием в реальной среде, а не в имитирующей.
Однако если невозможно протестировать систему полностью (например, работу 500 пользователей), можно оценить ее производительность на основе сопоставления с данными реального тестирования части системы.
Каждый дефект или ошибка должны быть определены, идентифицированы, описаны, проанализированы и исправлены.
После внесения изменений повторному тестированию подлежит вся система. При этом все протестированные ранее свойства и функции проверяются заново.
Этот процесс называется тестированием с возвратом, регрессионным тестированием.