Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ответы на зачет по стандартизации.docx
Скачиваний:
106
Добавлен:
26.05.2015
Размер:
252.82 Кб
Скачать

Тема 3. Тестирование, отладка, сборка и обеспечение качества по

1.Определение и принципы тестирования ПО. Категории ошибок. Тестирование и отладка программ. Средства тестирования. Анализ рисков как средство тестирования. (контрольная)

Средства тестирования представляют собой программы, которые помогают автоматизировать процесс испытаний системы; их часто называют средствами автоматического тестирования. 

1. Компилятор, проверяющий синтаксические ошибки.

2. Первым действенным средством автоматического тестирования является генератор тестовых данных (ГТД). Но иногда проще создавать массивы данных вручную. Например, граничные, с различными связями между основными и вспомогательными данными

3. ВСПОМОГАТЕЛЬНЫЕ ПРОГРАММЫ РАСПЕЧАТЫВАНИЯ ФАЙЛОВ (ПРОГРАММЫ-УТИЛИТЫ) используются для выдачи на печать файлов, создаваемых испытываемой программой, и позволяют осуществлять визуальный контроль файлов.

4. кОМПАРАТОР ФАЙЛОВ

Компаратор файлов представляет собой программу, которая считывает два файла и выводит на печать их различающиеся элементы.

5. ПРОГРАММЫ-ПРОФИЛИРОВЩИКИ. Профилирование программы оказывается весьма полезным для отладки и тестирования, так как дает информацию о том, какие операторы и сколько раз выполнялись. Профилирование выявляет модули или части программы, которые оказались неиспользованными, и указывает на необходимость продолжения тестирования. Средства профилирования программ предусматривают возможность накопления статистических данных о работе тестируемой системы. 

6. Тестовый монитор — это программа, которая пересылает нужные данные на вход тестируемого модуля и накапливает выходные данные, выдаваемые на печать или записываемые в файл. Программу тестового монитора часто называют тестовым драйвером. Назначение этой программы состоит в том, чтобы создавать нужные условия для проверки модулей.

Отладка — это локализация и устранение ошибок. Отладка является следствием успешного тестирования. Это значит, что если тестовый вариант обнаруживает ошибку, то процесс отладки уничтожает ее.

Различают две группы методов отладки:

  • аналитические;

  • экспериментальные.

Аналитические методы базируются на анализе выходных данных для тестовых прогонов. Экспериментальные методы базируются на использовании вспомогательных средств отладки (отладочные печати, трассировки), позволяющих уточнить характер поведения программы при тех или иных исходных данных.

Общая стратегия отладки — обратное прохождение от замеченного симптома ошибки к исходной аномалии (месту в программе, где ошибка совершена).

Компания

Инструмент

Hewlett-Packard (Mercury Interactive)

QuickTest Professional, WinRunner

IBM Rational

Rational Robot, Rational Functional Tester

Borland (Segue)

SilkTest

AutomatedQA Corp

TestComplete

Microsoft

Microsoft VS 2005

SeleniumHQ

Selenium

  1. Процесс тестирования. Методы тестирования программ. Методы проектирования тестовых наборов данных. Сборка программ при тестировании. Тестирование модулей. Комплексное тестирование. (контрольная)

Процесс тестирования объединяет различные способы тестирования в спланированную последовательность шагов, которые приводят к успешному построению программной системы (ПС)

Системное тестирование подразумевает выход за рамки области действия программного проекта и проводится не только программным разработчиком.

детерминированное тестирование, которое требует многократного выполнения программы на ЭВМ с использованием определенных, специальным образом подобранных тестовых наборов данных. При детерминированном тестировании контролируются каждая комбинация исходных данных и соответствующие результаты, а также каждое утверждение в спецификации тестируемой программы. Детерминированное тестирование, или тестирование на определенных входных значениях, основывается на двух подходах: структурное тестирование (СТ) и функциональное тестирование (ФТ).

При построении тестовых наборов данных по принципу "белого ящика" руководствуются следующими критериями: покрытие операторов, покрытие узлов ветвления, покрытие условий, комбинаторное покрытие условий.

При построении тестов по стратегии "черного ящика" программа рассматривается как "черный ящик" (не известны текст программы и ее логика), а исходной информацией для тестовых наборов служат ее спецификации.

