Эффект specflow
DESCRIPTION
Вторая конференция .NET разработчиков. Эффект SpecFlow. Алёна Попова Indy Code [email protected]. План. Что такое тестовый сценарий ? Схема работы тестов Пример, как было до SpecFlow ( демо) Откуда взялся SpecFlow у нас ( демо) История развития проекта SpecFlow - PowerPoint PPT PresentationTRANSCRIPT
План
1. Что такое тестовый сценарий?2. Схема работы тестов3. Пример, как было до SpecFlow (демо)4. Откуда взялся SpecFlow у нас (демо) 5. История развития проекта SpecFlow6. Преимущества использования
Что такое тестовые сценарии?
Схема работы тестов
База данных
xUnit
Web-приложение
Тестовый сценарий 1Тестовый сценарий 1
Тестовый сценарий 2Тестовый сценарий 2
…
Selenium
Реализация тестового сценария[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);}
Проблемы этой реализации
1. Неуправляемый код в тестах
2. Сценарий и код в одном
3. Сценарий на C# приходится переводить на живой язык
Решение проблем
Тот же сценарий на огурцеФича: Log On
Ввeсти корректный логин и корректный пароль.
Предыстория:Дано заходим на форму авторизации
Сценарий: ввeсти корректный логин и корректный парольДано добавляем пользователя в базу данныхИ вводим корректный логинИ вводим корректный парольКогда пользователь нажимает кнопку ВходТогда пользователь попадает в личный кабинет
Демо
Преимущества
1. Разделение сценария и кода
2. Разделение работы по написанию сценария и его реализации
3. Сценарии на языке заказчика
4. Повторное использование шагов
Демо для продвинутых
• Параметры• Структура сценариев
Mercurial
TeamCity
Отдел тестирования
SpecFlow и CI