На современном этапе развития систем автоматизации документационного обеспечения управления весьма актуальны вопросы их адаптации к современным информационным технологиям, организации взаимодействия и интеграции с другими системами. Возникает потребность в сквозной обработке данных — взаимодействии разных систем не только в рамках одной компании, что невозможно без выработки соответствующих стандартов.
С ростом сложности архитектуры программных систем растет трудоемкость их разработки и развертывания, усложняются сценарии интеграции, растут расходы на сопровождение. Традиционная интегрированная среда разработки предоставляет базовые инструменты — редакторы кода, компиляторы, средства разработки пользовательского интерфейса и отладчики, однако за ее пределами остаются ключевые этапы жизненного цикла приложений.
Многие знают, как разработать программу; по крайней мере, каждый это делал много раз, но объяснить, как создать программу с высоким качеством, оказывается значительно труднее.
Череда техногенных катастроф заставляет задуматься над тем, что ошибки в программном обеспечении становятся головной болью не только ИТ-сообщества, а непосредственно касаются уже всех жителей Земли.
В фильме «Выпускник», вышедшем на экраны в 1967 году, герой актера Дастина Хоффмана только что закончил колледж и коротает время, нежась под жарким калифорнийским солнышком. Друг семьи советует ему подыскать себе работу «в индустрии полимеров». Если бы дело было в конце 90-х, молодой человек мог бы услышать столь же оригинальный по нынешним временам совет заняться освоением Web. Сегодня, переступив порог нового тысячелетия, мы видим, что перспективы в технологическом секторе далеко не радужны
В 1994 году в журнале Scientific American, Вейт Гиббс рассказал о кризисе программного обеспечения. Круг проблем, которые он обсуждал, охватывал множество вопросов, от невыполнения бюджетов и сроков до прекращения проектов, в которые были вложены многомиллионные средства. Аналогичные вопросы были подняты и в Communications of the ACM в марте 2001 года, где авторы сулят далеко не радужные перспективы программной инженерии, если отрасль будет «развиваться как прежде».
Тестирование — один из важнейших этапов создания конкурентоспособного программного продукта и сейчас, когда рынок программного обеспечения стремительно разрастается, производители все чаще сталкиваются с необходимостью применения эффективных методов к разработке.