SlideShare a Scribd company logo
1 of 42
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev
Характеристики
качества
автотестов
© 2015 Алексей Баранцев
Software-Testing.Ru
Алексей Баранцев 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/
Алексей Баранцев 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
Серия стандаров 250NN
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev
Серия стандартов 25000
• ГОСТ Р ИСО/МЭК 25010
– модель качества продукта
– модель качества
при использовании
• ГОСТ Р ИСО/МЭК 25012
– модель качества данных
Алексей Баранцев 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
ГОСТ Р ИСО/МЭК 25010
Алексей Баранцев 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
Пример №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();
}
Алексей Баранцев 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());
}
Алексей Баранцев 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());
}
Алексей Баранцев 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);
}
Алексей Баранцев 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
Шаблон проектирования «Сон»
http://www.slideshare.net/orgeirIngvarsson/ui-automation-patterns-sleep
Алексей Баранцев 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
Изоляция тестов
@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());
}
Алексей Баранцев 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
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()
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev
Взаимодействие с баг-трекером
@Test
@Bug(12345)
public void testSomething() {
Assert.assertTrue(someOperationWithBug());
}
Алексей Баранцев 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();
}
}
}
}
Алексей Баранцев 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
Позаботься о себе сам
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)
Алексей Баранцев 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
Пример №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());
}
Алексей Баранцев 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();
}
Алексей Баранцев 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
barancev@gmail.com
http://software-testing.ru/
http://selenium2.ru/

More Related Content

What's hot

Концепция QaAPI: взгляд на тестирование с другой стороны баррикад
Концепция QaAPI: взгляд на тестирование с другой стороны баррикадКонцепция QaAPI: взгляд на тестирование с другой стороны баррикад
Концепция QaAPI: взгляд на тестирование с другой стороны баррикадSQALab
 
Экосистема Selenium
Экосистема SeleniumЭкосистема Selenium
Экосистема SeleniumSQALab
 
Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...
Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...
Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...WrikeTechClub
 
BDD girls Battle: Cucumber VS. JBehave
BDD girls Battle: Cucumber VS. JBehaveBDD girls Battle: Cucumber VS. JBehave
BDD girls Battle: Cucumber VS. JBehaveSQALab
 
QA Fest 2017. Яна Кокряшкина. Интеграция автоматизированных тестов с инструме...
QA Fest 2017. Яна Кокряшкина. Интеграция автоматизированных тестов с инструме...QA Fest 2017. Яна Кокряшкина. Интеграция автоматизированных тестов с инструме...
QA Fest 2017. Яна Кокряшкина. Интеграция автоматизированных тестов с инструме...QAFest
 
QaAPI. Взгляд на тестирование с другой стороны баррикад. Доклад Дмитрия Марущ...
QaAPI. Взгляд на тестирование с другой стороны баррикад. Доклад Дмитрия Марущ...QaAPI. Взгляд на тестирование с другой стороны баррикад. Доклад Дмитрия Марущ...
QaAPI. Взгляд на тестирование с другой стороны баррикад. Доклад Дмитрия Марущ...Badoo Development
 
Grail: шаги для ваших Python-тестов
Grail: шаги для ваших Python-тестовGrail: шаги для ваших Python-тестов
Grail: шаги для ваших Python-тестовCodeFest
 
Selenium grid on-demand
Selenium grid on-demandSelenium grid on-demand
Selenium grid on-demandSQALab
 
Автоматизация тестирования WEB API
Автоматизация тестирования WEB APIАвтоматизация тестирования WEB API
Автоматизация тестирования WEB APISQALab
 
Let's Talk About Junit 5
Let's Talk About Junit 5Let's Talk About Junit 5
Let's Talk About Junit 5SQALab
 
End-2-End UI автоматизация в мобильном приложении. Наша реализация
End-2-End UI автоматизация в мобильном приложении. Наша реализацияEnd-2-End UI автоматизация в мобильном приложении. Наша реализация
End-2-End UI автоматизация в мобильном приложении. Наша реализацияSQALab
 
