Презентация - "Основные понятия тестирования программного обеспечения"
- Презентации / Другие презентации
- 0
- 12.12.24
Просмотреть и скачать презентацию на тему "Основные понятия тестирования программного обеспечения"
Что такое тестирование?
Тестирование – это процесс, направленный на исследование, испытание программного продукта на соответствие ожидаемого результата поведения программного продукта и фактического.
Требования к програмному продукту – это документ, который включает в себя описание того, что должно быть реализовано в программном продукте (визуальные шаблоны, описание основной бизнес логики продукта, на каких платформах оно будет функционировать и т.д,).
Тестировщик заполняет данные поля по заранее обговоренным требованиям – то есть, это длина логина и пароля, язык, допустимые символы и т.д.
И он ожидает что после того как он нажмет кнопку «войти», то попадет на страницу заранее созданного пользователя, это и есть ожидаемый результат. Все что происходит дальше – это фактический результат.
Баг ( дефект) - то есть отклонение ожидаемого результата от фактического.
Кто такой тестировщик?
Тестировщик – это специалист, который обеспечивает качество продукта, проверяет, чтоб он работал правильно, то есть согласно требованиям заказчика, и не было отклонения от бизнес логики продукта.
тестирование web-продуктов - это один из самых популярных и востребованных видов тестирования, большая часть приложений, которыми мы пользуемся, находятся именно в web, это может быть любой сайт, любая платформа, любой сервис;
мобильное тестирование – это тестирование приложений для смартфонов и планшеты, то чем мы пользуемся каждый день и не выпускаем из рук;
тестирование игр –сюда входят игры на ПК, консоли типа PS и Xbox, мобильные игры;
hard-железо – это тестирование компьютеров, техники, ПО для борт-компьютеров, авто, самолетов и т.д.
Способы тестирования
Ручной способ (manual). Это тестирование ПО, представляет собой проведение наших тестов вручную, с помощью графического интерфейса, то есть мы, полностью имитируем деятельность нашего пользователя, переходим по ссылкам, нажимаем необходимые кнопки, заполняем поля и т.д.
Использование вспомогательного ПО.
в виде работы с базами данных
тестирование с помощью API (в данном виде тестирования мы не используем графический интерфейс нашего программного продукта, это происходит с его обратной стороны, которую не видит конечный пользователь).
Способы тестирования
Автоматизация тестирования – этот вид тестирование, требует написания программного кода, который будет выполнять действия первых двух пунктов, либо одного из них, не требуя постоянного участия тестировщика. Данная работа похоже на работу разработчика, который пишет код, для того чтоб наш продукт работал, а тестировщик пишет код чтоб проверить правильно ли работает наш продукт.
Этапы жизненного цикла разработки продукта
Ручной тестировщик – это тот, кто тестирует только ручным способом, это самый легкий вид тестирования, который требует минимального порога входа;
Ручное тестирование + использование вспомогательного ПО - это самый востребованный вид тестирования, то с чего начинают свою карьеру большинство тестировщиков;
Ручное тестирование + использование вспомогательного ПО + немного автоматизация, последний пункт означает, что вы только начали программировать, до вас уже кто-то написал проект автоматизации и вы пишете по готовому шаблону;
Чистые автоматизаторы (автотестеры) - это те люди которые пишут исключительно код, которые уже прошли через первые 3 стадии
Требования к знаниям и заработная плата увеличивается пропорционально повышения ваших обязанностей, навыков, хард- скилов.
Этапы жизненного цикла разработки продукта
Жизненный цикл разработки программного продукта (SDLC – Software development lifecycle) - это процесс, направленный на создание, поддержание работоспособности, качества и надежности программного продукта.
Он включает следующие этапы:
требования;
проектирование;
разработка;
тестирование;
релиз;
поддержка.
Требования
Заказчик программного продукта встречается с руководителем проекта и бизнес-аналитиками из команды разработки, обсуждают требования к продукту и составляют документ требования, те самые требования о которые мы упоминали.
Руководитель проекта – это специалист который руководит и координирует команду разработчика, а так же представляет свою команду или компанию на встречах с заказчиком.
Бизнес-аналитик – это специалист который анализирует и разрабатывает бизнес-логику продукта.
Проектирование
Руководитель проекта, совместно с аналитиками и дизайнером проектируют будущий продукт с точки зрения графического дизайна продукта в виде Mock-up схем (дизайн страниц будущего программного продукта). Это и есть процесс проектирования.
Дизайнер – это тот самый специалист который отвечает за визуальную составляющую нашего продукта, но не техническую.
Разработка
В данном процессе участвуют Разработчики и DevOps.
Они разворачивают базы данных, стенды (серверы) для разработки, интеграционные сервера и production сервер (сервер где находится рабочая версия нашего продукта). Так же используя различные языки программирования и различные инструменты для непрерывной интеграции, развертывания и доставки кода и продукта, разрабатывают Frontend часть (ту что видит конечный пользователь на экране) и Backend часть(ту что скрыта от него).
Тестирование
Происходит тестирование нового функционала, если в результате него обнаружились отклонения от той бизнес логики которая была заложена в продукт, или нарушение в самой системе интеграции и работы функционала, то тестировщик возвращает продукт обратно на стадию на разработки, подробно описав все нюансы. Если же продукт работает исправно, то осуществляет переход на стадию релиз.
Релиз
В процессе релиза происходит загрузка рабочего кода программного продукта, который разработал наш разработчик и проверил тестировщик, на пользовательский сервер или как его еще называют production. Которым уже пользуется конечный пользователь, то есть мы с вами. За это отвечают Разработчики.
Поддержка
Поддержка - это помощь нашим конечным пользователям и заказчику, в поддержании надежности и работоспособности нашего программного продукта.
Связь конечного пользователя с технической поддержкой (Service desk) осуществляется по средствам чатов, электронной почты и телефона.
Специалисты технической поддержки делятся на 3 линии:
L1 - исключительно справочная служба, которая оказывает консультации, регистрирует заявку, передает ее выше стоящим линиям если это необходимо.
L2 - специалисты которые могут посмотреть по базам данных, прочим системам о причине поломки, дать уже более техническую консультации и при возможности устранить неполадки, трудности.
L3 - специалисты которых привлекают когда проблемы с базой данных или сервером, это уже уровень разработки.
Этапы жизненного цикла тестирования
Анализ требований. На данном этапе, мы анализируем наши требования на логичность и отсутствие противоречия в требований друг другу.
Тестовое планирование. Оно включает в себя составление плана тестирования, в котором будут указаны сроки, способы и методы тестирования.
Написание тестовых сценариев. Очень важный этап, в котором мы производим написание тестовых сценариев тестирования программного продукта, то есть сценариев и вариантов комбинаций исходных данных и действий. Подготовка тестовых данных - то есть создание пользователей от чьих лиц мы будем тестировать. Ведь мы всегда имитируем деятельность конечно пользователя.
Подготовка тестовой среды. Это подготовка стендов (серверов) для тестирования, то есть стенда которым будут пользоваться наши тестировщики, с актуальной версией продукта, в этом нам помогают DevOps. Это может происходить локально, удаленно или же на специализированных сервисах.
Выполнение тестов. На данном этапе происходит сам процесс тестирования программного продукта, используя тестовые сценарии, написанные нами ранее.
Завершающая фаза. Если в результате выполнения нашего тестирования, тесты выполнены успешно, то происходит передача протестированного функционала в релиз, если же нет, то возвращаем в разработку, для дальнейшего исправления найденных дефектов.
Что такое QA и QС
QA (Quality assurance) или «обеспечение качества». Это специалист который работает над улучшением процесса разработки ПО на всех уровнях, для того чтоб предотвратить появление дефектов, то есть оптимизация качества продукта. От написания тестовой документации, до релиза. Это включает в себя обучение персонала, подбор инструментов, формат написания документации, как будет проходить тестирование на различных стендах, приемочное тестирование и т.д.
QC (Quality Control) или контроль качества. Это специалисты которые уже реализуют данную стратегию: пишут тестовую документацию, производят тестирование. Они проверяют соответствует программный продукт требованиям или нет.
Такое разделение есть только в крупных компаниях и в основном в иностранных компаниях, в большинстве случаев в России, странах СНГ говорят просто тестировщик или QA тестировщик.
Уровни должностей или старшинства в IT
Выделяют следующие уровни должностей или старшинства в IT, внутри одной специальности:
Junior – это младший специалист, с оптом до года, основная задача которого писать и проходить тест-кейсы. Junior в основном занимается ручным тестирование, с небольшим навыком работы с базами данных и вспомогательным софтом;
Middle – это специалист среднего уровня. Уверенный специалист с опытом 1-3 года, он как и junior занимается ручным тестированием и хорошо работает с базами данных и вспомогательным ПО. Так же может иметь начальные навыки программирования, писать автоматизированные тесты на проектах автоматизации, которые были написаны до них;
Senior – почетное звание, специалист с опытом более 3 лет. Уверенно знает языки программирования, инструменты которые используют при построении проекта по автоматизации и самостоятельно способен написать его;
Team Lead – лидер команды, человек который вырос из senior, он занимается менеджерской функцией, отвечает за качество продукта на проекте, контролирует и направляет свою команду тестировщиков.