Различные задачи требуют применения различных инструментов тестирования. Все виды и методы тестирования можно разделить на несколько больших группы: по целям, по хронологии выполнения, по формальности, по степени автоматизации, по назначению систем, по объему проверяемого ПО, по уровню тестирования, по исполнителям тестирования, по исполнению кода и т.д.

Почему тестирование программного обеспечения так важно?

Поскольку мы допускаем, что наша работа может содержать ошибки, мы должны проверять нашу собственную работу. Лучше чтобы это делал кто-то посторонний, потому что часто ошибки совершаются из-за неверных предположений или недостатка знаний в определенной области, а посторонний человек сможет оценить работу свежим взглядом и под иным углом.

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

В современных методах разработки ПО применяется более системный подход в тестировании, в соответствии с IBM Rational Unified Process (RUP). Тестирование — одна из дисциплин RUP. Она ориентирована в первую очередь на оценку качества с помощью следующих методов:

  • Поиск и документирование дефектов качества;
  • Общие рекомендации относительно качества;
  • Проверка выполнения основных предположений и требований на конкретных примерах;
  • Проверка, что продукт функционирует так, как было запроектировано;
  • Проверка, что требования выполнены соответствующим образом.

Не ошибается тот, кто ничего не делает.

Процесс выявления ошибок в программном обеспечении очень важен по следующим причинам:

  1. Тестирование программного обеспечения необходимо для выявления недостатков и ошибок, допущенных во время разработки;
  2. Тестирование программного обеспечения жизненно необходимо для повышения надежности и качества программного обеспечения и удовлетворения ожиданий клиента/заказчика. Довольный клиент вернется к вам снова;
  3. Стабильно работающее программное обеспечение требует меньше средств на обслуживание, работает более аккуратно, последовательно и выдает надежный результат, что также ведет к удовлетворению ожиданий клиента\заказчика.
  4. Очень важно выявить ошибки на ранних стадиях разработки, так как в дальнейшем устранение таких ошибок может повлечь значительные расходы или вообще потребовать начать разработку заново.
  5. Тестирование позволяет значительно повысить производительность продукта.
  6. Тестирование необходимо, чтобы ОСТАТЬСЯ в бизнесе.

На раннем этапе разработке применяется тест дизайн, который помогает исключить ошибки из кода. На данном этапе идет работа с требованиями и спецификациями проекта.

Статическое тестирование – попытка найти ошибки,  не запуская программу. Выполняется посредством просмотра документации (включая исходный код) и статического анализа. Это полезный и не затратный вид тестирования.

В динамическом тестировании программный код запускается/исполняется для выявления ошибок. Например: модульное тестирование, интеграционное тестирование, тестирование системы и т.д.

Мы должны планировать то, что мы хотим сделать. Мы контролируем тестовые мероприятия, мы сообщаем о прогрессе тестирования и статуса программного обеспечения в рамках теста.

Для подготовки нам нужно выбрать вид тестирования, условия испытаний и разработать дизайн тесты.

Во время оценки мы должны проверить результаты тестов и оценить тестируемое программное обеспечение, а так же сделать вывод о том, соответствует ли данное ПО своей спецификации и прошел ли данный продукт испытания.

Наряду с тестированием необходимо так же создавать справочный раздел и руководство пользователя.

Поможем достичь желаемого качества ваших продуктов и повысить удобство пользования ими

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

Готовы начать!