Виды тестов:
·
кросс-браузерное
тестирование (различные браузеры или версии браузеров)
·
кросс-платформенное
тестирование (различные операционные системы или версии операционных систем)
Нефункциональное
тестирование –
это проверка характеристик программы. Иначе говоря, когда проверяется
не именно правильность работы, а какие-либо свойства (внешний вид и удобство
пользования, скорость работы и т.п.).
1.
Тестирование пользовательского интерфейса (GUI) – тестирование,
выполняемое путем взаимодействия с системой через графический интерфейс
пользователя.
ü
навигация
ü
цвета,
графика, оформление
ü
содержание
выводимой информации
ü
поведение
курсора и горячие клавиши
ü
отображение
различного количества данных (нет данных, минимальное и максимальное
количество)
ü
изменение
размеров окна или разрешения экрана
2. Тестирование удобства
использования (Usability Testing)
–
тестирование с целью определения степени понятности,
легкости в изучении
и
использовании,
привлекательности программного продукта для пользователя при условии
использования в заданных условиях эксплуатации.
§ визуальное оформление
§ навигация
§ логичность
3. Тестирование доступности
(Accessibility testing) – тестирование,
которое определяет степень легкости,
с которой пользователи с ограниченными способностями могут использовать систему
или ее компоненты.
4. Тестирование интернационализации – тестирование способности продукта
работать в локализованных средах (способность изменять элементы интерфейса в
зависимости от длины и направления текста, менять сортировки/форматы под
различные локали и т.д.). (Максим Черняк).
Интернационализация
– это процесс,
упрощающий дальнейшую адаптацию
продукта к языковым и культурным особенностям региона, отличного от того, в
котором разрабатывался продукт. Это адаптация продукта для потенциального
использования практически в любом месте, Интернационализация производится на
начальных этапах разработки, в то время как локализация — для каждого целевого
языка.
5.
Тестирование локализации
(Localization testing) – тестирование,
проводимое с целью проверить
качество перевода продукта с одного языка на другой.
6. Тестирование производительности или
нагрузочное тестирование – процесс тестирования с целью определения производительности
программного продукта.
Виды тестов:
o
нагрузочное
тестирование (Performance and Load testing) – вид тестирования
производительности, проводимый с целью оценки поведения компонента или системы
при возрастающей нагрузке, например количестве параллельных пользователей и/или
операций, а также определения какую нагрузку может выдержать компонент или
система;
o
объемное
тестирование (Volume testing) – позволяет получить оценку производительности
при увеличении объемов данных в базе данных приложения;
o
тестирование
стабильности и надежности (Stability / Reliability testing) – позволяет
проверять работоспособность приложения при длительном (многочасовом)
тестировании со средним уровнем нагрузки.
o
стрессовое
тестирование (Stress testing) – вид тестирования производительности,
оценивающий систему или компонент на граничных значениях рабочих нагрузок или
за их пределами, или же в состоянии ограниченных ресурсов, таких как память или
доступ к серверу.
7. Тестирование требований
(Requirements testing) –
проверка требований на соответствие основным
характеристикам качества.
8. Тестирование прототипа (Prototyte
testing) –
метод выявления структурных, логических ошибок и ошибок
проектирования на ранней стадии развития продукта до начала фактической
разработки.
9. Тестирование установки
(Installability testing) и лицензирования – процесс тестирования
устанавливаемости программного продукта.
Виды тестов:
§ формальный тест программы установки
приложения (проверка пользовательского интерфейса, навигации, удобства
пользования, соответствия общепринятым стандартам оформления);
§ функциональный тест программы
установки;
§ тестирование механизма лицензирования и функций защиты от
§ проверка стабильности приложения
после установки.
10. Тестирование на отказ и
восстановление (Failover and Recovery Testing) – тестирование при помощи
эмуляции отказов системы или реально вызываемых отказов в
управляемом окружении.
Тестирование
программного продукта включает следующие этапы:
1.
Изучение и анализ предмета
тестирования.
2.
Планирование тестирования.
3.
Исполнение тестирования.
Изучение
и анализ предмета тестирования начинается еще до утверждения спецификации и
продолжается на стадии разработки (кодирования) программного обеспечения.
Конечной целью этапа изучение и анализ предмета тестирования является получение
ответов на два вопроса:
-
какие функциональности предстоит
протестировать,
-
как эти функциональности работают.
Планирование
тестирования происходит
на стадии разработки (кодирования) программного обеспечения. На
стадии планирования тестирования перед тестировщиком стоит задача поиска
компромисса между объемом тестирования, который возможен в теории, и объемом
тестирования, который возможен на практике. На данной стадии необходимо
ответить на вопрос: как будем тестировать? Результатом планирования
тестирования является тестовая документация.
Выполнение
тестирования происходит
на стадии тестирования и представляет собой практический поиск
дефектов с использованием тестовой документации, составленной ранее.
Для
всех программных продуктов выполняют следующие типы тестов и их композиции.
Для
первого билда рекомендуется
проводить Smoke+AT готовой функциональности:
поверхностное тестирование (Smoke Test) выполняется для определения пригодности
сборки для дальнейшего тестирования; полное тестирование системы или ее части
как на корректных, так и на некорректных данных/сценариях (Acceptance Test, AT)
позволяет обнаружить дефекты и внести запись о них в багтрэкинговую систему.
Для
последующих билдов композиции тестов могут быть следующими:
-
Если
не была добавлена новая функциональность, то: DV+MAT. Т.е., выполняется
проверка исправления дефектов программистом (Defect Validation, DV), а также
проверка работоспособности остальной функциональности после исправления
дефектов на позитивных сценариях (Minimal Acceptance Test, MAT).
- Если была добавлена новая
функциональность, то: Smoke+DV+NFT+Regression Test. В частности, выполняется
поверхностное тестирование (Smoke Test), проверка исправления дефектов
программистом (Defect Validation, DV), тестирование новых функциональностей
(New Feature Testing, NFT), проверка старых функциональностей, т.е.
регрессионное тестирование (Regression Test).
- Если была добавлена новая
функциональность, то возможен также вариант: DV+NFT+Resression test, т.е. без
выполнения Smoke Test.
В
зависимости от типа и специфики приложения (web, desktop, mobile) выполняют
специализированные тесты (например, кроссбраузерное или кроссплатформенное
тестирование, тестирование локализации и интернационализации и др.).