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

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

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

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

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

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

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

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