First-Offer University

Цели и принципы тестирования

Так же немного о багах и их жизненном цикле

Введение

Теперь, когда мы знаем про методологии разработки и другие общие понятия, можем переходить непосредственно к теории тестирования. Начнем с разбора таких понятий, как «Тестирование ПО», «Баг» и определим цели и принципы тестирования.
Труд сегодня — это красивая история успеха завтра, стань героем своей собственной судьбы

Тестирование программного обеспечения

Software Testing — это как проверка, что новый компьютерный продукт или приложение работает так, как нужно. Ведь как иногда бывает: даже когда разработчики стараются сделать всё хорошо, могут встречаться ошибки или недоработки. Вот здесь и приходят на помощь тестировщики.
Тестирование помогает убедиться, что программа выполняет свои задачи правильно и не вызывает неприятных сюрпризов для пользователей. Тестировщики создают разные ситуации, чтобы увидеть, как программа реагирует. Если она делает то, что нужно, и не делает ничего лишнего или странного, значит, тестирование успешно.

Какая цель тестирования

Цель тестирования — это обнаружить ошибки, дефекты или недоработки в программе до того, как она попадет к пользователям.
Тестировщики создают разные ситуации, чтобы увидеть, как программа себя ведет. Если она делает то, что от нее ожидают, и не делает ничего неправильного или опасного, то цель тестирования считается достигнутой. Таким образом, цель тестирования — это гарантировать, что программа работает правильно и безопасно, чтобы пользователи могли ей пользоваться без забот.

Что такое принципы тестирования и какие они бывают

Принципы тестирования представляют собой общие руководящие принципы и подходы, которые ориентируют тестировщиков при выполнении своей работы. Они помогают создать более эффективные и систематичные методы тестирования, обеспечивая достижение высокого уровня качества программного продукта. Принципы тестирования направлены на выявление дефектов и повышение надежности программы. Вот некоторые ключевые принципы тестирования:
  • 1
    Полное тестирование невозможно
    Каждая программа может иметь множество различных сценариев использования. Проверить абсолютно все варианты в реальной жизни практически невозможно.
  • 2
    Раннее тестирование
    Чем раньше обнаружены ошибки, тем проще и дешевле их исправить. Тестирование должно начинаться на ранних этапах разработки. Например, если мы найдем какое-либо несоответствие на этапе согласования требований, исправить будет намного проще, чем если это превратится в баг на проде.
  • 3
    Контекст зависит от проекта
    Нет универсальных методов тестирования, которые подходили бы для всех проектов. Каждый проект может требовать индивидуального подхода к тестированию. Мы можем тестировать профессиональное медицинское ПО или блог по садоводству, план тестирования и наборы проверок на этих проектах буду сильно отличаться.
  • 4
    Ошибки скапливаются
    Когда найдены и исправлены некоторые ошибки, это может привести к появлению новых. Разработка сложных программ — это непрерывный процесс, и каждое изменение может повлиять на другие части кода. Также если мы нашли баги в каком-то конкретном модуле ПО, скорее всего в этом модуле мы найдем еще дефекты, потому что ошибки часто скапливаются в одном месте.
  • 5
    Парадокс пестицида
    Давай представим, что у тебя есть огород, и на нем растут растения. Ты хочешь защитить свои растения от вредителей, поэтому используешь пестициды — специальные химические вещества, которые убивают вредных насекомых.

    Вначале, когда только начинаешь использовать пестициды, они очень эффективно помогают тебе уберечь растения от вредителей. Но со временем вредители могут начать развивать устойчивость к пестицидам. То есть, некоторые насекомые могут стать нечувствительными к веществам в пестицидах и выживать.
    В результате, ты можешь обнаружить, что несмотря на то, что ты продолжаешь использовать пестициды, вредители продолжают наносить вред твоим растениям. И это парадоксально — ты используешь средства для борьбы с вредителями, но они, кажется, становятся еще сильнее. В тестировании работает все точно также! Поэтому есть смысл, не указывать конкретные значения в своих тест-кейсах, а указывать какие-то валидные периоды и т. д. Что бы каждый новый тестировщик, проходя один и тот же тест-кейс, вводил разные значения, это поможет избежать принципа пестицида!

Жизненный цикл дефекта, что же это такое?

Жизненный цикл бага в процессе тестирования программного обеспечения — это последовательность этапов, через которые проходит дефект, начиная с его обнаружения и заканчивая его устранением. Давайте рассмотрим этот процесс по пунктам:
Обнаружение бага
На этом этапе тестировщик обнаруживает аномалию, неправильное поведение или ошибку в программном продукте во время тестирования. Это может быть связано с некорректной работой функциональности, неправильным отображением, неверной логикой и так далее.
Документирование
Обнаруженный баг документируется. Создается детальное описание, включающее в себя шаги для воспроизведения проблемы, ожидаемое поведение, фактическое поведение и другие детали, которые помогут разработчикам понять и исправить проблему.
Подтверждение
Тестировщик или тестовый лидер проверяют и подтверждают действительность бага. Они убеждаются, что ошибка действительно существует и может повлиять на пользователей или функциональность продукта.
Приоритизация
Работа в области QA предоставляет возможность постоянно совершенствовать свои навыки, так как технологии и методы тестирования постоянно совершенствуются.
Назначение разработчику
Ответственный разработчик назначается для исправления данного бага. Обычно в системе управления задачами баги автоматически назначаются определенному разработчику.
Исправление бага
Разработчик анализирует описание бага и начинает процесс его исправления. В этот момент внесение изменений может потребовать изменения кода, базы данных или других элементов продукта.
Тестирование исправления
После того как баг исправлен, тестировщик или команда QA проверяют, что проблема действительно устранена, а исправление не вызывает новых проблем.
Подтверждение исправления
Если исправление подтверждается как успешное, баг помечается как «закрыт» или «исправлен». Если ошибка повторяется, она возвращается на исправление.
Рецензия и тестирование
В некоторых случаях, особенно для критических багов, может потребоваться дополнительное тестирование и рецензия бага для обеспечения его полной исправности.
Закрытие бага
Когда баг успешно исправлен и проверен, он помечается как «закрыт». В системе управления задачами фиксируется, что данный дефект был успешно устранен.
Заключение
Мы узнали, что тестирование — это неотъемлемая часть создания компьютерных продуктов, направленная на обеспечение качества и исправление ошибок. Цель тестирования заключается в выявлении дефектов и недоработок до того, как продукт дойдет до пользователей. Принципы тестирования направлены на эффективное обнаружение дефектов и повышение надежности программы.
Мы также ознакомились с понятием дефекта (бага), который представляет собой неправильное поведение программы. Жизненный цикл бага обозначает последовательность этапов, начиная с обнаружения и заканчивая устранением дефекта.