Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
5
Добавлен:
29.01.2021
Размер:
18.51 Кб
Скачать

Testing and validating machine learning classifiers by metamorphic testing

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

An Orchestrated Survey on Automated Software Test Case Generation

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

  • Структурное тестирование (structural testing)

  • Тестирование на основе модели (model-based)

  • Комбинаторное тестирование (combinatorial)

  • Тестирование методом случайных входных данных (random testing)

  • Тестирование на основе поиска (search-based)

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

Optimized Regression Test using Test Case Prioritization

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

Simultaneous debugging of software faults

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

Проблемы формирования обучающей выборки в задачах машинного обучения.

УДК 004.855.5

DOI: 10.14529/ctcr160302

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

Test case prioritization of build acceptance tests for an enterprise cloud application: An industrial case study

Использование облачных вычислений дает большое количество возможностей компаниям, разрабатывающим программное обеспечения. Благодаря облачным вычислениям у компаний есть возможность доставлять свой продукт конечным пользователям максимально удобно, и в случае необходимости вводить необходимые изменения в этот процесс. Одной из известных таких форм является подход «Программное обеспечение как сервис» (Software as a Service, SaaS), который позволяет подписываться и отписываться от этих приложений по необходимости пользователя. Будучи выгодной как конечным пользователям, так и владельцам подобных сервисов, необходимо держать в уме, что любой дефект, просочившийся в реальную версию продукта, может затронуть всех существующих пользователей.

Приемочное тестирование новой сборки(Build Acceptance Testing, BAT) – это вид тестирование, который подразумевает технику черного ящика и выполняющиеся чтобы удостовериться в качестве новой версии программного продукта. Выполняется всякий раз, когда готовится новая версия для пользователей. В процессе приемочного тестирования(ПТ), из раза в раз выполняется один и тот же набор тестовых сценариев для серверов на всех возможных платформах (если применимо). Этот процесс крайне трудо- и времязатратный. Поскольку ПТ проверяет только наиболее критичные сценарии использования, возникает вопрос приоритезации выполнения тестов.