Серкова Надежда Шваркунов Сергей 19 – 20 ноября 2010 Автоматическая генерация  P erl скриптов для тестирования систем хран...
Введение <ul><li>Взаимодействие с системой хранения данных  EMC Celerra  осуществляется через графический интерфейс или че...
EMC Celerra
Формулировка проблемы <ul><li>Большое количество команд  </li></ul><ul><ul><li>Большое количество тестов  </li></ul></ul><...
Решение <ul><li>Система автоматической генерации тестов </li></ul><ul><ul><li>Хранение всей информации, необходимой для ге...
Реализация:  <ul><li>Выбор языка программирования </li></ul><ul><ul><li>Perl </li></ul></ul><ul><ul><ul><li>Разбор структу...
Схема системы автоматической генерации тестов 1 domain_list.txt get_automatic_tests.pl 2 3 Script_Generator.pm <object>.cs...
Синтаксис  CLI  команд  <ul><li>Объект:  Shared folder </li></ul><ul><ul><li>Действия и их параметры : </li></ul></ul><ul>...
Синтаксис  CLI  команд :  продолжение  <ul><li>Вид возможных команд для объекта  Shared folder: </li></ul><ul><ul><li>sf c...
Структура таблицы 1 domain_list.txt get_automatic_tests.pl 2 3 Script_Generator.pm <object>.csv 4 <Object>.pm : sub preche...
Структура таблицы: продолжение  “ <>” –  означает, что параметр отсутствует в команде cmd start  positive sf show id <> sh...
Принцип построения команд   sf show –output table –mode brief sf show –id share1 –mode detail sf show –id share2 –output n...
Принцип построения команд: продолжение   sf show –id defult_share –output table –mode brief cmd start  positive sf show id...
Структура модуля 1 domain_list.txt get_automatic_tests.pl 2 3 Script_Generator.pm <object>.csv 4 <Object>.pm : sub prechec...
Структура модуля: продолжение <ul><li>sub precheck_sf </li></ul><ul><li>{ </li></ul><ul><li>my $command = shift; </li></ul...
Модификация <ul><li>При изменении синтаксиса команды или  формата допустимых значений  параметров необходимо: </li></ul><u...
Заключение <ul><li>Была разработана и реализована система автоматической генерации тестов, которая успешно функционирует, ...
Спасибо
Upcoming SlideShare
Loading in …5
×

Надежда Серкова -- Автоматическая генерация Perl скриптов для тестирования систем хранения данных

782 views

Published on

Published in: Technology
1 Comment
0 Likes
Statistics
Notes
  • (к слайду 15) $command->{'action'} будет выглядеть лучше. И я бы здесь использовал given/when или хэш с значениями в виде подпрограмм.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

No Downloads
Views
Total views
782
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
6
Comments
1
Likes
0
Embeds 0
No embeds

No notes for slide

Надежда Серкова -- Автоматическая генерация Perl скриптов для тестирования систем хранения данных

  1. 1. Серкова Надежда Шваркунов Сергей 19 – 20 ноября 2010 Автоматическая генерация P erl скриптов для тестирования систем хранения данных
  2. 2. Введение <ul><li>Взаимодействие с системой хранения данных EMC Celerra осуществляется через графический интерфейс или через интерфейс командной строки ( CLI интерфейс). Возможности CLI -интерфейса позволяют конфигурировать систему при помощи скриптов, а также открывают большие возможности для её тестирования. Поскольку этот интерфейс сам является частью нового продукта, он тоже должен быть протестирован как компонент системы. </li></ul>
  3. 3. EMC Celerra
  4. 4. Формулировка проблемы <ul><li>Большое количество команд </li></ul><ul><ul><li>Большое количество тестов </li></ul></ul><ul><ul><ul><li>Сложности с их </li></ul></ul></ul><ul><ul><ul><ul><li>Созданием </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Систематизацией навигацией </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Модификацией </li></ul></ul></ul></ul>
  5. 5. Решение <ul><li>Система автоматической генерации тестов </li></ul><ul><ul><li>Хранение всей информации, необходимой для генерации тесовых скриптов, в одном месте в простой и удобной форме </li></ul></ul><ul><ul><li>Полное отсутствие необходимости написания или правки скриптов вручную </li></ul></ul><ul><ul><li>Общая структура всех файлов тестов </li></ul></ul>
  6. 6. Реализация: <ul><li>Выбор языка программирования </li></ul><ul><ul><li>Perl </li></ul></ul><ul><ul><ul><li>Разбор структур данных </li></ul></ul></ul><ul><ul><ul><li>Работа с текстом </li></ul></ul></ul><ul><ul><ul><li>Создание и передача между компонентами внутренних структур данных </li></ul></ul></ul><ul><ul><ul><li>Linux окружение </li></ul></ul></ul>
  7. 7. Схема системы автоматической генерации тестов 1 domain_list.txt get_automatic_tests.pl 2 3 Script_Generator.pm <object>.csv 4 <Object>.pm : sub precheck_<object> {…} sub check_<object> {…} sub postcheck_<object> {…} template.pl CLI_Test.pm CLI_Parametres.pm generated test
  8. 8. Синтаксис CLI команд <ul><li>Объект: Shared folder </li></ul><ul><ul><li>Действия и их параметры : </li></ul></ul><ul><ul><ul><li>Show: </li></ul></ul></ul><ul><ul><ul><ul><li>id, не обязателен </li></ul></ul></ul></ul><ul><ul><ul><ul><li>output , не обязателен, допустимые значения – table, detail </li></ul></ul></ul></ul><ul><ul><ul><ul><li>mode , не обязателен, допустимые значения – brief, detail </li></ul></ul></ul></ul><ul><ul><ul><li>Create: </li></ul></ul></ul><ul><ul><ul><ul><li>name, обязателен </li></ul></ul></ul></ul><ul><ul><ul><ul><li>descr, не обязателен </li></ul></ul></ul></ul><ul><ul><ul><ul><li>res, обязателен </li></ul></ul></ul></ul><ul><ul><ul><ul><li>path , обязателен </li></ul></ul></ul></ul><ul><ul><ul><li>Delete </li></ul></ul></ul><ul><ul><ul><ul><li>id , обязателен </li></ul></ul></ul></ul>
  9. 9. Синтаксис CLI команд : продолжение <ul><li>Вид возможных команд для объекта Shared folder: </li></ul><ul><ul><li>sf create –name share1 –res RES_05 –path “share” </li></ul></ul><ul><ul><li>sf create –name share2 –descr “my share” –res RES_00 –path “share/another” </li></ul></ul><ul><ul><li>sf show </li></ul></ul><ul><ul><li>sf show –output table </li></ul></ul><ul><ul><li>sf show –mode detail </li></ul></ul><ul><ul><li>sf show –output nvp –mode detail </li></ul></ul><ul><ul><li>sf –id share1 show –mode brief </li></ul></ul><ul><ul><li>sf – id share 2 delete </li></ul></ul>
  10. 10. Структура таблицы 1 domain_list.txt get_automatic_tests.pl 2 3 Script_Generator.pm <object>.csv 4 <Object>.pm : sub precheck_<object> {…} sub check_<object> {…} sub postcheck_<object> {…} template.pl CLI_Test.pm CLI_Parametres.pm generated test
  11. 11. Структура таблицы: продолжение “ <>” – означает, что параметр отсутствует в команде cmd start positive sf show id <> share_1 share_2 default_share output table <> nvp mode brief detail <> cmd end
  12. 12. Принцип построения команд sf show –output table –mode brief sf show –id share1 –mode detail sf show –id share2 –output nvp cmd start positive sf show id <> share_1 share_2 default_share output table <> nvp mode brief detail <> cmd end
  13. 13. Принцип построения команд: продолжение sf show –id defult_share –output table –mode brief cmd start positive sf show id <> share_1 share_2 default_share output table <> nvp mode brief detail <> cmd end
  14. 14. Структура модуля 1 domain_list.txt get_automatic_tests.pl 2 3 Script_Generator.pm <object>.csv 4 <Object>.pm : sub precheck_<object> {…} sub check_<object> {…} sub postcheck_<object> {…} template.pl CLI_Test.pm CLI_Parametres.pm generated test
  15. 15. Структура модуля: продолжение <ul><li>sub precheck_sf </li></ul><ul><li>{ </li></ul><ul><li>my $command = shift; </li></ul><ul><li>if ($$command{“action”} eq “show”) </li></ul><ul><li>{ </li></ul><ul><li>if (defined $$command{“id”}) </li></ul><ul><li>{ </li></ul><ul><li>my $id = $$command{“id”}; </li></ul><ul><li># добавить в файл теста строки , </li></ul><ul><li># обеспечивающие наличие объекта с данным id </li></ul><ul><li>} </li></ul><ul><li>} </li></ul><ul><li>if ($$command{“action”} eq “create”) {…} </li></ul><ul><li>if ($$command{“action”} eq “delete”) {…} </li></ul><ul><li>} </li></ul><ul><li>sub check_sf {…} </li></ul><ul><li>sub postcheck_sf {…} </li></ul>
  16. 16. Модификация <ul><li>При изменении синтаксиса команды или формата допустимых значений параметров необходимо: </li></ul><ul><ul><li>Внести изменения в текст всех уже созданных тестовых скриптов </li></ul></ul><ul><ul><li>Гарантировать их целостность и корректность их работы после изменений </li></ul></ul><ul><ul><li>С использованием системы автоматической генерации тестов, этого легко добиться, поменяв значение параметра в таблице, на основе которой генерируются тесты, и сгенерировав их заново. </li></ul></ul>
  17. 17. Заключение <ul><li>Была разработана и реализована система автоматической генерации тестов, которая успешно функционирует, с её помощью тесты создаются и при необходимости модифицируются. </li></ul><ul><li>Преимущества </li></ul><ul><ul><li>Упростилось управление тестами </li></ul></ul><ul><ul><li>Уменьшилось влияние человеческого фактора </li></ul></ul><ul><ul><li>Все скрипты имеют общую структуру и формат заголовка, что позволило автоматизировать отображение их результатов и занесение тестов и результатов в трекерную систему </li></ul></ul><ul><ul><li>Возможность сгенерировать ранее не выполнявшиеся тестовые скрипты </li></ul></ul>
  18. 18. Спасибо

×