Различные задачи требуют применения различных инструментов тестирования. Все виды и методы тестирования можно разделить на несколько больших группы: по целям, по хронологии выполнения, по формальности, по степени автоматизации, по назначению систем, по объему проверяемого ПО, по уровню тестирования, по исполнителям тестирования, по исполнению кода и т.д.
Почему тестирование программного обеспечения так важно?
Поскольку мы допускаем, что наша работа может содержать ошибки, мы должны проверять нашу собственную работу. Лучше чтобы это делал кто-то посторонний, потому что часто ошибки совершаются из-за неверных предположений или недостатка знаний в определенной области, а посторонний человек сможет оценить работу свежим взглядом и под иным углом.
В современных методах разработки ПО применяется более системный подход в тестировании, в соответствии с IBM Rational Unified Process (RUP). Тестирование — одна из дисциплин RUP. Она ориентирована в первую очередь на оценку качества с помощью следующих методов:
- Поиск и документирование дефектов качества;
- Общие рекомендации относительно качества;
- Проверка выполнения основных предположений и требований на конкретных примерах;
- Проверка, что продукт функционирует так, как было запроектировано;
- Проверка, что требования выполнены соответствующим образом.
Не ошибается тот, кто ничего не делает.
Процесс выявления ошибок в программном обеспечении очень важен по следующим причинам:
- Тестирование программного обеспечения необходимо для выявления недостатков и ошибок, допущенных во время разработки;
- Тестирование программного обеспечения жизненно необходимо для повышения надежности и качества программного обеспечения и удовлетворения ожиданий клиента/заказчика. Довольный клиент вернется к вам снова;
- Стабильно работающее программное обеспечение требует меньше средств на обслуживание, работает более аккуратно, последовательно и выдает надежный результат, что также ведет к удовлетворению ожиданий клиента\заказчика.
- Очень важно выявить ошибки на ранних стадиях разработки, так как в дальнейшем устранение таких ошибок может повлечь значительные расходы или вообще потребовать начать разработку заново.
- Тестирование позволяет значительно повысить производительность продукта.
- Тестирование необходимо, чтобы ОСТАТЬСЯ в бизнесе.
На раннем этапе разработке применяется тест дизайн, который помогает исключить ошибки из кода. На данном этапе идет работа с требованиями и спецификациями проекта.
Статическое тестирование – попытка найти ошибки, не запуская программу. Выполняется посредством просмотра документации (включая исходный код) и статического анализа. Это полезный и не затратный вид тестирования.
В динамическом тестировании программный код запускается/исполняется для выявления ошибок. Например: модульное тестирование, интеграционное тестирование, тестирование системы и т.д.
Мы должны планировать то, что мы хотим сделать. Мы контролируем тестовые мероприятия, мы сообщаем о прогрессе тестирования и статуса программного обеспечения в рамках теста.
Для подготовки нам нужно выбрать вид тестирования, условия испытаний и разработать дизайн тесты.
Во время оценки мы должны проверить результаты тестов и оценить тестируемое программное обеспечение, а так же сделать вывод о том, соответствует ли данное ПО своей спецификации и прошел ли данный продукт испытания.
Наряду с тестированием необходимо так же создавать справочный раздел и руководство пользователя.

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