Тестирование ПО (программного обеспечения) — процесс исследования программного обеспечения (ПО) с целью получения информации о качестве продукта.
С точки зрения ISO 9126, Качество (программных средств) можно определить как совокупную характеристику исследуемого ПО с учётом следующих составляющих:
- надёжность
- сопровождаемость
- практичность
- эффективность
- мобильность
- функциональность
Более полный список атрибутов и критериев можно найти в стандарте ISO 9126 Международной организации по стандартизации. Состав и содержание документации, сопутствующей процессу тестирования, определяется стандартом IEEE 829-1998 Standard for Software Test Documentation.
Баги. По точке их приложения баги можно разделить на:
- Ошибки пользовательского интерфейса.
- Ошибки функциональности.
- Ошибки логики программирования.
- Ошибки инсталляции.
- Ошибки использования памяти, системных ресурсов и т.д.
История развития тестирования программного обеспечения
Тестирование программного обеспечения. Существует несколько признаков, по которым принято производить классификацию видов тестирования.
Обычно выделяют следующие виды тестирования.
По объекту тестирования:
- · Функциональное тестирование (functional testing)
- · Нагрузочное тестирование
- · Тестирование удобства использования (usability testing)
- · Тестирование интерфейса пользователя (UI testing)
- · Тестирование безопасности (security testing)
- · Тестирование локализации (localization testing)
- · Тестирование совместимости (compatibility testing)
- Тестирование производительности
- Тестирование стабильности
По знанию системы:
- Тестирование чёрного ящика (black box)
- Тестирование белого ящика (white box)
- Тестирование серого ящика (gray box)
По степени автоматизированности:
- Ручное тестирование (manual testing)
- Автоматизированное тестирование (automated testing)
- Полуавтоматизированное тестирование (semiautomated testing)
По степени изолированности компонентов:
- Компонентное (модульное) тестирование (component/unit testing)
- Интеграционное тестирование (integration testing)
- Системное тестирование (system/end-to-end testing)
По времени проведения тестирования:
- Альфа тестирование (alpha testing)
- Тестирование при приёмке (smoke testing)
- Тестирование новых функциональностей (new feature testing)
- Регрессионное тестирование (regression testing)
- Тестирование при сдаче (acceptance testing)
- Бета тестирование (beta testing)
По признаку позитивности сценариев:
По степени подготовленности к тестированию:
- · Тестирование по документации (formal testing)
- · Эд Хок (интуитивное) тестирование (ad hoc testing)
Обеспечение качества веб-приложений :
- Функциональное тестирование: ручное, автоматизированное и полуавтоматизированное тестирование веб-приложений с целью убедиться в том, что все компоненты приложения работают стабильно и соответствуют бизнес-требованиям.
- Тестирование пользовательского интерфейса и кроссбраузерное тестирование направлены на обеспечение взаимодействия приложения с пользователем и исключение дефектов верстки.
- Тестирование удобства пользования: выявляет точки в процессе навигации и пользовательском интерфейсе, которые могут быть непонятны пользователю, обладают недостаточной информативностью либо, наоборот, избыточны.
- Нагрузочное и стресс-тестирование направлено на проверку стабильности работы приложения при прогнозируемой рабочей и пиковых нагрузках.
Полезные ресурсы:
- http://software-testing.ru/library/testing
- http://www.usabilitynet.org
- http://www.protesting.ru/
- http://automated-testing.info/
- http://fixber.com/
- http://www.getinfo.ru/article742.html
Инструменты:
- http://www.designonstop.com/useful/service/20-poleznyx-onlajn-validatorov-dlya-proverki-i-testirovaniya-sajta.htm
- http://www.webmasters.by/articles/review-po/169-30-online-tools-for-website-validation-cross-browser-and-testing.html
- http://topobzor.com/13-servisov-dlya-testirovaniya-sajta-v-raznyx-brauzerax/.html
- http://htmlbook.ru/samhtml/validatsiya-dokumentov/proverka-dannykh-na-validnost
- http://perfload.ru/