Методы тестирования программного обеспечения. Степанченко И.В. - 62 стр.

UptoLike

Составители: 

64
3.3. Стратегия
Методологии проектирования тестов, обсуждавшиеся в этой статье, мо-
гут быть объединены в общую стратегию. Причина объединения их теперь
становится очевидной: каждый метод обеспечивает создание определенного
набора используемых тестов, но ни один из них сам по себе не может дать
полный набор тестов. Приемлемая стратегия состоит в следующем:
1.
Если спецификация содержит комбинации входных условий, то на-
чать рекомендуется с применения метода функциональных диа-
грамм. Однако, данный метод достаточно трудоемок.
2. В любом случае необходимо использовать анализ граничных значе-
ний. Напомню, что этот метод включает анализ граничных значений
входных и выходных переменных. Анализ граничных значений дает
набор дополнительных тестовых условий
, но, как замечено в разделе,
посвященном функциональным диаграммам, многие из них (если не
все) могут быть включены в тесты метода функциональных диаграмм.
3. Определить правильные и неправильные классы эквивалентности для
входных и выходных данных и дополнить, если это необходимо, тес-
ты, построенные на предыдущих шагах.
4. Для получения дополнительных тестов
рекомендуется использовать
метод предположения об ошибке.
5. Проверить логику программы на полученном наборе тестов. Для этого
нужно воспользоваться критерием покрытия решений, покрытия усло-
вий, покрытия решений/условий либо комбинаторного покрытия усло-
вий (последний критерий является более полным). Если необходи-
мость выполнения критерия покрытия приводит к построению тестов,
не встречающихся среди построенных
на предыдущих четырех шагах, и
если этот критерий не является нереализуемым (т. е. определенные ком-
бинации условий невозможно создать вследствие природы программы),
то следует дополнить уже построенный набор тестов тестами, число ко-
торых достаточно для удовлетворения критерию покрытия.
Эта стратегия опять-таки не гарантирует, что все ошибки будут най-
дены,
но вместе с тем ее применение обеспечивает приемлемый компро-
мисс. Реализация подобной стратегии весьма трудоемка, но ведь никто и
никогда не утверждал, что тестирование программылегкое дело.
3.4. Нисходящее и восходящее тестирование
Исследуем две возможные стратегии тестирования: нисходящее и
восходящее. Прежде всего внесем ясность в терминологию. Во-первых,
термины «нисходящее тестирование
», «нисходящая разработка», «нисхо-
дящее проектирование» часто используются как синонимы. Действитель-
но, два первых термина являются синонимами (в том смысле, что они
                            3.3. Стратегия
     Методологии проектирования тестов, обсуждавшиеся в этой статье, мо-
гут быть объединены в общую стратегию. Причина объединения их теперь
становится очевидной: каждый метод обеспечивает создание определенного
набора используемых тестов, но ни один из них сам по себе не может дать
полный набор тестов. Приемлемая стратегия состоит в следующем:
1. Если спецификация содержит комбинации входных условий, то на-
    чать рекомендуется с применения метода функциональных диа-
    грамм. Однако, данный метод достаточно трудоемок.
2. В любом случае необходимо использовать анализ граничных значе-
    ний. Напомню, что этот метод включает анализ граничных значений
    входных и выходных переменных. Анализ граничных значений дает
    набор дополнительных тестовых условий, но, как замечено в разделе,
    посвященном функциональным диаграммам, многие из них (если не
    все) могут быть включены в тесты метода функциональных диаграмм.
3. Определить правильные и неправильные классы эквивалентности для
    входных и выходных данных и дополнить, если это необходимо, тес-
    ты, построенные на предыдущих шагах.
4. Для получения дополнительных тестов рекомендуется использовать
    метод предположения об ошибке.
5. Проверить логику программы на полученном наборе тестов. Для этого
    нужно воспользоваться критерием покрытия решений, покрытия усло-
    вий, покрытия решений/условий либо комбинаторного покрытия усло-
    вий (последний критерий является более полным). Если необходи-
    мость выполнения критерия покрытия приводит к построению тестов,
    не встречающихся среди построенных на предыдущих четырех шагах, и
    если этот критерий не является нереализуемым (т. е. определенные ком-
    бинации условий невозможно создать вследствие природы программы),
    то следует дополнить уже построенный набор тестов тестами, число ко-
    торых достаточно для удовлетворения критерию покрытия.
     Эта стратегия опять-таки не гарантирует, что все ошибки будут най-
дены, но вместе с тем ее применение обеспечивает приемлемый компро-
мисс. Реализация подобной стратегии весьма трудоемка, но ведь никто и
никогда не утверждал, что тестирование программы – легкое дело.

             3.4. Нисходящее и восходящее тестирование
     Исследуем две возможные стратегии тестирования: нисходящее и
восходящее. Прежде всего внесем ясность в терминологию. Во-первых,
термины «нисходящее тестирование», «нисходящая разработка», «нисхо-
дящее проектирование» часто используются как синонимы. Действитель-
но, два первых термина являются синонимами (в том смысле, что они
                                   64