Что такое тестирование ПО, и как появился QA аутсорсинг?

Пока нет оценок.
Пожалуйста, подождите...

Прежде всего, давайте определим, что такое «тестирование программного обеспечения». Это поможет лучше понять суть вопроса.

Тестирование ПО – это процесс анализа ПО для выявления возможных дефектов и улучшения качества продукта. В течение десятилетий к проблемам тестирования и обеспечения качества в разработке ПО относились по-разному. Было несколько основных «тестовых периодов».

В 50-60 гг прошлого века процесс тестирования был очень формализован, он был отделен от процесса разработки ПО и «математизирован». Фактически, тестирование было похоже на отладку программы.

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

В таком случае, действительно сложно найти проблему в документации.

В 70-х годах было две фундаментальные концепции тестирования: первая, процесс тестирования рассматривался как доказательство работоспособности программы при определенных условиях (позитивное тестирование), и вторая – абсолютно противоположная – процесс тестирования рассматривался как доказательство неработоспособности программы при определенных условиях (негативное тестирование).

Этот внутренний конфликт не исчез со временем, к тому же, сегодня многие авторы считают, что концепции друг друга поддерживают.
Заметьте, что «процесс доказательства неработоспособности программы» ценится немного больше, так как он не пропускает проверку на ошибки.

Самое важное, что «обрела» сфера тестирования программного обеспечения в 70-х годах:
· QA аутсорсинг позволяет убедиться, что программа соответствует требованиям;
· Тестирование позволяет определить условия, при которых программа работает некорректно.

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

В тот же период времени произошло быстрое развитие и формализация методологий тестирования. Были сделаны первые попытки автоматизировать элементарные тесты. В 90-х годах произошла смена тестирования как такового на более комплексный процесс, известный как «обеспечение качества».

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

В начале этого века развитие оффшорного тестирования программного обеспечения было обусловлено поиском новых путей, подходов, методологий и техник обеспечения качества.

Появление гибких методологий и таких подходов как «Разработка через тестирование» очень повлияли на понимание стратегии тестирования программного обеспечения. Автоматизация тестирования в QA компании уже воспринимается как неотъемлемая часть большинства проектов.

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

Оставить комментарий