Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev
Харак...
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev
Кто з...
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev
Как о...
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev
Серия...
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev
Серия...
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev
Цели ...
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev
ГОСТ ...
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev
Функц...
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev
Целес...
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev
Функц...
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev
Приме...
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev
Приме...
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev
Приме...
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev
Приме...
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev
Функц...
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev
Урове...
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev
Парал...
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev
Шабло...
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev
Урове...
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev
Та са...
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev
Совме...
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev
Изоля...
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev
Oops…...
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev
Совме...
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev
Faile...
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev
Взаим...
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev
TestN...
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev
Удобс...
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev
Польз...
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev
Досту...
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev
Тоже ...
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev
Удобс...
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev
Надёж...
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev
Позаб...
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev
Эффек...
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev
Защищ...
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev
Перен...
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev
Приме...
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev
Приме...
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev
Сопро...
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev
Читай...
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev
Удачн...
Nächste SlideShare
Wird geladen in …5
×

Оценка качества автотестов

34.550 Aufrufe

Veröffentlicht am

Доклад Алексея Баранцева на конференции SQA Days-18, 27-28 ноября 2015 г., Москва www.sqadays.com

Veröffentlicht in: Bildung
  • Sex in your area is here: ♥♥♥ http://bit.ly/2ZDZFYj ♥♥♥
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier
  • Follow the link, new dating source: ❤❤❤ http://bit.ly/2ZDZFYj ❤❤❤
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier

