Справочная система учета и контроля поставок на предприятиеРефераты >> Программирование и компьютеры >> Справочная система учета и контроля поставок на предприятие
Метод функциональных диаграм [11], предлагает способ перевода спецификаций, написанных на естественном языке, на язык формальный. Это способствует проектированию высокорезультативных тестов, не страдающих избыточностью, и обнаруживающих случаи неполноты и неоднозначности во входных спецификациях. Метод предполагает анализ семантического содержания внешних спецификаций и перевод их на язык логических отношений между входными данными (ситуациями) и выходными данными и преобразованиями (эффектами), представленных в виде логической диаграммы (“и- или”-графа), называемой функциональной диаграммой.
Диаграмма снабжается примечаниями в виде синтаксических правил и ограничений внешней среды и затем преобразуется в таблицу решений с ограниченным входом. Каждый столбец таблицы соответствует будущему тесту.
Последовательность применения метода:
¨ Первый шаг: разбить внешние спецификации на отдельные функции, комбинаторные свойства которых и должны тестироваться;
¨ Второй шаг: проанализировать спецификации в поисках всех явных и неявных ситуаций (условия на входе) и эффектов (действия на выходе). Лучше всего делать это, подчёркивая каждую ситуацию и каждый эффект, по мере того как они встречаются при чтении спецификаций. Все ситуации и эффекты нумеруются произвольным образом.
¨ Третий шаг: нарисовать функциональную диаграмму. Ситуации изображаются в виде вершин на левом краю листа бумаги, а эффекты – на правом.
¨ Четвёртый шаг: преобразовать диаграмму в таблицу решений с ограниченным выходом. Для этого нужно выбрать некоторый эффект и записать все комбинации ситуаций, которые его вызывают, затем выписать также состояния всех остальных эффектов при этих комбинациях ситуаций.
5.3.4. Тестирование модуля.
Целью тестирования модуля является нахождение несоответствия между логикой и сопряжениями модуля, с одной стороны, и его внешними спецификациями (описанием функций, входных и выходных дынных, внешних эффектов), с другой стороны. Процесс проектирования тестов для модуля состоит из следующих четырех шагов:
¨ Руководствуясь внешними спецификациями модуля, были подготовлены тесты для каждой ситуации и каждой возможности, для каждой границы областей допустимых значений всех входных данных, областей изменения данных, для всех недопустимых условий.
¨ Был проверен текст программы, чтобы убедиться, что все условные переходы были выполнены в каждом направлении. (Текст программы определялся с использованием созданного логического анализатора).
¨ Для циклов модулей были проведены тесты, соответствующие пути без выполнения тела циклов, с его однократным выполнением и максимальным числом повторений.
¨ Был проверен текст программы на её чувствительность к отдельным особым значениям входных данных и были добавлены соответствующие тесты.
Следует отметить, что компиляцию модуля также можно рассматривать как часть процесса тестирования, поскольку компилятор обнаруживает большинство синтаксических ошибок, а также некоторые семантические и логические ошибки.
В результате реализации данного типа тестирования было зафиксировано, что все условные переходы выполняются в каждом направлении, не происходит “зацикливания” в модуле при граничных значениях индексов циклов, также как и не обнаружено сбоев в работе модуля при невыполнении тела какого-либо из циклов, система реагирует на граничные значения водимых данных корректно.
5.4.5. Комплексное тестирование.
Комплексное тестирование – процесс поисков несоответствия системы ее исходным целям [11]. Это наиболее творческий из всех видов тестирования. Оно состоит из следующих шагов:
¨ Тестирование стрессов. Распространенный недостаток больших систем в том, что они функционируют как будто бы нормально при слабой или умеренной нагрузке, но выходят из строя при большой нагрузке и в стрессовых ситуациях реальной среды. Тестирование стрессов представляет попытки подвергнуть систему крайнему “давлению”.
Для проведения тестов осуществлялось большое количество запросов к БД (20 запросов). В результате теста не было зафиксировано никаких отклонений в работе программы, но было отмечено определенное замедление работы БД с запросами.
¨ Тестирование объёма. В то время как при тестировании стрессов делается попытка подвергнуть систему серьёзным нагрузкам в короткий интервал времени, тестирование объема представляет собой попытку предъявить системе большие объёмы данных (максимальный объм базы данных, 2 Мб) в течение более длительного времени.
Для проведения тестов создавалась БД как можно больших размеров, создавались очереди документов, выводимых на печать, использовались граничные значения числовых форматов. В результате теста также не было зафиксировано отклонений в работе программы, обработка запросов БД осуществлялась с незначительным замедлением.
¨ Тестирование конфигурации. Многие системы обеспечивают работу различных конфигураций аппаратуры и ПО. Число таких конфигураций часто слишком велико, но необходимо проверить хотя бы максимальную и минимальную конфигурации. Система была проверена со всеми аппаратными устройствами, с которыми она может осуществлять работу (гибкие накопители данных, принтеры).
При работе с разными типами накопителей данных (НГМД, НЖМД) не было обнаружено ошибок, за исключением малой информативности ошибок возникающих при некорректной работе с НГМД.
¨ Тестирование защиты. Так как внимание к вопросам сохранения секретности в сегодняшнем автоматизированном обществе возрастает, к большинству систем предъявляются определенные требования по обеспечению защиты от несанкционированного доступа. Цель тестирования защиты – нарушить секретность в системе.
В результате проведения теста было зафиксировано, что пользователь не имеющий доступа к системе проникнуть в нее не может.
¨ Тестирование производительности. Требования к производительности и эффективности (время ответа для различных нагрузок и различных конфигураций) – важная часть проектов систем. По сравнению с другими типами комплексного тестирования системы о тестировании производительности известно очень много, этой проблеме посвящена монография[22].
Для проведения данного теста были использованы персональные компьютеры различной конфигурации (ЭВМ на базе Intel 486, Pentium 100, Cyrix 350). В результате проведения теста была зафиксирована корректная работы системы, но необходимо отметить, что работа на ПК на базе Intel 486 не рекомендуется, хотя и возможна.
5.5. Выводы по тестированию ПО.
На основание проведения вышеперечисленных тестов (см. приложение B, C) можно заключить, что:
¨ Созданная система выполняет все функции, указанные в ТЗ.
¨ При аварийном отключении сохраняет максимально возможное количество данных.
¨ Система способна работать на ПК различной конфигурации, в том числе и минимальной.
¨ Система отвечает поставленным требованиям по защите от несанкционированного доступа.
¨ Система корректно осуществляет свою работу при работе с большими объемами данных (при макимальном объеме БД – 2 Мб) и при большом количестве запросов(20 запросов).