Тестирование REST-сервисов с применением инженерных практик
Тестирование REST-сервисов с применением инженерных практикТестирование REST-сервисов с применением инженерных практик
Тестирование REST-сервисов с применением инженерных практикSQALab
 
Автоматизация UI тестирования под Windows и Windows Phone
Автоматизация UI тестирования под Windows и Windows PhoneАвтоматизация UI тестирования под Windows и Windows Phone
Автоматизация UI тестирования под Windows и Windows PhoneCodeFest
 
Автоматическое тестирование. Моя система
Автоматическое тестирование. Моя системаАвтоматическое тестирование. Моя система
Автоматическое тестирование. Моя системаIgor Lyubin
 
Grail - CodeFest'2015
Grail - CodeFest'2015Grail - CodeFest'2015
Grail - CodeFest'2015Igor Khrol
 
автоматизация тестирования с помощью Selenium
автоматизация тестирования с помощью Seleniumавтоматизация тестирования с помощью Selenium
автоматизация тестирования с помощью Seleniumvyacheslavmaslov
 
Полуавтоматизация third-party API
Полуавтоматизация third-party APIПолуавтоматизация third-party API
Полуавтоматизация third-party APISQALab
 
Alexander manuhin selenium_php_v2.0
Alexander manuhin selenium_php_v2.0Alexander manuhin selenium_php_v2.0
Alexander manuhin selenium_php_v2.0matroskin1980
 

What's hot (20)

Концепция QaAPI: взгляд на тестирование с другой стороны баррикад
Концепция QaAPI: взгляд на тестирование с другой стороны баррикадКонцепция QaAPI: взгляд на тестирование с другой стороны баррикад
Концепция QaAPI: взгляд на тестирование с другой стороны баррикад
 
Экосистема Selenium
Экосистема SeleniumЭкосистема Selenium
Экосистема Selenium
 
Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...
Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...
Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...
 
BDD girls Battle: Cucumber VS. JBehave
BDD girls Battle: Cucumber VS. JBehaveBDD girls Battle: Cucumber VS. JBehave
BDD girls Battle: Cucumber VS. JBehave
 
QA Fest 2017. Яна Кокряшкина. Интеграция автоматизированных тестов с инструме...
QA Fest 2017. Яна Кокряшкина. Интеграция автоматизированных тестов с инструме...QA Fest 2017. Яна Кокряшкина. Интеграция автоматизированных тестов с инструме...
QA Fest 2017. Яна Кокряшкина. Интеграция автоматизированных тестов с инструме...
 
Automation testing desktop applications
Automation testing desktop applicationsAutomation testing desktop applications
Automation testing desktop applications
 
QaAPI. Взгляд на тестирование с другой стороны баррикад. Доклад Дмитрия Марущ...
QaAPI. Взгляд на тестирование с другой стороны баррикад. Доклад Дмитрия Марущ...QaAPI. Взгляд на тестирование с другой стороны баррикад. Доклад Дмитрия Марущ...
QaAPI. Взгляд на тестирование с другой стороны баррикад. Доклад Дмитрия Марущ...
 
Grail: шаги для ваших Python-тестов
Grail: шаги для ваших Python-тестовGrail: шаги для ваших Python-тестов
Grail: шаги для ваших Python-тестов
 
Selenium vs AJAX
Selenium vs AJAXSelenium vs AJAX
Selenium vs AJAX
 
Selenium grid on-demand
Selenium grid on-demandSelenium grid on-demand
Selenium grid on-demand
 
Автоматизация тестирования WEB API
Автоматизация тестирования WEB APIАвтоматизация тестирования WEB API
Автоматизация тестирования WEB API
 
Let's Talk About Junit 5
Let's Talk About Junit 5Let's Talk About Junit 5
Let's Talk About Junit 5
 
End-2-End UI автоматизация в мобильном приложении. Наша реализация
End-2-End UI автоматизация в мобильном приложении. Наша реализацияEnd-2-End UI автоматизация в мобильном приложении. Наша реализация
End-2-End UI автоматизация в мобильном приложении. Наша реализация
 
