O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

Игорь Любин -- Об опыте тестирования программного компонента без пользовательского интерфейса

3.161 visualizações

Publicada em

Publicada em: Tecnologia, Negócios
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Игорь Любин -- Об опыте тестирования программного компонента без пользовательского интерфейса

  1. 1. Об опыте тестирования программного компонента без UI<br />Игорь Любин, Казань<br />
  2. 2. Программный компонент– это «кубик» программы<br />2<br />
  3. 3. Программный компонентбез UI<br />3<br />Из интерфейсов может бытьтолько cmd<br />
  4. 4. Программный компонент– это «черный ящик»<br />4<br />
  5. 5. Постановка задачиПроект<br />Интернет газета с сервисами блогосферы<br />Профили пользователей<br />Лента новостей<br />Блоги<br />Друзья, Фотки<br />Избранное<br />…<br />5<br />
  6. 6. Постановка задачиПроект развивается<br />Профили пользователей<br />Лента новостей<br />Блоги<br />Друзья, Фотки<br />Избранное, Теги<br />…<br />6<br />Расширяет возможности доступа<br />
  7. 7. Постановка задачиНа проекте идет разработка<br />Профили пользователей<br />Лента новостей<br />Блоги<br />Друзья, Фотки<br />Избранное, Теги<br />…<br />7<br />Появляется API (Программный компонент)<br />
  8. 8. Постановка задачиИмеем картину<br />Профили пользователей<br />Лента новостей<br />Блоги<br />Друзья, Фотки<br />Избранное, Теги<br />…<br />8<br />
  9. 9. Постановка задачиНавходе POST<br />9<br />~40 команд<br />Параметры<br />/login?username=batman@mail.ru&password=123<br />Пример визуализации POSТ запросав виде GET<br />
  10. 10. Постановка задачиНавыходе JSON<br />10<br />Статус<br />Данные<br />{ "status": 0,"data": {"id_user": 1024} }<br />
  11. 11. Постановка задачиНадо тестировать!?<br />Профили пользователей<br />Лента новостей<br />Блоги<br />Друзья, Фотки<br />Избранное, Теги<br />…<br />11<br />
  12. 12. Постановка задачиЦели перед тестированием<br />Создать тестовый инструмент<br />Удобный<br />Понятный<br />Легко поддерживаемый<br />Проверить основные команды<br />12<br />
  13. 13. РешениеПрограммировать!<br />Выбор языка программирования:<br />Язык знаете вы<br />Язык знает заказчик<br />13<br />
  14. 14. РешениеОрганизация тестов<br />Отделить тесты инструмента<br />14<br />
  15. 15. РешениеОрганизация тестов<br />1 тест= 1 файл<br />Следствие<br />Управление тестами сводится к управлению файлами<br />15<br />
  16. 16. РешениеПример тест-кейса<br />{<br />"name":"Вход пользователем на сайт",<br />"command" : "login",<br />"input" : {"username": "batman@mail.ru",<br />"password": "123" },<br />"assert" : "equal",<br />"output" : {"status": 0, <br />"data": {"id_user": 1024} }<br />}<br />16<br />
  17. 17. РешениеПример тест-сценария<br />{<br />"testsuite_name" : "Название сценария",<br />"testcases":<br />[<br /> {<br />"name" : "Тест-кейс1",<br />"command": "login",<br />"input" : {},<br />"output" : {"status": 0, "data": []}<br /> },<br /> {<br />"name" : "Тест-кейс2",<br />"command": "logoff",<br />"input" : {},<br />"output" : {"status": 0, "data": []}<br />}<br />]<br />}<br />17<br />
  18. 18. РешениеТестовый инструмент<br />18<br />
  19. 19. РешениеВыполнение POST запроса<br />19<br />
  20. 20. РешениеСравнение результатов<br />20<br />array_diff_assoc($array1, $array2)<br />
  21. 21. РешениеСхема тестового инструмента<br />21<br />
  22. 22. РешениеЛог<br />20.06.2010 06:15:49 Run test case: Вход пользователем<br />Request: /login?username=batman@mail.ru&password=123<br />20.06.2010 06:15:50 End test case. <br />Response: {"status":0,"data":{"id_user":1024}}<br />20.06.2010 06:15:50TEST PASSED<br />...<br />**********************************<br />Time: 268.20472 sec.<br />Tests: 199, Passed: 191, Failed: 8<br />**********************************<br />22<br />
  23. 23. РешениеСтатистика<br />23<br />Время разработки инструмента~ 90 ч. <br />(первая версия – 40 ч.)<br />Время разработки тестов ~ 90 ч.<br />Количество тест-сценариев ~ 60<br />Количество тест-кейсов ~ 300<br />
  24. 24. Спасибо за внимание!Вопросы?<br />igor.lyubin<br />ilyubin@yandex.ru<br />ap-test-team.blogspot.com<br />24<br />

×