Необходимо разбить тесты по различным сферам, составив таким образом карту тестового покрытия. Примерный список: - блокировки на файлах (различный варианты блокировок на файлах разного объёма, при одновременном доступе из-под нескольких клиентов, причём использование Linux и Windows клиентов по отдельности и вместе, тоже стоит учесть - вероятно это можно делать на уровне настройки списков клиентов на мастере); - работоспособность различных опций монтирования на Linux-клиентах; - тесты на производительность в различных сочетаниях Windows и Linux клиентов и клиентов. Ситуация в определением объёмов тестового покрытия осложняется ещё и тем, что одни и теже тесты могут использоваться для тестирования разныхх конфигураций клиентов и серверов, установленных на разных ОС. У нас тестируются Linux и Windows, ноб на самом деле это требует уточнения... Для Linux-серверов - это Дистрибутив, версия Samba: ALT Linux 4.0/samba-3.0.28 ALT Linux 4.0/samba-3.0.30 ALT Linux Sisyphus/samba-3.0.30 Mandriva 2008/samba-3.0.30 ............. Для Linux-клиентов - это Дистрибутив, версия ядра, версия модуля cifs: Mandriva 2008/kernel-2.6.24-mdk2008.1/etercifs-1.53-alt1 ALT Linux Sisyphus/kernel-2.6.25-std-def-alt6/etercifs-1.53-alt3 ............. Для Windows чуть попроще: WindowsXP+SP2 WindowsXP+SP3 WindowsServer2003+SP1 ............. Полное пересечение этих параметров даёт достаточно большое количество вариантов. Так что, при анализе, некоторые можно будет опускать. Тем не менее вопросы о сохранении результатов теста в виде отчёта с указанием конфигурации клиентов крайне желательно.
Некоторый набор ссылок по этому вопросу, который я попытался составить ранее: http://wiki.samba.org/index.php/Ping_pong http://nfsv4.bullopensource.org/tools/tests/locktest.php http://linux-cifs.samba.org/cifs/cifs_testing.html http://lists.samba.org/archive/samba-technical/2006-January/044775.html http://www.sambaxp.org/uploads/media/08-Jeremy_Allison_-_CIFS_to_the_Desktop.pdf http://www.sambaxp.org/uploads/media/05_-_steve_french_-_ibm_-_improved_linux_cifs_client.pdf http://msdn.microsoft.com/en-us/library/aa365433(VS.85).aspx http://msdn.microsoft.com/en-us/library/aa365233(VS.85).aspx http://search.techrepublic.com.com/search/cifs.html http://linux-cifs.samba.org/ http://www.cqure.net/wp/cifspwscanner/
Составлен набор тестов, которые можно запускать как по-отдельности, так и пакетом. На wiki выложено описание как самих тестов, так и всей этой технологии. адрес - http://wiki.etersoft.ru/RECT/ и далее по ссылкам. Страниц там несколько. Далее исследуется вопрос как получить возможность в один тестовый пакет помещать экземпляры одного и того же теста с разными конфигами. Пока в конфиге указываются все тесты из каталога и их свойства (слэйвы и шАры, которые им соответствуют). То есть будем дорабатывать запускалку. Параллельно ведется работа по удобному выводу результатов рестирования.
Вывод результатов тестирования предполагается сделать в виде html-старнички. На ней в шапке должно быть описание всех slaves & share, а внизу названия отработанных тестов с указанием использованных slaves & share и их результат. Пока вывод информации есть в виде таблицы на станице. Сначала выводится необходимая информация о компьютере,, на котором запускаются тесты, дата и время проведения. Внизу: названия тестов, время отработки и результат. http://git.etersoft.ru/people/lbeasty/packages/?p=rect-tests.git;a=shortlog;h=refs/heads/helen
Добавлен скрипт(отдельный класс) преобразования полученной информации о системе(на компьютере, на котором запускаются тесты) и запущенных процессах(опять же, на компьютере, на котором запускаются тесты) в html-страницу. В скрипте с запуском этих тестов осталось только сбор информации о проведенном тестировании. Название результирующей html-страницы генерируется автоматически: "results_" + дата проведения тестирования + ".html". У каждого теста на странице есть перечень используемых слейвов и шар в виде ссылок на начало страницы на соответствующее их описание.
Запуск тестов производится запуском конфигов(yaml). Изменен шаблон для страницы с выводом информации(усовершенствован). Информация о слейвах и шарах берется из самого конфига. В скрипте rect-run собирается информация о тестах пройденных и об ошибках. Вся полученная информация обрабатывается в clogger.py. В RECT добавлена работа с новыми флагами O_DENYREAD, O_DENYWRITE, O_DENYDELETE и SHAREALL. Однако при прогоне тестов на etercifs реакции на них(флагов) не наблюдается. Пока не понимаю, в чем дело. Еще надо добавитьвозможность одновременного указания нескольких флагов (O_DENYREAD, O_DENYWRITE, O_DENYDELETE и SHAREALL). Предполагается указывать их непосредственно самими значениями.
Составлен тестовый набор, включающий тесты на блокировки, оплоки, deny* флаги и crach test. О выводе результатов тестирования можно узнать здесь http://wiki.etersoft.ru/RECT/Tests/Reports Последняя версия RECT : http://git.etersoft.ru/people/lbeasty/packages/?p=rect.git;a=summary тестов для RECT : http://git.etersoft.ru/people/lbeasty/packages/?p=rect-tests.git;a=summary