Тестирование REST-сервисов с применением инженерных практик
Тестирование REST-сервисов с применением инженерных практикТестирование REST-сервисов с применением инженерных практик
Тестирование REST-сервисов с применением инженерных практик
 
Автоматизация UI тестирования под Windows и Windows Phone
Автоматизация UI тестирования под Windows и Windows PhoneАвтоматизация UI тестирования под Windows и Windows Phone
Автоматизация UI тестирования под Windows и Windows Phone
 
Автоматическое тестирование. Моя система
Автоматическое тестирование. Моя системаАвтоматическое тестирование. Моя система
Автоматическое тестирование. Моя система
 
Grail - CodeFest'2015
Grail - CodeFest'2015Grail - CodeFest'2015
Grail - CodeFest'2015
 
автоматизация тестирования с помощью Selenium
автоматизация тестирования с помощью Seleniumавтоматизация тестирования с помощью Selenium
автоматизация тестирования с помощью Selenium
 
Полуавтоматизация third-party API
Полуавтоматизация third-party APIПолуавтоматизация third-party API
Полуавтоматизация third-party API
 
Alexander manuhin selenium_php_v2.0
Alexander manuhin selenium_php_v2.0Alexander manuhin selenium_php_v2.0
Alexander manuhin selenium_php_v2.0
 

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

Тестируй это / Виктор Русакович (GP Solutions)
Тестируй это / Виктор Русакович (GP Solutions)Тестируй это / Виктор Русакович (GP Solutions)
Тестируй это / Виктор Русакович (GP Solutions)Ontico
 
OpenSource инструменты. Тестируем Web-приложения
OpenSource инструменты. Тестируем Web-приложенияOpenSource инструменты. Тестируем Web-приложения
OpenSource инструменты. Тестируем Web-приложенияlugnsk
 
«Тестируем веб приложения», Павел Сташевский
«Тестируем веб приложения», Павел Сташевский«Тестируем веб приложения», Павел Сташевский
«Тестируем веб приложения», Павел СташевскийDevDay
 
Технологии тестирования Rich Web client, Андрей Плешков, Форум Технологий Mai...
Технологии тестирования Rich Web client, Андрей Плешков, Форум Технологий Mai...Технологии тестирования Rich Web client, Андрей Плешков, Форум Технологий Mai...
Технологии тестирования Rich Web client, Андрей Плешков, Форум Технологий Mai...tfmailru
 
Unit test быстрый старт
Unit test быстрый стартUnit test быстрый старт
Unit test быстрый стартAntonio
 
Решения для автоматизации тестирования Web-приложений на базе Selenium
Решения для автоматизации тестирования Web-приложений на базе SeleniumРешения для автоматизации тестирования Web-приложений на базе Selenium
Решения для автоматизации тестирования Web-приложений на базе SeleniumSQALab
 
Человекопонятные отчёты
Человекопонятные отчётыЧеловекопонятные отчёты
Человекопонятные отчётыbearoff
 
2014-10-04 02 Владислав Безверхий. Mocha - покрой frontend по полной
2014-10-04 02 Владислав Безверхий. Mocha - покрой frontend по полной2014-10-04 02 Владислав Безверхий. Mocha - покрой frontend по полной
2014-10-04 02 Владислав Безверхий. Mocha - покрой frontend по полнойОмские ИТ-субботники
 
Основы и нюансы параллельного тестрования
Основы и нюансы параллельного тестрованияОсновы и нюансы параллельного тестрования
Основы и нюансы параллельного тестрованияbearoff
 
Артем Розуменко - "Как и зачем разрабатывать собственный фреймворк?"
Артем Розуменко - "Как и зачем разрабатывать собственный фреймворк?"Артем Розуменко - "Как и зачем разрабатывать собственный фреймворк?"
Артем Розуменко - "Как и зачем разрабатывать собственный фреймворк?"QA Dnepropetrovsk Community (Ukraine)
 
Client Side Autotesting Flash
Client Side Autotesting FlashClient Side Autotesting Flash
Client Side Autotesting Flashguestb0af15
 
