Пример тестирования многопоточной программы

by Темных Сергей 26.03.2009 16:43:00

Есть известная задача chameneos из тестирования на производительность разных языков программирования.

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

На первый взгляд есть лишь одна "точка" для тестирования - количество встреч, но если присмотреться - то можно заметить, что не явно у нас еще есть сами встречи, которые, с помощью небольшого количеств кода, легко оформляются в виде трасс встреч, вида:

<номер встречи> <номер первого хамелеона> <номер второго хамелеона> <цвет первого хамелеона до встречи> <цвет второго хамелеона до встречи> <цвет первого хамелеона после встречи> <цвет второго хамелеона после встречи>
 

Все трассы встреч стоит проверить на выполнение следующих инвариантов:

1. что хамелеон между встречами сам по себе не перекрасился
2. что обмен цветов после встречи был проведен корректно

и выполнению статических параметров:
1. что хамелеоны участвовали в встречах — равномерно
2. что цвета по встречам тоже распределены равномерно
5. что номера хамелеонов, участвующих в встречах, распределено равномерно по времени

ps

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

Прогон по трассе позволяет в online-режиме увидеть где и как именно происходит ошибка.

Оценок нет

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: ,

Похожие записи

Powered by BlogEngine.NET 1.3.1.0
Theme by Mads Kristensen

Сергей Темных

Модулятор


Calendar

<<  Август 2017  >>
повтсрчепясуво
31123456
78910111213
14151617181920
21222324252627
28293031123
45678910

View posts in large calendar

Страницы

    Последние комментарии

    Категории

    None


    Disclaimer

    The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

    © Copyright 2017

    Sign in