К стратегии "черного ящика" относятся методы:

эквивалентного разбиения;

анализ граничных значений;

функциональных диаграмм.

Метод эквивалентного разбиения. Построение тестов методов эквивалентного разбиения осуществляется в 2 этапа: 1) выделение классов эквивалентности; 2) построение тестов.

Классом эквивалентности называют множество входных значений, каждое из которых имеет одинаковую вероятность обнаружения конкретного типа ошибки.

Классы эквивалентности выделяются путем анализа входного условия и разбиением его на две или более групп. Для любого условия существуют правильный (представляющий правильные входные данные программы) и неправильный, т.е. ошибочные входные значения, классы эквивалентности

Анализ граничных значений. Этот метод предполагает исследование ситуаций, возникающих на границах и вблизи границ эквивалентных разбиений

Метод функциональных диаграмм. Метод заключается в преобразовании входной спецификации программы в функциональную диаграмму (диаграмму причинно-следственных связей) с помощью простейших булевских отношений, построения таблицы решений (методом обратной трассировки), которая является основой для написания эффективных тестовых наборов данных.

Сборка программ при тестировании

Разработка больших, многомодульных программных комплексов требует использования специальных способов сборки их при тестировании.

Прежде чем приступить к тестированию программного комплекса в целом, нужно, чтобы составляющие его части (отдельные модули или набор модулей) были тщательно оттестированы. Это необходимое условие получения надежных программных комплексов возможно обеспечить на уровне тестирования отдельных модулей, так как только на этом уровне возможно управление комбинаторикой тестирования: допускается одновременное тестирование нескольких модулей, облегчается задача отладки (т.е. поиска и исправления ошибок) и т.д.

Сборка модулей в программный комплекс может осуществляться двумя методами: монолитным, пошаговым. Пошаговая сборка может, в свою очередь, быть восходящей (снизу-вверх) и нисходящей (сверху-вниз).

Монолитный метод сборки предполагает выполнение автономного тестирования каждого модуля, а затем их одновременную сборку и тестирование в комплексе.

Пошаговое тестирование предполагает последовательное подключение к набору уже оттестированных модулей очередного тестируемого модуля.

  1. ГОСТ Р ИСО/МЭК 12119-2000: работы по тестированию, протоколы тестирования, отчет о тестировании.

Работы по тестированию

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

Программы должны быть протестированы во всех вычислительных системах, указанных в описании продукта. При наличии нескольких вариантов программы должен быть протестирован каждый из них. Любая из функций, которые в соответствии с описанием продукта и документацией пользователя одинаковы в ряде вариантов, может быть протестирована в одном из вариантов. Программы и данные должны быть протестированы с использованием контрольных примеров, разработанных на основе описания продукта и документации пользователя. Другие материалы (например, исходные программы) не проверяют, за исключением случаев, когда это необходимо при тестировании формулировок из описания продукта или документации пользователя. Контрольные примеры должны быть методологически и систематически проработаны.

Если в документации пользователя приведены примеры, то они должны быть использованы в качестве контрольных, но проводимое тестирование не должно быть ограничено только этими примерами.

Могут быть использованы контрольные примеры, предоставляемые поставщиком программного пакета, но проводимое тестирование не должно быть ограничено только этими примерами.

Установка (инсталляция). Если в соответствии с описанием продукта установка пакета может быть выполнена пользователем, должна быть проверена возможность инсталляции программ и протестирована возможность успешной установки пакета согласно описанию, приведенному в руководстве по установке.

Любым способом должно быть обеспечено, чтобы техническая и программная среда, в которой установлены программы, соответствовала формулировкам из описания продукта в части рассматриваемой вычислительной системы.

Выполнение программы. Контрольные примеры должны охватывать все функции, приведенные в описании продукта и документации пользователя, а также учитывать комбинации функций, характерные для рабочей задачи.

Программы должны быть протестированы по всем граничным значениям (в соответствии с описанием продукта и документацией пользователя) в необходимой системе, для которой заданы эти значения.

При тестировании должны быть использованы исходные данные и последовательности команд, которые в документации пользователя явно не рекомендуются или объявляются запрещенными. 

Протоколы тестирования

Протоколы по каждому тесту должны содержать информацию, достаточную для повторения теста. Данная информация должна включать:

