Предисловие
Материал из Википедии — свободной энциклопедии:
Систе́мное тести́рование програ́ммного обеспече́ния — это тестирование программного обеспечения (ПО), выполняемое на полной, интегрированной системе, с целью проверки соответствия системы исходным требованиям. Системное тестирование относится к методам тестирования чёрного ящика, и, тем самым, не требует знаний о внутреннем устройстве системы.
Интеграцио́нное тести́рование (англ. Integration testing, иногда называется англ. Integration and Testing, аббревиатура англ. I&T) — одна из фаз тестирования программного обеспечения, при котором отдельные программные модули объединяются и тестируются в группе. Обычно интеграционное тестирование проводится после модульного тестирования и предшествует системному тестированию.
Основная часть
В ходе чтения книги Рекса Блэка "Ключевые процессы тестирования" я понял, что группа тестирования, о которой Рекс рассказывает в книге, разрабатывает отдельные комплекты тестов для интеграционного и системного тестирования. А затем параллельно их выполняет. Если я не ошибаюсь, то на каждом новом инкременте функционала выполняется сначала интеграционное тестирование, чтобы проверить насколько удачно прижился новый функционал, а затем проверенная сборка передается на системное тестирование.
Как я понимаю, описанная Блэком ситуация может иметь место при итерационной разработке - не при водопаде.
А вопросы у меня такие:
- кто-нибудь сталкивался или реализовывал такой подход (разработка отдельных комплектов тестов для системного и интеграционного тестирования)? Может, на самом деле, все так и делают, но лично я еще не встречал такого четкого разграничения задач по тест-дизайну, да и по выполнению тестирования... Могу только предположить, что роль интеграционного тестирования, описываемого Блэком, у нас обычно выполняет smoke- или sanity (поверхностное) тестирование.
- кто-нибудь делает четкое разделение в своей работе этих фаз? Если да, то как? Вообще я столкнулся с тем, что на практике, при рассмотрении конкретных тестируемых приложений, гораздо сложнее разграничить "зоны ответственности" этих фаз тестирования, хотя, когда читаешь определения, все звучит четко и ясно...