База знаний
Тестирование веб-проектов: основные этапы и советы.
Тестирование играет жизненно важную роль в процессе разработки и создания качественного программного обеспечения. Необходимо серьезно относиться к анализу и проектированию структурированного процесса, который обеспечит своевременный и успешный выпуск проекта.
Важно помнить, что доверие пользователей очень просто потерять, и исправить совершенные ошибки может стоить дороже, чем изначально произвести полную подготовку и тестирование.
Этапы тестирования веб-проектов:
Подготовительный этап и изучение документации.
В данный этап входит анализ технического задания; изучение конечных макетов;тест кейсов;матрицы соответствия (для валидации покрытия требований по продукту тестами) и составление плана тестирования.
Визуальная часть:
Проверить можно так: FirefoxMenu –> Инструменты –> Веб-разработчик –> Адаптивный дизайн или Resolution Test Plugin в Chrome.
Доступность и отсутствие JS ошибок:
Корректная работа, надежная верстка:
404-е запросы:
Вид тестирования, при котором выявляется некорректная/неправильная работа функционала программы.
Необходимыми проверками являются:
Ad-hock тестирование — импровизационное тестирование без подготовки.
Помогает понять: понятно ли назначение форм;
Из достоинств данного тестирования можно выделить:
Негативное тестирование, обычно называемое тестированием пути ошибок или тестированием на сбой, это процесс применения как можно большего количества креативных подходов и проверки приложения на предмет неверных данных. Его предназначение состоит в том, чтобы проверить, показываются ли ошибки пользователю, где они могут быть, или обрабатывать неправильные значения более изящно. Проводится для обеспечения стабильности приложения.
Эквивалентные тесты – это тесты, которые приводят к одному и тому же результату. Группа тестов представляет собой класс эквивалентности, при выполнении следующих условий:
Эквивалентная область – часть области входных или выходных данных, для которых поведение компонентов или систем, основываясь на спецификации, считаются одинаковыми.
Exploratory testing, также называется интуитивным тестированием, подразумевает под собой одновременно проектирование, выполнение тестов и обучение продукту.
Позволяет проверить комфортное использование сайта для пользователя, насколько легко найти необходимую информацию или выполнить желаемые действия.
Тип нефункционального тестирования программного обеспечения, позволяющий проверить, может ли ПО работать на другом оборудовании, операционных системах, приложениях, сетевых средах или мобильных устройствах.
Методика нефункционального тестирования, для измерения таких параметров системы как отзывчивость и стабильность, при различных нагрузках. Позволяет исследовать скорость быстродействия сайта и возможности масштабируемости приложения, например, при добавлении новых пользователей. Проводится с целью выяснить какую нагрузку сайт способен выдержать. Тестирование производительности измеряет атрибуты качества системы, такие как масштабируемость, надежность и использование ресурсов.
Нагрузочное тестирование – это метод тестирования производительности, при котором реакция системы измеряется в различных условиях нагрузки. Отвечает за реакцию веб-приложения при увеличении рабочей нагрузки. Нагрузочные испытания проводятся для нормальных и пиковых нагрузок (одновременная покупка товара или авторизация на сайте большого количества пользователей).
Задачи нагрузочного тестирования: время отклика, пропускная способность, утилизация ресурсов, максимальная пользовательская нагрузка, бизнес-метрики.
Стресс-тестирование (Stress Testing) проверяет систему на ее устойчивость и обработку ошибок в условиях чрезвычайно высокой нагрузки (оценивает как система работает в экстремальных условиях, за пределами ограничений и лимитов). Стресс-тестирование проводится, чтобы убедиться, что система не будет аварийно завершать работу в критических ситуациях.
Тестирование стабильности/надежности (Stability/Reliability Testing) – тип тестирования программного обеспечения, который проверяет, может ли программное обеспечение выполнять безотказную работу в течение определенного периода времени в указанной среде.
Объемное тестирование (Volume Testing) – тип тестирования программного обеспечения, проводится для анализа производительности системы за счет увеличения объема данных в базе данных.
Тестирование параллелизма (Parallel Testing) – тип тестирования программного обеспечения, который проверяет несколько приложений или подкомпонентов одного приложения одновременно, чтобы сократить время тестирования. При параллельном тестировании тестировщик запускает две разные версии программного обеспечения одновременно с одним и тем же вводом. Цель состоит в том, чтобы выяснить, ведут ли себя прежняя система и новая система одинаково или по-разному.
Направлено на оптимизацию безопасности системы при проектировании, разработке, использовании и обслуживании программных систем и их интеграции с критически важными для безопасности аппаратными системами в производственной среде.
Аспекты безопасности программного обеспечения:
Цели в тестировании безопасности:
Дополнительную информацию по безопасности приложений можно посмотреть тут: CHECK, ISACA, NIST Guideline, OSSTMM, OWASP Guide.
Принципы безопасности:
Обработка ошибок и регрессионное тестирование.
После завершения разработки веб-приложения следует провести оценку и анализ выявленных ошибок для дальнейшего предотвращение их повтора. А также выполнить регрессионное тестирование.
Использует технику тестирования черного ящика (повторное выполнение тестов), на которые влияют изменения кода. Эти тесты должны выполняться как можно чаще в течение всего ЖЦПО при изменениях кода для исправления дефектов или для улучшения работы веб-приложения.
Практические советы вам:
Хотим вам напомнить, что рабочий процесс – это не рутина, а творческий процесс, определяющий широту полета вашей мысли. Относитесь к вашей работе как к новому челленджу, и вы определенно начнете получать не только удовольствие, но и вдохновение и желание развиваться. Задачи тестировщика очень многогранны: им необходимо понять задачу веб-приложения, понять как оно должно работать, какие задачи решать, какую пользу приносить пользователям и затем перепроверить все по несколько раз, чтобы выпустить проект в мир. Им нужно быть собранными и дерзать, чтобы выпускать проекты за которые вся команда сможет гордиться =)
Связаться с нами
Адрес: г. Киев, 03058, а/я 24
E-mail: info@qalight.com.ua