• план тестирования или технические требования (спецификацию) к тестированию, содержащие контрольные примеры (для каждого контрольного примера указаны ею цели);

• все результаты, связанные с контрольными примерами, включая все ошибки, выявленные при выполнении теста;

• штат персонала, вовлеченного в тестирование.

Отчет о тестировании

В отчете о тестировании должны быть суммированы цели и результаты тестирования (описанные в протоколах тестирования для каждого теста). Отчет о тестировании должен иметь следующую структуру.

1.Обозначение продукта,

2 Вычислительные системы, использованные при тестировании (технические средства, программные средства и их конфигурация).

3. Использованные документы (включая их обозначения).

4. Результаты тестирования описания продукта, документа­ции пользователя, программ и данных.

5. Перечень несоответствий требованиям.

6.Перечень несоответствий рекомендациям либо перечень не учтенных в продукте рекомендаций, либо формулировка того, что продукт не был протестирован на соответствие рекомендациям.

7. Дата окончания тестирования.

  1. Основные понятия и характеристики качества программного обеспечения. Структурный анализ качества ПО. Факторы, влияющие на качество программных средств. Особенности измерения и оценивания характеристик качества.

Качество – совокупность характеристик объекта, относящихся к его способности удовлетворить установленные и предполагаемые потребности

Выделяют 6 аспектов качества: функциональность, надежность, практичность, эффективность, сопровождаемость, переносимость. [ГОСТ Р ИСО/МЭК 9126-93]

1. Функциональные возможности – способность ПО выполнять набор функций (действий), удовлетворяющих заданным или подразумеваемым потребностям пользователей. Набор указанных функций определяется во внешнем описании ПО. Характеристики: пригодность к использованию, правильность, способность к взаимодействию, защищенность.

2. Надежность – это способность с достаточно большой вероятностью безотказно выполнять определенные функции при заданных условиях и в течение заданного периода времени. Характеристики: устойчивость к ошибке, восстанавливаемость.

3. Практичность – характеристики ПО, которые позволяют минимизировать усилия пользователя по подготовке исходных данных, применению ПО и оценке полученных результатов, а также вызывать положительные эмоции определенного или подразумеваемого пользователя. Характеристики: понятность, обучаемость, простота использования

4. Эффективность – соотношение уровня услуг, предоставляемых ПО пользователю при заданных условиях, и объема используемых для этого ресурсов. К числу таких ресурсов могут относиться требуемые аппаратные средства, время выполнения программ, затраты на подготовку данных и интерпретацию результатов. Характеристики: характер изменения во времени, характер изменения ресурсов,

5. Сопровождаемость – характеристики ПО, которые позволяют минимизировать усилия по внесению изменений для устранения ошибок и по его модификации в соответствии с изменяющимися потребностями пользователей. Сопровождаемость ПО существенно зависит от степени и качества его документированности. Характеристики: анализируемость, изменяемость, устойчивость, тестируемость

6. Мобильность – способность ПО быть перенесенным из одной среды (окружения) в другую, в частности, с одной аппаратной платформы на другую. Характеристики: адаптируемость простота внедрения, соответствие, взаимозаменяемость.

к числу наиболее значимых показателей качества можно отнести:

  • претензии пользователей по неадекватности функционирования программного продукта;

  • претензии пользователей к взаимодействию продукта с другими программными и аппаратными средствами;

  • отказы программного продукта в процессе применения по назначению;

  • претензии пользователей к замедленному времени работы программного продукта и задержкам представления им промежуточной и выходной информации;

  • претензии пользователей к неполноте отражения информации;

  • несоответствие хранимых данных, информации, вводимой оператором;

  • претензии пользователей к актуальности информации;

  • нарушения конфиденциальности информации;

  • претензии пользователей к содержанию сопроводительной документации и справочной системе программного продукта.

Существуют методы, обеспечивающие управление качеством на основе обработки и анализа статистических данных о качестве. К мощным методам, позволяющим наиболее полно выявить необходимые для исследования взаимосвязи, можно отнести регрессионный, корреляционный, факторный и дисперсионный анализ.

  1. Понятие качественного ПО и его характеристики. Стандартизация показателей качества ПО. Базовый международный стандарт ISO 9126:1991. См предыдущий вопрос. И базарь всякую ересь про соотвествие пребованиям тз и бла-бла-бла