Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Informatsionny_menedzhment_-_khrestomatia_i_spisok_literatury.doc
Скачиваний:
6
Добавлен:
01.07.2025
Размер:
4.48 Mб
Скачать

Глава 7. Тестирование систем

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

Тестирующий сотрудник не только пытается обнаружить недостат- ки, но и проверяет программу в работе, оценивает ее надежность, безо- пасность и безотказность в эксплуатации. Присутствует также эконо- мический аспект. Для более крупных проектов больший объем тестиро- вания обычно выявляет большее количество ошибок. Когда следует прекратить тестирование и какую степень наличия ошибок следует считать приемлемой? Если количество ошибок не превышает определен- ной допустимой величины, то программное обеспечение может быть квалифицировано как удовлетворяющее требования пользователей и допущено для эксплуатации. Необходимо помнить, что тестирование предполагает, что требования к системе уже сформулированы и не мо- дифицируются.

Методы и подходы тестирования

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

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

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

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

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

Тестирование «черный ящик» состоит в поиске отсутствующих или неправильно выполняемых функций с целью оценки, насколько хоро- шо программа отвечает требованиям. Функциональные тесты обычно подтверждают правильность данных на вводе и выходе. В этом случае пользователь — идеальный проверяющий. Иногда такое тестирова- ние называют пользовательским. Тест функциональности состоит в том, чтобы проверить правильное выполнение отдельных функций си- стемой. Проверяющие проводят тесты, которые, по их мнению отра- жают использование системы в будущем, ее функциональных возмож- ностей.

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

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

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

«Приемо-сдаточное испытание» — это проверка готовой системы

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]