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