- •Классификация видов тестирования по объекту тестирования.
- •Классификация видов тестирования по знанию системы, степени автоматизации, степени изолированности компонентов.
- •Классификация видов тестирования по времени проведения тестирования, признаку позитивности сценариев, степени подготовленности к тестированию.
- •Чем отличается статическое и динамическое тестирование.
- •Что вы знаете о регрессионном тестировании: зачем и как оно проводится.
- •Система отслеживания ошибок. Какая информация в ней содержится.
- •Типичный жизненный цикл дефекта:
- •Наиболее часто используемые команды Selenium:
- •Синтаксис тестов Selenium.
- •Как несколько разных тестов можно объединить в тестовую последовательность.
ОТВЕТЫ
-
Что такое тест. Тест – это процедура, которая позволяет либо подтвердить, либо опровергнуть работоспособность кода. Когда программист проверяет работоспособность разработанного им кода, он выполняет тестирование вручную. В данном контексте тест состоит из двух этапов: стимулирование кода и проверки результатов его работы. Автоматический тест выполняется иначе: вместо программиста стимулированием кода и проверкой результатов занимается компьютер, который отображает на экране результат выполнения теста: код работоспособен или код неработоспособен.
-
Что включает в себя проверка сайта на его соответствие техническому заданию. Проверка сайта на его соответствие техническому заданию включает в себя:
1. Просмотр сайта на мониторах с различной разрешающей способностью.
2. Проверку времени загрузки всех страниц сайта при заданной скорости соединения с Интернет.
3. Проверку возможности просмотра сайта и правильности отображения цветов при различном количестве цветов, установленных на мониторе.
4. Проверку сайта при просмотре его на различных браузерах и их версиях.
5. Проверку гиперссылок, поиск и устранение сломанных гиперссылок.
6. Проверку правильности отображения шрифтов на различных браузерах и их версиях.
7. Проверку загрузки всех графических материалов сайта (рисунки, фотографии и т.д.).
8. Проверку замещающих надписей графических материалов.
9. Проверку работоспособности счётчиков, установленных на страницах сайта.
10. Проверку описания, содержания, свойств страниц сайта и мета-тэгов каждой страницы.
11. Проверку орфографии на страницах сайта.
12. Просмотр на соответствие содержимого страниц сайта исходному контенту, представленному заказчиком.
Так же проводится проверка сайта на его программно-аппаратную совместимость с сервером - закачка полной версии сайта на сервер, многократное тестирование и проверку на наличие и устранение всех ошибок.
-
Классификация видов тестирования по объекту тестирования.
1. Функциональное тестирование (functional testing)
2. Тестирование производительности (performance testing)
3. Нагрузочное тестирование (load testing)
4. Стресс-тестирование (stress testing)
5. Тестирование стабильности (stability / endurance / soak testing)
6. Юзабилити-тестирование (usability testing)
7. Тестирование интерфейса пользователя (UI testing)
8. Тестирование безопасности (security testing)
9. Тестирование локализации (localization testing)
10. Тестирование совместимости (compatibility testing)
-
Классификация видов тестирования по знанию системы, степени автоматизации, степени изолированности компонентов.
По знанию системы:
1. Тестирование чёрного ящика (black box)
2. Тестирование белого ящика (white box)
3. Тестирование серого ящика (grey box)
По степени автоматизации:
1. Ручное тестирование (manual testing)
2. Автоматизированное тестирование (automated testing)
3. Полуавтоматизированное тестирование (semiautomated testing)
По степени изолированности компонентов:
1. Компонентное (модульное) тестирование (component/unit testing)
2. Интеграционное тестирование (integration testing)
3. Системное тестирование (system/end-to-end testing)
-
Классификация видов тестирования по времени проведения тестирования, признаку позитивности сценариев, степени подготовленности к тестированию.
По времени проведения тестирования:
1. Альфа-тестирование (alpha testing)
2. Тестирование при приёмке (smoke testing)
3. Тестирование новой функциональности (new feature testing)
4. Регрессионное тестирование (regression testing)
5. Тестирование при сдаче (acceptance testing)
6. Бета-тестирование (beta testing)
По признаку позитивности сценариев:
1. Позитивное тестирование (positive testing)
2. Негативное тестирование (negative testing)
По степени подготовленности к тестированию:
1. Тестирование по документации (formal testing)
2. Тестирование ad hoc или интуитивное тестирование (ad hoc testing)
-
Чем отличается статическое и динамическое тестирование.
При статическом тестировании программный код не выполняется — анализ программы происходит на основе исходного кода, который вычитывается вручную, либо анализируется специальными инструментами. В некоторых случаях, анализируется не исходный, а промежуточный код (такой как байт-код или код на MSIL).
Также к статическому тестированию относят тестирование требований, спецификаций, документации.
Динамическое тестирование производят во время исполнения тестируемого кода. Т.е. в процессе работы программы.
-
Что вы знаете о регрессионном тестировании: зачем и как оно проводится.
Очень важным и сложным этапом в тестировании является этап регрессионного тестирования (англ. regression testing, от лат. regressio — движение назад). На этом этапе производится тестирование программного обеспечения, направленное на обнаружение ошибок в уже протестированных участках исходного кода. Такие ошибки — когда после внесения изменений в программу перестает работать то, что должно было продолжать работать — возникают очень часто.
Регрессионное тестирование зачастую включает в себя:
- new bug-fix - проверка исправления найденного ранее дефекта;
- old bug-fix - проверка, что исправленный ранее и верифицированный дефект не воспроизводится в системе снова;
- side-effect - проверка того, что не нарушилась работоспособность работающей ранее функциональности, если ее код мог быть затронут при исправлении некоторых дефектов в другой функциональности.
Обычно используемые методы регрессионного тестирования включают повторные прогоны предыдущих тестов, а также проверки, не попали ли регрессионные ошибки в очередную версию в результате слияния кода.