Прежде всего, давайте определим, что такое «тестирование программного обеспечения». Это поможет лучше понять суть вопроса.
Тестирование ПО – это процесс анализа для выявления возможных дефектов и улучшения качества продукта. В течение десятилетий к проблемам тестирования и обеспечения качества в разработке ПО относились по-разному. Было несколько основных «тестовых периодов».
В 50-60 гг прошлого века процесс тестирования был очень формализован, он был отделен от процесса разработки ПО и «математизирован». Фактически, тестирование было похоже на отладку программы.
Возникло понятие так называемого «исчерпывающего тестирования», что являет собой проверку всех возможных путей выполнения кода с их входными данными. Однако, скоро стало ясно, что исчерпывающее тестирование невозможно, поскольку количество путей выполнения и входной информации очень велико.
В таком случае, действительно сложно найти проблему в документации.
В 70-х годах было две фундаментальные концепции тестирования.
- Процесс тестирования рассматривался как доказательство работоспособности программы при определенных условиях (позитивное тестирование).
- И абсолютно противоположная: процесс тестирования рассматривался как доказательство неработоспособности программы при определенных условиях (негативное тестирование).
Этот внутренний конфликт не исчез со временем, а многие авторы сегодня считают, что концепции друг друга поддерживают. Заметьте, что «процесс доказательства неработоспособности программы» ценится немного больше, так как он не пропускает проверку на ошибки.
Главные изменения этого периода:
- QA-аутсорсинг позволяет убедиться, что программа соответствует требованиям;
- Тестирование позволяет определить условия, при которых программа работает некорректно.
В 80-х годах произошло ключевое событие в сфере тестирования: оно начало использоваться на всех этапах жизненного цикла программного обеспечения. В большинстве случаев это позволило быстро выявить и решить проблемы, так же, как и предвидеть и избежать их появление.
В тот же период времени произошло быстрое развитие и формализация методологий тестирования. Были сделаны первые попытки автоматизировать элементарные тесты. В 90-х годах произошла смена тестирования как такового на более комплексный процесс, известный как «обеспечение качества».
Он включает в себя весь жизненный цикл программного обеспечения и затрагивает процесс планирования, дизайна, создания и выполнения тест-кейсов, поддержки существующих тест-кейсов и тестовых окружений.
Тестирование перешло на новый уровень, что привело к дальнейшему развитию методологий, появлению мощных инструментов менеджмента процесса тестирования и инструментов автоматизации, которые были почти такими же как их нынешние потомки.
В начале этого века развитие оффшорного тестирования программного обеспечения было обусловлено поиском новых путей, подходов, методологий и техник обеспечения качества.
Появление гибких методологий и таких подходов как «Разработка через тестирование» очень повлияли на понимание стратегии тестирования программного обеспечения. Автоматизация тестирования в QA-компании уже воспринимается как неотъемлемая часть большинства проектов.
Также стало популярным мнение, что тестирование должно дать возможность пользователю эффективно выполнять задачи, вместо того, чтоб концентрироваться на соответствии программы требованиям.
Оставить комментарий