Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Дизайн тест кейсов для автоматического тестирования

501 views

Published on

Доклад Александра Грицевского на SQA Days-22. 17-18 ноября 2017. Санкт-Петербург, Россия
www.sqadays.com

Published in: Education
  • Be the first to comment

  • Be the first to like this

Дизайн тест кейсов для автоматического тестирования

  1. 1. Software quality assurance days 22 Международная конференция по вопросам качества ПО sqadays.com Санкт-Петербург. 17–18 ноября 2017 Дизайн тест кейсов для автоматического тестирования. Возможно ли пройти аудит процессов без классических тест кейсов, тест сьютов и тест планов?
  2. 2. Пролог Лень— это протест против монотонной, однообразной и тяжелой работы. Поводом для всякого усилия лентяя служит стремление в следующий раз избежать этого усилия. Поэтому только ленивому приходит в голову идея, как выполнить неизбежную работу с наименьшими усилиями.
  3. 3. Выбор инструмента автоматизации
  4. 4. Выбор инструмента автоматизации •Cпособность инструмента тестировать проект
  5. 5. Выбор инструмента автоматизации • Cпособность инструмента тестировать проект •Способность команды поддерживать инструмент тестирования
  6. 6. Выбор инструмента автоматизации • Cпособность инструмента тестировать проект • Способность команды поддерживать инструмент тестирования •Бюджет
  7. 7. Выбор инструмента автоматизации • Selenium
  8. 8. Выбор инструмента автоматизации • Selenium •Microsoft Visual Studio
  9. 9. Выбор инструмента автоматизации • Selenium • Microsoft Visual Studio • HP Unified Functional Testing (UFT)
  10. 10. Выбор инструмента автоматизации • Selenium • Microsoft Visual Studio • HP Unified Functional Testing (UFT) • Ranorex • TestComplete • QFTest
  11. 11. Выбор инструмента хранения тест артефактов • Git • SVN • Team Foundation Server
  12. 12. Выбор инструментов запуска автоматических тестов • Junit • TestNG • Nunit • HP Unified Functional Testing (UFT) • Visual Studio • FitNesse
  13. 13. Прохождения аудита при наличии тест скриптов, написанных как тест сценарии Что хочет видеть аудитор ?
  14. 14. Прохождения аудита при наличии тест скриптов, написанных как тест сценарии Что хочет видеть аудитор ? •Тест планы •Тест сьюты •Тест кейсы
  15. 15. Где же все это?
  16. 16. • Visual Studio Test Professional • HP Quality Center • FitNesse • Cucumber
  17. 17. Hаписание тест скриптов, как тест сценариев • TDD - разработка через тестирование
  18. 18. Hаписание тест скриптов, как тест сценариев • TDD - разработка через тестирование • ATDD - acceptance test–driven development • BDD - behavior-driven development
  19. 19. Пример теста на Java/JUnit4/WebDriver @Test public void testLoginSqa() throws Exception { driver.get("http://sqadays.com/en/index"); assertEquals("SQA Days", driver.getTitle()); driver.findElement(By.cssSelector("div.reg-button")).click(); assertTrue(isElementPresent(By.cssSelector("input[name="login"]"))); assertTrue(isElementPresent(By.cssSelector("input[name="password"]"))); }
  20. 20. Пример теста сьюта JUnit4 @RunWith(Suite.class) @Suite.SuiteClasses({ TestFeatureLogin.class, TestFeatureLogout.class, TestFeatureNavigate.class, TestFeatureUpdate.class })
  21. 21. Пример теста на Java/JUnit4/WebDriver /** * Test case steps.<br> * Test case result. */ @Test public void testLoginSqa() throws Exception { logger.debug(“ Test case”); driver.get("http://sqadays.com/en/index"); assertEquals("SQA Days", driver.getTitle()); driver.findElement(By.cssSelector("div.reg-button")).click(); assertTrue(isElementPresent(By.cssSelector("input[name="login"]"))); assertTrue(isElementPresent(By.cssSelector("input[name="password"]"))); }
  22. 22. А почему бы не Allure Test Report ? @Step("Open {0} page.") @Attachment(value = "Page screenshot", type = "image/png")
  23. 23. | start browser | on url | http://sqadays.com/en/index | | ensure title | is |SQA Days| | click button | div.reg-button | | ensure element present | input[name="login"] | | ensure element present | input[name="password"] | @Test public void testLoginSqa() throws Exception { driver.get("http://sqadays.com/en/index"); assertEquals("SQA Days", driver.getTitle()); driver.findElement(By.cssSelector("div.reg-button")).click(); assertTrue(isElementPresent(By.cssSelector("input[name="login"]"))); assertTrue(isElementPresent(By.cssSelector("input[name="password" ]"))); }
  24. 24. Feature: I want to test http://sqadays.com/en/index Scenario: Given I open a new browser Then I go to the url "http://sqadays.com/en/wizard" I check that the text field with "name" "login" contains the value for "" I check that the text field with "name" "password" contains the value for ""
  25. 25. Обобщение • Выбирая инструмент автоматизации, не забывайте о других челенах команды
  26. 26. Обобщение • Выбирая инструмен автоматизации, не забывайте о других челенах команды • Помните, что в один прекрасный момент может прийти аудитор
  27. 27. Обобщение • Выбирая инструмен автоматизации, не забывайте о других челенах команды • Помните, что в один прекрасный момент может прийти аудитор • Помните, что ваш проект должен компилироваться даже когда вы в отпуске
  28. 28. Software quality assurance days 22 Международная конференция по вопросам качества ПО sqadays.com Санкт-Петербург. 17–18 ноября 2017 Спасибо за внимание

×