Научная статья на тему 'РОЛЬ ТЕСТИРОВАНИЯ В РАЗРАБОТКЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ'

РОЛЬ ТЕСТИРОВАНИЯ В РАЗРАБОТКЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
138
14
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ТЕСТИРОВАНИЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ / КЛАССИФИКАЦИИ ТЕСТИРОВАНИЯ / УРОВНИ ТЕСТИРОВАНИЯ / СТРАТЕГИИ ТЕСТИРОВАНИЯ / SOFTWARE TESTING / TESTING CLASSIFICATION / TESTING LEVELS / TESTING STRATEGIES

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Самохина А.В., Бородачева Т.С.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

THE ROLE OF TESTING IN THE DEVELOPMENT OF THE SOFTWARE

The topic is relevant at present, as software developers are interested in the high quality of the finished product. This article describes the role of testing in software development. Examples of levels, classifications, and test methods are provided.

Текст научной работы на тему «РОЛЬ ТЕСТИРОВАНИЯ В РАЗРАБОТКЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ»

УДК 004.413.5

Самохина А. В. студент Бородачева Т. С. студент

научный руководитель: Коняева О. С.

Поволжского государственного университета телекоммуникаций и информатики

Россия, г.Самара

РОЛЬ ТЕСТИРОВАНИЯ В РАЗРАБОТКЕ ПРОГРАММНОГО

ОБЕСПЕЧЕНИЯ

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

Ключевые слова - тестирование программного обеспечения, классификации тестирования, уровни тестирования, стратегии тестирования.

Samokhina A. V.

student Borodacheva T. S.

student

scientific adviser: Konyaeva O. S.

Volga State University of Telecommunications and Informatics

Russia, Samara

THE ROLE OF TESTING IN THE DEVELOPMENT OF THE

SOFTWARE

Annotation - the topic is relevant at present, as software developers are interested in the high quality of the finished product. This article describes the role of testing in software development. Examples of levels, classifications, and test methods are provided.

Key words - software testing, testing classification, testing levels, testing strategies.

Введение

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

непрерывного роста вычислительной мощности и усовершенствования программного обеспечения.

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

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

Общее понятие тестирования программного обеспечения

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

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

Программное обеспечение современных компьютеров разделяют на некоторые категории:

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

• системные программы, направленные на управление работой компьютера (системное ПО): операционная система, драйверы, программы-антивирусы и т.д.;

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

Одним из ключевых этапов создания программного обеспечения является тестирование. Любое ПО должно соответствовать заданным стандартам. Требуется многоступенчатое тестирование программного обеспечения для достижения желаемого результата. Этап тестирования считают одним из самых сложных этапов разработки ПО.

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

Классификация и методы тестирования

1. По мере обособленности: • отладка компонентов;

• интеграционное;

• системное.

2. По объекту тестирования:

• функциональная отладка (испытание способности ПО решать требуемые пользовательские задачи в разных условиях);

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

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

• локализация (адаптация ПО к культуре других стран);

• безопасность (поиск уязвимостей ПО к различным атакам).

3. По структуре системы:

• метод «черного ящика»;

• метод «белого ящика»;

• метод «серого ящика».

4. По длительности выполнения тестирования:

• альфа-тестирование;

• бета-тестирование.

5. По уровню автоматизации:

• ручное (без использования программных средств);

• полуавтоматизированное;

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

Уровни тестирования программного обеспечения

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

2. Интеграционное тестирование - отдельные программные модули объединяются и тестируются в группе (например, как база данных взаимодействует со степенью абстракции информации).

3.Системное тестирование - это тестирование производится на интегрированной системе с целью проверки соответствия системы с исходными требованиями. Имеет подкатегории:

• альфа-тестирование - моделирование реальной работы с системой штатными разработчиками (осуществляется на раннем этапе разработки продукта);

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

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

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

В этой стратегии тестирования существует несколько критериев покрытия кода: покрытие операторов, условий, функций, путей, значений параметров.

Стратегия «черного ящика» - отладка эргономичного поведения объекта с точки зрения внешнего мира, при котором не требуется наличие знания о внутреннем устройстве.

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

Для исследования поставленного вопроса рассматриваем пример пробы отладки методом «черного ящика» компилятора с языка Java. Для проведения детального теста необходимо использовать всё множество правильных (их число бесконечно) и неправильных (действительно бесконечное число) программ на Java, чтобы убедиться в том, что компилятор способен обнаружить все ошибки. Только в этом случае синтаксически неверная программа не будет скомпилирована. Отсюда следует, что для обстоятельного тестирования поставленной задачи требуется бесконечное число тестов [1].

Соответственно создание законченного входного теста неосуществимо по нижеприведенным причинам:

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

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

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

Заключение

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

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

Этап тестирования приносит значительную пользу при разработке ПО. Несмотря на это, многие компании, занимающиеся производством программного обеспечения, игнорируют качество организации процессов тестирования, что в итоге сказывается на конечном продукте.

Использованные источники:

1. И.В. Степанченко Методы тестирования программного обеспечения. Волгоград, : РПК «Политехник», 2006.

2. В.В. Липаев Тестирование компонентов и комплексов программ. М. : СИНТЕГ, 2010.

3. Тестирование программного обеспечения // wikipedia.org URL: https://ru.wikipedia.org/wiki/Тестирование_программного_обеспечения (дата обращения: 10.11.2019).

i Надоели баннеры? Вы всегда можете отключить рекламу.