Оценка качества автотестов

  1. 1. Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev Характеристики качества автотестов © 2015 Алексей Баранцев Software-Testing.Ru
  2. 2. Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev Кто здесь? Алексей Баранцев Software-Testing.Ru barancev@gmail.com http://software-testing.ru/ http://selenium2.ru/
  3. 3. Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev Как оценить качество?
  4. 4. Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev Серия стандаров 250NN
  5. 5. Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev Серия стандартов 25000 • ГОСТ Р ИСО/МЭК 25010 – модель качества продукта – модель качества при использовании • ГОСТ Р ИСО/МЭК 25012 – модель качества данных
  6. 6. Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev Цели моделей качества
  7. 7. Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev ГОСТ Р ИСО/МЭК 25010
  8. 8. Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev Функциональная пригодность • Функциональная полнота • Функциональная корректность • Функциональная целесообразность
  9. 9. Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev Целесообразность
  10. 10. Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev Функциональная пригодность • Функциональная полнота • Функциональная корректность • Функциональная целесообразность
  11. 11. Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev Пример №1 @Rule public TemporaryFolder tempDir = new TemporaryFolder(); @Test public void canCreateFileWithValidName() throws IOException { String validName = "test.txt"; File f = new File(tempDir.getRoot(), validName); f.createNewFile(); }
  12. 12. Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev Пример №2 @Rule public TemporaryFolder tempDir = new TemporaryFolder(); @Test public void canCreateFileWithValidName() throws IOException { String validName = "test.txt"; File f = new File(tempDir.getRoot(), validName); Assert.assertTrue(f.createNewFile()); }
  13. 13. Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev Пример №3 @Rule public TemporaryFolder tempDir = new TemporaryFolder(); @Test public void canCreateFileWithValidName() throws IOException { String validName = "test.txt"; File f = new File(tempDir.getRoot(), validName); assertTrue(f.createNewFile()); assertTrue(f.exists()); }
  14. 14. Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev Пример №4 @Rule public TemporaryFolder tempDir = new TemporaryFolder(); @Test public void canCreateFileWithValidName() throws IOException { String validName = "test.txt"; File f = new File(tempDir.getRoot(), validName); assertTrue(f.createNewFile()); assertTrue(f.exists()); assertEquals(1, tempDir.getRoot().listFiles().length); }
  15. 15. Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev Функциональная пригодность • Функциональная полнота • Функциональная корректность • Функциональная целесообразность
  16. 16. Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev Уровень производительности • Временные характеристики • Использование ресурсов • Потенциальные возможности
  17. 17. Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev Параллельность
  18. 18. Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev Шаблон проектирования «Сон» http://www.slideshare.net/orgeirIngvarsson/ui-automation-patterns-sleep
  19. 19. Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev Уровень производительности • Временные характеристики • Использование ресурсов • Потенциальные возможности
  20. 20. Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev Та самая пирамида
  21. 21. Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev Совместимость • Сосуществование • Интероперабельность
  22. 22. Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev Изоляция тестов @ClassRule public static TemporaryFolder tempDir = new TemporaryFolder(); @Test public void canCreateFileWithValidName1() throws IOException { String validName = "test.txt"; File f = new File(tempDir.getRoot(), validName); assertTrue(f.createNewFile()); } @Test public void canCreateFileWithValidName2() throws IOException { String validName = "test.txt"; File f = new File(tempDir.getRoot(), validName); assertTrue(f.createNewFile()); }
  23. 23. Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev Oops… 
  24. 24. Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev Совместимость • Сосуществование • Интероперабельность
  25. 25. Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev Failed to start up socket within 45000 ms OpenQA.Selenium.WebDriverException: Failed to start up socket within 45000 ms Result StackTrace: at OpenQA.Selenium.Firefox.Internal.ExtensionConnection.ConnectToBrowser(TimeSpan timeToWait) at OpenQA.Selenium.Firefox.Internal.ExtensionConnection.Start() at OpenQA.Selenium.Firefox.FirefoxDriver.StartClient() at OpenQA.Selenium.Remote.RemoteWebDriver..ctor(ICommandExecutor commandExecutor, ICapabilities desiredCapabilities) at OpenQA.Selenium.Firefox.FirefoxDriver..ctor(FirefoxBinary binary, FirefoxProfile profile) at OpenQA.Selenium.Firefox.FirefoxDriver..ctor()
  26. 26. Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev Взаимодействие с баг-трекером @Test @Bug(12345) public void testSomething() { Assert.assertTrue(someOperationWithBug()); }
  27. 27. Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev TestNG и MantisBT public class AssumeBugIsFixed implements IAnnotationTransformer { public void transform(ITestAnnotation annotation, Class testClass, Constructor testConstructor, Method testMethod) { Bug bugAnnotation = testMethod.getAnnotation(Bug.class); if (bugAnnotation != null) { try { MantisConnectLocator mcl = new MantisConnectLocator(); MantisConnectPortType mcp = mcl.getMantisConnectPort( new URL("http://localhost/mantisbt-1.2.17/api/soap/mantisconnect.php")); IssueData issue = mcp.mc_issue_get("administrator", "root", BigInteger.valueOf(bugAnnotation.value())); String status = issue.getStatus().getName(); if (! ("closed".equals(status) || "resolved".equals(status))) { annotation.setEnabled(false); } } catch (Exception e) { e.printStackTrace(); } } } }
  28. 28. Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev Удобство использования • Определимость пригодности • Изучаемость • Управляемость • Защищенность от ошибки пользователя • Эстетика пользовательского интерфейса • Доступность
  29. 29. Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev Пользовательский интерфейс
  30. 30. Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev Доступность
  31. 31. Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev Тоже доступность
  32. 32. Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev Удобство использования • Определимость пригодности • Изучаемость • Управляемость • Защищенность от ошибки пользователя • Эстетика пользовательского интерфейса • Доступность
  33. 33. Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev Надёжность • Завершённость • Готовность • Отказоустойчивость • Восстанавливаемость
  34. 34. Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev Позаботься о себе сам def test_delete_some_group(app, db): if len(db.get_group_list()) == 0: app.group.create(Group(name="test")) group = random.choice(db.get_group_list()) app.group.delete_group_by_id(group.id)
  35. 35. Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev Эффект домино
  36. 36. Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev Защищённость • Конфиденциальность • Целостность • Неподдельность • Отслеживаемость • Подлинность
  37. 37. Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev Переносимость • Адаптируемость • Устанавливаемость • Взаимозаменяемость
  38. 38. Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev Пример №6 @Rule public TemporaryFolder tempDir = new TemporaryFolder(new File("C:/temp")); @Test public void canCreateFileWithValidName() throws IOException { String validName = "test.txt"; File f = new File(tempDir.getRoot(), validName); assertTrue(f.createNewFile()); }
  39. 39. Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev Пример №7 @Test public void deleteGroup() { driver.get(baseUrl + "/addressbook/group.php"); driver.findElement( By.xpath("//input[@value='42']")).click(); driver.findElement(By.name("delete")).click(); }
  40. 40. Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev Сопровождаемость • Модульность • Возможность многократного использования • Анализируемость • Модифицируемость • Тестируемость
  41. 41. Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev Читайте хорошие книжки
  42. 42. Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev Удачной автоматизации! Алексей Баранцев Software-Testing.Ru barancev@gmail.com http://software-testing.ru/ http://selenium2.ru/

×