Эффект specflow

14
Эффект SpecFlow Алёна Попова IndyCode [email protected] Вторая конференция .NET разработчиков

Upload: linnea

Post on 15-Jan-2016

108 views

Category:

Documents


0 download

DESCRIPTION

Вторая конференция .NET разработчиков. Эффект SpecFlow. Алёна Попова Indy Code [email protected]. План. Что такое тестовый сценарий ? Схема работы тестов Пример, как было до SpecFlow ( демо) Откуда взялся SpecFlow у нас ( демо) История развития проекта SpecFlow - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Эффект  SpecFlow

Эффект SpecFlow

Алёна ПоповаIndyCode

[email protected]

Вторая конференция .NET разработчиков

Page 2: Эффект  SpecFlow

План

1. Что такое тестовый сценарий?2. Схема работы тестов3. Пример, как было до SpecFlow (демо)4. Откуда взялся SpecFlow у нас (демо) 5. История развития проекта SpecFlow6. Преимущества использования

Page 3: Эффект  SpecFlow

Что такое тестовые сценарии?

Page 4: Эффект  SpecFlow

Схема работы тестов

База данных

xUnit

Web-приложение

Тестовый сценарий 1Тестовый сценарий 1

Тестовый сценарий 2Тестовый сценарий 2

Selenium

Page 5: Эффект  SpecFlow

Реализация тестового сценария[ExtendedFact]public void UserCanLogOn(){

const string userPassword = "123";

Account user = EmployeeWorkspaceDatabase.AddUser(Configuration.GenerateUniqueLogin(),

Configuration.GenerateUniqueName(),Configuration.GenerateUniqueName(),Configuration.GenerateUniqueName(), userPassword);

Website.LogOn(user.Login, userPassword);

Website.VerifyTextPresent(StringConstants.PersonalPage); Website.VerifyTextPresent(user.ShortName);

AssertExtensions.HasLog(user, AuthorizationActType.LogIn, DateTime.Now);}

Page 6: Эффект  SpecFlow

Проблемы этой реализации

1. Неуправляемый код в тестах

2. Сценарий и код в одном

3. Сценарий на C# приходится переводить на живой язык

Page 7: Эффект  SpecFlow

Решение проблем

Page 8: Эффект  SpecFlow

Тот же сценарий на огурцеФича: Log On

Ввeсти корректный логин и корректный пароль.

Предыстория:Дано заходим на форму авторизации

Сценарий: ввeсти корректный логин и корректный парольДано добавляем пользователя в базу данныхИ вводим корректный логинИ вводим корректный парольКогда пользователь нажимает кнопку ВходТогда пользователь попадает в личный кабинет

Page 9: Эффект  SpecFlow

Демо

Page 10: Эффект  SpecFlow

Преимущества

1. Разделение сценария и кода

2. Разделение работы по написанию сценария и его реализации

3. Сценарии на языке заказчика

4. Повторное использование шагов

Page 11: Эффект  SpecFlow
Page 12: Эффект  SpecFlow

Демо для продвинутых

• Параметры• Структура сценариев

Page 13: Эффект  SpecFlow

Mercurial

TeamCity

Отдел тестирования

SpecFlow и CI

Page 14: Эффект  SpecFlow

Спасибо за внимание

Алёна ПоповаIndyCode

[email protected]