Страница20
Модульноетестированиеобычноподразумеваетсозданиевокругкаждогомодуляопределеннойсреды,
включающейзаглушкидлявсехинтерфейсовтестируемогомодуля.Некоторыеизнихмогутиспользоваться
дляподачивходныхзначений,другиедляанализарезультатов,присутствиетретьихможетбыть
продиктованотребованиями,накладываемымикомпиляторомисборщиком.
Науровнемодульноготестированияпрощевсегообнаружитьдефекты,связанныесалгоритмическими
ошибкамииошибкамикодированияалгоритмов,типаработысусловиямиисчетчикамициклов,атакжес
использованиемлокальныхпеременныхиресурсов.
ПОНЯТИЕМОДУЛЯИЕГОГРАНИЦ
МОДУЛЬ–этокомпонентминимальногоразмера,которыйможетбытьнезависимопротестированвходе
верификациипрограммнойсистемы.Обычнозатестируемыймодульпринимаетсялибопрограммный
модуль(единицакомпиляции)вслучае,еслисистемаразрабатываетсянапроцедурномязыке
программированияиликласс,еслисистемаразрабатываетсянаобъектно‐ориентированномязыке.
Вреальностичастовозникаютпроблемыстем,чтосчитатьмодулем.Существуетнесколькоподходовк
данномувопросу:
модуль–эточастьпрограммногокода,выполняющаяоднуфункциюсточкизрения
функциональныхтребований;
модуль–этопрограммныймодуль,т.е.минимальныйкомпилируемыйэлементпрограммной
системы;
модуль–этозадачавспискезадачпроекта(сточкизренияегоменеджера);
модуль–этоучастоккода,которыйможетуместитьсянаодномэкранеилиодномлистебумаги;
модуль–этоодинклассилиихмножествосединыминтерфейсом.
Еслисистеманаписананапроцедурномязыке,топроцесстестированиямодуляпроисходитследующим
образом.Длякаждогомодуляразрабатываетсятестовыйдрайвер,вызывающийфункциимодуляи
собирающийрезультатыихработыинаборзаглушек,которыеимитируютповедениефункций,
содержащихсявдругихмодулях,непопадающихподтестированиеданногомодуля.
ПОДХОДЫКМОДУЛЬНОМУТЕСТИРОВАНИЮ
ПЕРВЫЙПОДХОДкмодульномутестированиюосновываетсянапредположении,чтофункциональность
каждоговновьразработанногомодулядолжнапроверятьсявавтономномрежимебезегоинтеграциис
системой.
ДОСТОИНСТВА–болеепростаялокализацияошибоквмодуле,посколькуприавтономномтестировании
исключаетсявлияниеостальныхчастейсистемы,котороеможетвызыватьмаскировкудефектов(эффект
четногочислаошибок).
НЕДОСТАТКИ–повышеннаятрудоемкостьнаписаниядрайверовизаглушек,посколькузаглушкидолжны
адекватномоделироватьповедениесистемывразличныхситуациях,адрайвердолженнетолькосоздавать
тестовоеокружение,ноиимитироватьвнутреннеесостояниесистемы,всоставекоторойдолжен
функционироватьмодуль.
ВТОРОЙПОДХОДкмодульномутестированиюпостроеннапредположении,чтомодульработаетв
составесистемыиеслимодулиинтегрироватьвсистемупоодному,томожнопротестироватьповедение
модулявсоставевсейсистемы.Этотподходсвойствененбольшинствусовременных“облегченных”
методологийразработки,втомчислеиXP.