What's new in selenium grid 4.0 expected
What's new in selenium grid 4.0 expectedWhat's new in selenium grid 4.0 expected
What's new in selenium grid 4.0 expectedDmitriy Gumeniuk
 
Positive Hack Days. Гольцев. Мастер - класс: Уязвимости Web – сложные случаи.
Positive Hack Days. Гольцев.  Мастер - класс: Уязвимости Web – сложные случаи.Positive Hack Days. Гольцев.  Мастер - класс: Уязвимости Web – сложные случаи.
Positive Hack Days. Гольцев. Мастер - класс: Уязвимости Web – сложные случаи.Positive Hack Days
 
Selenium 2.0: обзор новых возможностей
Selenium 2.0: обзор новых возможностейSelenium 2.0: обзор новых возможностей
Selenium 2.0: обзор новых возможностейPaul Stashevsky
 
Бодрящий микс из Selenium и TestNG- регрессионное тестирование руками разрабо...
Бодрящий микс из Selenium и TestNG- регрессионное тестирование руками разрабо...Бодрящий микс из Selenium и TestNG- регрессионное тестирование руками разрабо...
Бодрящий микс из Selenium и TestNG- регрессионное тестирование руками разрабо...Andrey Rebrov
 
Автоматизируйте это немедленно или коллекция инструментов автотестирования с ...
Автоматизируйте это немедленно или коллекция инструментов автотестирования с ...Автоматизируйте это немедленно или коллекция инструментов автотестирования с ...
Автоматизируйте это немедленно или коллекция инструментов автотестирования с ...Andrey Rebrov
 
Слои тестового фрамеворка. Что? Где? Когда?
Слои тестового фрамеворка. Что? Где? Когда?Слои тестового фрамеворка. Что? Где? Когда?
Слои тестового фрамеворка. Что? Где? Когда?COMAQA.BY
 
Плюсы и минусы автоматизации, пример из жизни
Плюсы и минусы автоматизации, пример из жизниПлюсы и минусы автоматизации, пример из жизни
Плюсы и минусы автоматизации, пример из жизниz-tech
 
iOS and Android Mobile Test Automation
iOS and Android Mobile Test AutomationiOS and Android Mobile Test Automation
iOS and Android Mobile Test AutomationAndrii Dzynia
 

Similar to Оценка качества автотестов (20)

Тестируй это / Виктор Русакович (GP Solutions)
Тестируй это / Виктор Русакович (GP Solutions)Тестируй это / Виктор Русакович (GP Solutions)
Тестируй это / Виктор Русакович (GP Solutions)
 
OpenSource инструменты. Тестируем Web-приложения
OpenSource инструменты. Тестируем Web-приложенияOpenSource инструменты. Тестируем Web-приложения
OpenSource инструменты. Тестируем Web-приложения
 
«Тестируем веб приложения», Павел Сташевский
«Тестируем веб приложения», Павел Сташевский«Тестируем веб приложения», Павел Сташевский
«Тестируем веб приложения», Павел Сташевский
 
Технологии тестирования Rich Web client, Андрей Плешков, Форум Технологий Mai...
Технологии тестирования Rich Web client, Андрей Плешков, Форум Технологий Mai...Технологии тестирования Rich Web client, Андрей Плешков, Форум Технологий Mai...
Технологии тестирования Rich Web client, Андрей Плешков, Форум Технологий Mai...
 
Unit test быстрый старт
Unit test быстрый стартUnit test быстрый старт
Unit test быстрый старт
 
Решения для автоматизации тестирования Web-приложений на базе Selenium
Решения для автоматизации тестирования Web-приложений на базе SeleniumРешения для автоматизации тестирования Web-приложений на базе Selenium
Решения для автоматизации тестирования Web-приложений на базе Selenium
 
Человекопонятные отчёты
Человекопонятные отчётыЧеловекопонятные отчёты
Человекопонятные отчёты
 
