Файл: Отладка и тестирование программ: ограничения и основные подходы.pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 24.04.2023

Просмотров: 548

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Были выбраны следующие методы ООП тестирования:

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

Тестирование моделированием конечными автоматами было выбрано, т.к. данный метод зарекомендовал себя для проверки взаимодействия объектов ООП.

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

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

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

3.3 Планирование процесса тестирования

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

План тестирования – это документ, который связывает вместе разработку тестов и задачи проекта. Он определяет используемые методы тестирования, характеристики, которые подлежат проверке, компоненты системы, подлежащие тестированию. Также в план включаются критерии завершения тестирования, критерии оценки полноты тестов. Возможна корректировка плана в течение выполнения проекта. Разработанный план тестирования представлен в Приложении 3.

3.4 Разработка тестовых сценариев Use Case


При составлении тестовых сценариев были включены следующие пункты:

1. Состояние программы до начала теста (систему приводит в начальное состояние тестировщик);

2. Последовательность действий;

3. Конечное состояние программы / ожидаемый результат.

Далее приводятся тестовые сценарии для некоторых функций программы:

Use Case №1: добавление новой услуги

Состояние до начала теста

Последовательность

Действий

Ожидаемый

результат

Открыто главное меню

1. Нажатие кнопки «Добавить услугу»

2. Печатать текст в редакторе названия услуги

3. Нажать «Сохранить услугу»

Открыто главное меню, присутствует кнопка с названием добавленной услуги

Use Case №2: редактирование информации об услуге

Состояние до начала теста

Последовательность

Действий

Ожидаемый

результат

Открыто главное меню

1. Нажатие кнопки с названием услуги, которую нужно отредактировать

2. Печатать текст в редакторе преимуществ

3. Ввести в редакторе стоимости целочисленные значения

4. Нажать «Сохранить»

5. Нажать «Выйти в главное меню»

6. Нажать на кнопку с названием услуги, которую редактировали

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

Use Case №3: просмотр информации об услуге

Состояние до начала теста

Последовательность

Действий

Ожидаемый

результат

Открыто главное меню

1. Нажатие кнопки с названием услуги, которую нужно просмотреть

Открыто окно с информацией об услуге.

Use Case №4: ввод неверной информации

Состояние до начала теста

Последовательность

Действий

Ожидаемый

результат

Открыто окно редактирования услуги

1. Ввести текстовую информацию о преимуществах услуги

2. В поле редактирования стоимости ввести не числа, а текст

3. Нажать «Сохранить»

На экране возникло окно с просьбой ввести корректную информацию о стоимости


Use Case №5: выход из программы во время редактирования услуги

Состояние до начала теста

Последовательность

Действий

Ожидаемый

результат

Открыто окно редактирования услуги

1. Ввести текстовую информацию о преимуществах услуги

2. В поле редактирования стоимости ввести целочисленное значение

3. Нажать кнопку «Закрыть»

На экране возникло окно с предупреждением о том, что информация не сохранена с выбором: Сохранить, Закрыть без сохранения, Отмена

ЗАКЛЮЧЕНИЕ

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

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


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

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

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

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

  1. Вудкок Д. Первые шаги к решению проблемы верификации программ. / Открытые системы. – http://www.osp.ru/os/2006/08/3584577/ (дата обращения 5.05.2015)
  2. Гуров В.С., Мазин М.А., Шалыто А.А. UniMod – программный пакет для разработки объектно-ориентированных приложений на основе автоматного подхода [Электронный ресурс]. / Информационно-коммуникационные технологии в образовании. – URL: http://www.ict.edu.ru/vconf/index.php?a= vconf&c=getForm&r=thesisDesc&id_sec=143&id_vconf=25&id_thesis=5645&d=light (дата обращения 22.05.2015)
  3. Дэвис Ч. Передовой опыт управления тестированием. // IBM.com [Электронный ресурс]. URL: http://www.ibm.com/developerworks/ru/library/1107_davis /index.html (дата обращения 19.05.2015)
  4. Ехлаков Ю.П. Введение в программную инженерию: учебное пособие. – Томск: Эль Контент, 2011. – 148 с.
  5. Зизин М. Концепция создания системного и прикладного программного обеспечения задач математического моделирования. // AtomInfo.ru. [Электронный ресурс]. URL: http://www.atominfo.ru/news4/d0185.htm (дата обращения: 15.04.2015).
  6. Карпов Ю. Синдром «146%»: некомпетентность или злой умысел? // Открытые системы [Электронный ресурс]. URL: http://www.osp.ru/os/2014/05/ 13041826/ (дата обращения 10.05.2015)
  7. Липаев В.В. Программная инженерия сложных заказных программных продуктов: Учебное пособие. – М.: МАКС Пресс, 2014. – 312 с.
  8. Липаев В.В. Тестирование компонентов и комплексов программ. Учебник. – М.: СИНТЕГ, 2010. – 400 с.
  9. Мейер Б. Почувствуй класс.—М.: Национальный Открытый Университет «ИНТУИТ»: БИНОМ. Лаборатория знаний, 2011. —775 с.
  10. Михайлов А. Тестирование объектно-ориентированных программных систем. // Объектно-ориентированный анализ и проектирование [Электронный ресурс]. URL: http://ooad.asf.ru/standarts/Library/OORP/List10.aspx (дата обращения 19.05.2015)
  11. Орлов С.А., Цилькер Б.Я. Технологии разработки программного обеспечения: Учебник для вузов. – СПб.: Питер, 2012. – 608 с.
  12. Панюкова Т.А. Документирование программного обеспечения: в помощь техническому писателю: Учебное пособие. – М.: Книжный дом «Либроком», 2012. – 264 с.
  13. Перемитина Т.О. Тестирование программного обеспечения: учебное пособие. – Томск: факультет дистанционного обучения ТУСУРа, 2015. - 116 с.
  14. Поппендик М., Поппендик Т. Бережливое производство программного обеспечения: от идеи до прибыли. - М. : ООО ‘‘И.Д. Вильямс’’, 2010. - 256 с.
  15. Тюгашев А.А., Ильин И.А. Ермаков И.Е. Пути повышения надежности и качества программного обеспечения в космической отрасли // Управление большими системами: сборник трудов Выпуск 39 2012 С. 288-299
  16. Уиттакер Дж., Арбон Дж., Каролло Дж. Как тестируют в Google. - СПб. : Питер, 2014. — 320 с.
  17. Фролов Е.М., Солдатова М.А. Методика оценки качества прикладного программного обеспечения технического назначения // Известия Волгоградского государственного технического университета. - Выпуск № 8 (135) / том 11 / 2014
  18. Testing the limits беседует с Бобом Биндером. // QATesting.ru. [Электронный ресурс]. URL: http://qatesting.ru/blog/interviews/2012/0916utest-bob-binder (дата обращения 16.05.2015)
  19. Количественное управление процессом тестирования. // Тестирование и качество ПО [Электронный ресурс]. URL: http://www.software-testing.ru/library/around-testing/processes/309-quantitative-process-management (дата обращения 18.05.2015)

Приложение 1

Методов тестирования в стратегиях белого и черного ящика

Критерии

Описание

Стратегия «белого ящика»

Эквивалентное разбиение

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

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

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

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

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

Предположение об ошибке

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

Стратегия «чёрного ящика»

Покрытие операторов.

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

Покрытие решений.

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

Покрытие условий.

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

Покрытие решений/условий.

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

Комбинаторное покрытие условий

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