
Техническое задание
Техническое тестирование – это документ, определяющий цели, требования и основные исходные данные, необходимые для разработки автоматизированной системы управления.
При разработке технического задания(ТЗ) необходимо решить сл. задачи:
Установить общую цель создания АИС
Установить общие требования к проектируемой системе
Разработать и обосновать требования, предъявляемые к информационному, математическому, программному, техническому, технологическому обеспечению
Определить состав подсистем и функциональных задач
Разработать и обосновать требования предъявляемые к подсистемам
определить этапы создания системы и сроки их выполнения
провести предварительный расчет затрат на создание системы и определить уровень экономической эффективности её внедрения
определить состав исполнителей
Технический проект
Технический проект системы — это техническая документация, содержащая общесистемные проектные решения, алгоритмы решения задач, а также экономической эфеективности АИС и перечень мероприятий по подготовке объекта к внедрению.
На этом этапе осуществляется комплекс научно-исследовательских и экспериментальных работ для набора основных поектных решений и расчет экономической эффективности системы. Состав и содержание технического проекта:
пояснительная записка
функциональная и организационная структура системы
постановка задач и алгоритмы решений
организация информационной базы
альбом форм документов
система математического обеспечения
принцип построения комплекса тех. Средств
расчет экономической эффективной системы
мероприятия по подготовке объекта к внедрению системы
ОСНОВНЫЕ СВЕДЕНИЯ О ТЕСТИРОВАНИИ
Любой заказчик хочет получить надежное программное изделие, которое полностью удовлетворяет его потребностей. Различные уровни надежности обеспечиваются разными инженерами подходами к тестированию. За достаточные средства можно достичь уровня надежности как у такой-то фирмы или даже уровня, необходимого для атомной энергетики или космических исследований.
Уровень надежности программных изделий определяется инженерией тестирования. Как достичь высочайшего уровня надежности? Тексты программ, написанные в одной организации, можно заново инспектировать, тестировать автономно в другой организации. В самой программе можно одновременно производить расчеты по разным алгоритмам с использованием разных вычислительных методов и сличать результаты в контрольных точках, использовать подстановки рассчитанных результатов в исходные уравнения и тем самым контролировать результаты решения. Уровень надежности программных изделий напрямую связан с затратами как денежных средств, так и времени проекта.
Как известно, при создании типичного программного проекта около 50% общего времени и более 50-60% общей стоимости расходуется на проверку разрабатываемой программы или системы. Кроме того, доля стоимости тестирования в общей стоимости программ имеет тенденцию возрастать при увеличении сложности программных изделий и повышении требований к их качеству.
Учитывая это, при выборе способа тестирования программ следует четко выделять определенное(по возможности не очень большое) число правил отладки, обеспечивающих высокое качество программного продукта и снижающих затраты на его создание.
Тестирование осуществляется путем исполнения тестов.
Тестирование – это процесс выполнения программ с целью обнаружения ошибок.
Шаги процесса задаются тестами.
Каждый тест определяет:
Свой набор исходных данных и условий для запуска программ
Набор ожидаемых результатов работы программы
Другое назначение теста – тестовый вариант. Полную проверку программ гарантирует исчерпывающее тестирование (полное или законченное). Оно требует проверить
все наборы исходных данных, все варианты их обработки и включает большое количество. Исчерпывающее тестирование во многих случаях остается только мечтой так как сбрасывают ресурсные ограничения (прежде всего ограничения по времени).
Хорошим считают тестовый вариант с высокой вероятностью обнаружения еще не раскрытой ошибки. Успешным называют тест, который обнаруживает до сих пор не раскрытую ошибку.
Целью проектирования тестовых вариантов является систематическое обнаружение различных классов ошибок при минимальных затратах времени и стоимости.
Тестирование обеспечивает:
Обнаружение ошибок
Демонстрацию функций программы её назначению
Демонстрацию реализации требований к характеристикам программы
Отображение надежности как индикатора качества программы
Рассмотрим информационные потоки процесса тестирования
На входе процесса тестирования три потока:
Текст программы
Исходные данные для запуска программы
Ожидаемые результаты
После выполнение тестов, все полученные результаты оцениваются. Это значит, что реальные результаты тестов сравниваются с ожидаемыми результатами. Когда обнаруживаются несовпадения, фиксируется ошибка и начинается отладка. Процесс отладки непредсказуем по времени. На поиск места дефекта и исправления может потребоваться час, день, и т.д. Неопределенность в отладке приводит к большим трудностям в планировании действий.
После сбора и оценивания начинается отображение качества и надежности ПО. Если регулярно встречаются серьезные ошибки, требующие проектных изменений, то качество и надежность ПО подозрительны, констатируется необходимость усиления тестирования.
Если функции ПО реализованы правильно, а обнаруженные ошибки легко исправляются, то может быть сделан один вывод из двух:
Качество и надежность ПО удовлетворительны
Тесты не способны обнаружить серьёзные ошибки
Если тесты не обнаруживают ошибок, то появляется сомнение в том, что тестовые варианты достаточно продуманы и что в ПО нет скрытых ошибок. Такие ошибки будут обнаруживаться пользователями, и корректироваться разработчиками на этапе сопровождения (когда стоимость исправления возрастает в 60-100 раз по сравнению с этапом разработки).