2014-10-04 02 Владислав Безверхий. Mocha - покрой frontend по полной
2014-10-04 02 Владислав Безверхий. Mocha - покрой frontend по полной2014-10-04 02 Владислав Безверхий. Mocha - покрой frontend по полной
2014-10-04 02 Владислав Безверхий. Mocha - покрой frontend по полной
 
Основы и нюансы параллельного тестрования
Основы и нюансы параллельного тестрованияОсновы и нюансы параллельного тестрования
Основы и нюансы параллельного тестрования
 
Артем Розуменко - "Как и зачем разрабатывать собственный фреймворк?"
Артем Розуменко - "Как и зачем разрабатывать собственный фреймворк?"Артем Розуменко - "Как и зачем разрабатывать собственный фреймворк?"
Артем Розуменко - "Как и зачем разрабатывать собственный фреймворк?"
 
бегун
бегунбегун
бегун
 
Client Side Autotesting Flash
Client Side Autotesting FlashClient Side Autotesting Flash
Client Side Autotesting Flash
 
What's new in selenium grid 4.0 expected
What's new in selenium grid 4.0 expectedWhat's new in selenium grid 4.0 expected
What's new in selenium grid 4.0 expected
 
Positive Hack Days. Гольцев. Мастер - класс: Уязвимости Web – сложные случаи.
Positive Hack Days. Гольцев.  Мастер - класс: Уязвимости Web – сложные случаи.Positive Hack Days. Гольцев.  Мастер - класс: Уязвимости Web – сложные случаи.
Positive Hack Days. Гольцев. Мастер - класс: Уязвимости Web – сложные случаи.
 
Selenium 2.0: обзор новых возможностей
Selenium 2.0: обзор новых возможностейSelenium 2.0: обзор новых возможностей
Selenium 2.0: обзор новых возможностей
 
Бодрящий микс из Selenium и TestNG- регрессионное тестирование руками разрабо...
Бодрящий микс из Selenium и TestNG- регрессионное тестирование руками разрабо...Бодрящий микс из Selenium и TestNG- регрессионное тестирование руками разрабо...
Бодрящий микс из Selenium и TestNG- регрессионное тестирование руками разрабо...
 
Автоматизируйте это немедленно или коллекция инструментов автотестирования с ...
Автоматизируйте это немедленно или коллекция инструментов автотестирования с ...Автоматизируйте это немедленно или коллекция инструментов автотестирования с ...
Автоматизируйте это немедленно или коллекция инструментов автотестирования с ...
 
Слои тестового фрамеворка. Что? Где? Когда?
Слои тестового фрамеворка. Что? Где? Когда?Слои тестового фрамеворка. Что? Где? Когда?
Слои тестового фрамеворка. Что? Где? Когда?
 
Плюсы и минусы автоматизации, пример из жизни
Плюсы и минусы автоматизации, пример из жизниПлюсы и минусы автоматизации, пример из жизни
Плюсы и минусы автоматизации, пример из жизни
 
iOS and Android Mobile Test Automation
iOS and Android Mobile Test AutomationiOS and Android Mobile Test Automation
iOS and Android Mobile Test Automation
 

More from SQALab

Готовим стажировку
Готовим стажировкуГотовим стажировку
Готовим стажировкуSQALab
 
Куда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщикаКуда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщикаSQALab
 
Оптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиОптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиSQALab
 
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияАвтоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияSQALab
 
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...SQALab
 
Continuous performance testing
Continuous performance testingContinuous performance testing
Continuous performance testingSQALab
 
Конфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нуженКонфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нуженSQALab
 
Команда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииКоманда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииSQALab
 
API. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовAPI. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовSQALab
 
Добиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовДобиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовSQALab
 
Делаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsДелаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsSQALab
 
Вредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеВредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеSQALab
 
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииМощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииSQALab
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеSQALab
 
Стили лидерства и тестирование
Стили лидерства и тестированиеСтили лидерства и тестирование
Стили лидерства и тестированиеSQALab
 
"Давайте не будем про качество"
"Давайте не будем про качество""Давайте не будем про качество"
"Давайте не будем про качество"SQALab
 
Apache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовApache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовSQALab
 
