И разберем какие бывают виды виды функционального тестирования: -Дымовое тестирование (smoke test)- проводится после появления нового билда (некая промежуточная версия ПО). Отвечает на вопрос: готово ли приложения для выполнения своих основных функций? Например: можем ли мы залогиниться, отправить товар в корзину, провести оплату;- максимально всё поверхностное без детализации.Часто автоматизируется.
Тестирование критического пути. - направлено для проверки функциональности, тестируем типичные функции пользователя,его типичные задачи . Плюс ко всему позволяет выявить самые быстро находимые дефекты и исправить приложение в более сжатые сроки. Например: Заходим на сайт aliexpress, можем ли мы залогиниться; вбить интересующий товар в поисковик; добавить в корзину; в избранное СМОЖЕМ ЛИ К ПРОЦЕССУ ПОДКЛЮЧИТЬ ФИЛЬТР, по определенному параметру данного товара. / хотим отправить письмо по мail , меняем штрифт, жирность, размер, цвет. и т.д. Здесь мы проверяем основную массу требований к продукту,все ли с ним ок. Часто используется для вэб-проектов.
Расширенное тестирование (extended) Проверяем нестандартное использование приложение. Например: вводить некорректные логин / пароль в поле, или оставить их пустыми и нажать - авторизация. Подгрузка файлов недопустимых размеров или форматов. На собеседование за основу можно взять три основных вида : smoke test; критического пути; расширенное тестирование.
Какие бывают виды нефункционального тестирования: 1. Тестирование производительности (performance testing) 2. Инсталляционное тестирование (installation testing) 3. Проверка удобства (Usability) 4. Тестирование безопасности (security testing) 5.Тестирование локализации ( L10N) и интернационализации(L18N) 6. Тестирование доступности (accessibility
Нефункциональное тестирование - отвечает на вопрос – как это должен делать наш продукт? Это когда мы делаем то, что система не ожидает, как будет работать в непредвиденных обстоятельствах.Сломается или продолжит работать. Сюда относятся тестирование на отказ и тестирование системы после сбоя , производительность под нагрузкой.
1. Тестирование производительности (performance testing) комплекс видов тестирования, целью которого является проверка работоспособности, стабильности. Cтабильность и работоспособность нашего продукта – это очень важный показатель, ведь если наше приложение будет виснуть, то пользователь перестанет им пользоваться.
Подвиды тестирование производительности : а. Нагрузочное (load testing) - Целью его проведения выступает проверка производительности программы на предмет способности справиться с большим количеством запросов и обращений со стороны потенциальных клиентов. Например, наш порог пользователей 1000 пользователей на сайте (то есть наша норма), в идеале конечно установить это значение именно при 1000 пользователях. б. Стресс-тестирование. Например: система рассчитана на 1000 пользователей, как система будет себя вести если будет работать максимально на грани, что с ней будет происходить. Вспоминаем "Черную пятницу" .
в. Тестирование стабильности. Как система будет вести себя при длительной нагрузки. Например: при использовании системы целый день, неделю будет ли она работать как в начале, если нет это дефект.
г. Объёмное тестирование. Это когда например все 1000 пользователей будут одновременно отправляют сообщения или загружают файлы , как себя система будет себя вести при этом? Jmeter( программа помощник в данном контексте)
в. Тестирование стабильности. Как система будет вести себя при длительной нагрузки. Например: при использовании системы целый день, неделю будет ли она работать как в начале, если нет это дефект.
г. Объёмное тестирование. Это когда например все 1000 пользователей будут одновременно отправляют сообщения или загружают файлы , как себя система будет себя вести при этом? Jmeter( программа помощник в данном контексте)
2. Инсталляционное тестирование (installation testing). Этот вид тестирование направлен на проверку успешной установки и настройки; обновления или удаления приложения. Например: Устанавливается / удаляется ли наше приложение с телефона, компьютера. Можно ли его скачать с playMarket или App Store. Проверяем обновление нашего приложение; можно ли откатить к предыдущей версии.
3. Проверка удобства (Usability) Проверка на удобства. На сколько удобен функционал, комфортен ли дизайн, цветовое решение ; На сколько наш продукт удобен конечному пользователю, захочет ли он пользоваться им снова и снова.
4. Тестирование безопасности (security testing) Используется для проверки безопасности системы, анализа рисков связанные с обеспечение защиты приложения ( вирусы, атака хакеров , несанкционированный доступ к конфиденциальным данным) .
5. Тестирование локализации( L10N) Как система отображает нужный нам язык. Например мы тестируем для русской/ английской аудитории , все ли корректно отображаются слова.Как на кнопке login отображается язык на месте или съехал.Находится ли все на русском или что-то из текста меню не перевелось.( это будет баг)Если мы тестируем локализацию на русском языке, то всё должно быть чисто на русском без примеси других языков.
Интернационализации(L18N) Это когда мы например,разрабатываем продукт на 5 языках, и мы хотим добавить еще парочку. И тут нам нужно посмотреть будут ли отображаться корректно текст или символы (если это например китайский) не будут ли они разбросаны по разным местам на том же Landing. Будите ли это красиво/ понятно для пользователя. Так же тестирование локализации и интернационализации, здесь тестируем еще и традиции. То есть важно учитывать и подгонять наше приложение// продукт под целевую аудиторию определенной страны. Как пользователь будет относиться к контекту которую мы ему даем.
6. Тестирование доступности(accessibility) Доступность людям с ограниченными возможностями, необязательно инвалиды. Например , мы можем протестировать возможности человека с ограниченными возможностями// либо человек который едет за рулем сможет ли использовать приложение одной рукой,будет ли удобно? Возможностью просматривать субтитры, например в том же ютубе, если у вас нет наушников, а вы не хотите пользоваться звуком. Задача максимально адаптироваться под нашего пользователя.
Друзья ! Есть те кто, на интервью спрашивает про разницу: Quality Assurance и Тестеровщик. Quality Assurance - это инженер по качеству, который занимается улучшением процесса разработки ПО. Тестирование - это забота о качестве в виде обнаружения багов до того, как их найдут пользователи. Кстати, хотя инженер по качеству (QA Engineer) и тестировщик (Test Engineer) — это разные профессии, тестировщиков часто называют инженерами по качеству.
❤🔥1👍1