Тестирование геолокационных систем
Тестирование геолокационных системТестирование геолокационных систем
Тестирование геолокационных системSQALab
 
Лидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросЛидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросSQALab
 
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...SQALab
 

More from SQALab (20)

Готовим стажировку
Готовим стажировкуГотовим стажировку
Готовим стажировку
 
Куда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщикаКуда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщика
 
Оптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиОптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержки
 
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияАвтоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
 
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
 
Continuous performance testing
Continuous performance testingContinuous performance testing
Continuous performance testing
 
Конфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нуженКонфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нужен
 
Команда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииКоманда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихии
 
API. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовAPI. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советов
 
Добиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовДобиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестов
 
Делаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsДелаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIs
 
Вредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеВредные привычки в тест-менеджменте
Вредные привычки в тест-менеджменте
 
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииМощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
 
Стили лидерства и тестирование
Стили лидерства и тестированиеСтили лидерства и тестирование
Стили лидерства и тестирование
 
"Давайте не будем про качество"
"Давайте не будем про качество""Давайте не будем про качество"
"Давайте не будем про качество"
 
Apache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовApache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектов
 
Тестирование геолокационных систем
Тестирование геолокационных системТестирование геолокационных систем
Тестирование геолокационных систем
 
Лидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросЛидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопрос
 
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
 

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

  • 1. Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev Характеристики качества автотестов © 2015 Алексей Баранцев Software-Testing.Ru
  • 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. Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev Как оценить качество?
  • 4. Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev Серия стандаров 250NN
  • 5. Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev Серия стандартов 25000 • ГОСТ Р ИСО/МЭК 25010 – модель качества продукта – модель качества при использовании • ГОСТ Р ИСО/МЭК 25012 – модель качества данных
  • 6. Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev Цели моделей качества
  • 7. Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev ГОСТ Р ИСО/МЭК 25010
  • 8. Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev Функциональная пригодность • Функциональная полнота • Функциональная корректность • Функциональная целесообразность
  • 9. Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev Целесообразность
  • 10. Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev Функциональная пригодность • Функциональная полнота • Функциональная корректность • Функциональная целесообразность
  • 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. Алексей Баранцев 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. Алексей Баранцев 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. Алексей Баранцев 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. Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev Функциональная пригодность • Функциональная полнота • Функциональная корректность • Функциональная целесообразность
  • 16. Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev Уровень производительности • Временные характеристики • Использование ресурсов • Потенциальные возможности
  • 17. Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev Параллельность
  • 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. Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev Уровень производительности • Временные характеристики • Использование ресурсов • Потенциальные возможности
  • 20. Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev Та самая пирамида
  • 21. Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev Совместимость • Сосуществование • Интероперабельность
  • 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. Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev Oops… 
  • 24. Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev Совместимость • Сосуществование • Интероперабельность
  • 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. Алексей Баранцев 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. Алексей Баранцев 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. Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev Удобство использования • Определимость пригодности • Изучаемость • Управляемость • Защищенность от ошибки пользователя • Эстетика пользовательского интерфейса • Доступность
  • 29. Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev Пользовательский интерфейс
  • 30. Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev Доступность
  • 31. Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev Тоже доступность
  • 32. Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev Удобство использования • Определимость пригодности • Изучаемость • Управляемость • Защищенность от ошибки пользователя • Эстетика пользовательского интерфейса • Доступность
  • 33. Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev Надёжность • Завершённость • Готовность • Отказоустойчивость • Восстанавливаемость
  • 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. Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev Эффект домино
  • 36. Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev Защищённость • Конфиденциальность • Целостность • Неподдельность • Отслеживаемость • Подлинность
  • 37. Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev Переносимость • Адаптируемость • Устанавливаемость • Взаимозаменяемость
  • 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. Алексей Баранцев 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. Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev Сопровождаемость • Модульность • Возможность многократного использования • Анализируемость • Модифицируемость • Тестируемость
  • 41. Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ barancev@gmail.com skype:barancev Читайте хорошие книжки
  • 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/