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.

Подход к тестированию хранилища данных на базе MS SQL Server

1,072 views

Published on

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

Published in: Education
  • Be the first to comment

  • Be the first to like this

Подход к тестированию хранилища данных на базе MS SQL Server

  1. 1. Software quality assurance days 18 Международная конференция по вопросам качества ПО sqadays.com Москва. 27–28 ноября 2015 Юлия Крючкова Kaspersky Lab. Москва, Россия Подход к тестированию хранилища данных на базе MS SQL Server
  2. 2. Подход к тестированию хранилища данных на базе MS SQL Server IT DepartmentIT Department DWH Development
  3. 3. Подход к тестированию хранилища данных на базе MS SQL Server • Информационная БД • Содержит данные, поступающие из различных оперативных бд и внешних источников • Предназначена для подготовки отчётов и бизнес-анализа • Данные доступны только для чтения. Data WareHouse
  4. 4. Подход к тестированию хранилища данных на базе MS SQL Server Data Flow
  5. 5. Подход к тестированию хранилища данных на базе MS SQL Server Testing types  Интеграционное тестирование  Функциональное тестирование  Тестирование производительности  Регрессионное тестирование  Пользовательское приемочное тестирование
  6. 6. Подход к тестированию хранилища данных на базе MS SQL Server ??? Framework Choice ???
  7. 7. Подход к тестированию хранилища данных на базе MS SQL Server tSQLt  Изолированный запуск тестов  Удобство копирования теста с нуля  Удобство анализа результатов  Сравнение целых таблиц
  8. 8. Подход к тестированию хранилища данных на базе MS SQL Server 2 3 2 4 =
  9. 9. Подход к тестированию хранилища данных на базе MS SQL Server tSQLt. Integration Для облегчения создания тестов необходима библиотека, на которую должна быть ссылка в проекте тестов.
  10. 10. Подход к тестированию хранилища данных на базе MS SQL Server tSQLt. Test method [TestMethod] public void DWH_Etl_Dictionaries_Test_add() { // Добавить новую запись в источник. ApplyScript("DWH.Dictionaries.Test.source.add-source.sql"); // Добавить новую запись в ожидаемый набор ApplyScript("DWH.Dictionaries.Test.expected.add-expected.sql"); // Запустить пакет ExecSsis(packageName); // Проверить, что новая запись в DWH появилась. RunTest("[UnitTests]. [Test_Add]"); }
  11. 11. Подход к тестированию хранилища данных на базе MS SQL Server Procedure for a procedure Хранимая процедура для вычисления определённой сущности нуждается в написании отдельной хранимой процедуры для проверки полученного результата.
  12. 12. Подход к тестированию хранилища данных на базе MS SQL Server DECLARE @Values TABLE (@Data,@ EXPECTED) INSERT INTO @Values (@Data,@ EXPECTED) VALUES (тестовые данные, созданные с помощью PICT Tool) DECLARE date_cursor CURSOR FOR SELECT (@Data,@ EXPECTED) FROM @Values • • • SELECT @RES = [DWH.Stage].tmp_sales.GetSalesAccountingDate(@Data); EXEC tSQLt.AssertEquals @expected = @EXPECTED, @Actual = @RES, @message = @MES; • • • Procedure example
  13. 13. Подход к тестированию хранилища данных на базе MS SQL Server Test Manager
  14. 14. Подход к тестированию хранилища данных на базе MS SQL Server Run tests
  15. 15. Подход к тестированию хранилища данных на базе MS SQL Server Performance Testing  Определение предмета тестирования  Согласование цифр:  интервал времени запуска импорта;  скорость импорта данных;  объём исторических данных;  объём изменяющихся данных.
  16. 16. Подход к тестированию хранилища данных на базе MS SQL Server Test data via script INSERT INTO [dbo].[ProductList] ([ProductID], [ModifiedDate]) SELECT TOP 5000000 ROW_NUMBER() OVER (ORDER BY s1.[object_id]) ,GETUTCDATE() FROM [sys].all_columns s1 CROSS JOIN [sys].all_columns s2 GO INSERT INTO [dbo].[Sales] ([SalesGUID] ,[ProductID]) SELECT NEWID() ,[ProductID] FROM [dbo].[ProductList] GO
  17. 17. Подход к тестированию хранилища данных на базе MS SQL Server Test data via ETL
  18. 18. Подход к тестированию хранилища данных на базе MS SQL Server UAT  Заказчик определяет Критерии приемки  Заказчик определяет Сущности («разрез» данных) приемки  Заказчик определяет реестр приемлемых расхождений
  19. 19. Подход к тестированию хранилища данных на базе MS SQL Server Problems В тесте возможно запустить пакет только из одного SSIS проекта. <profiles> <user name="kryuchkova" ssis-packages-location = "..........SourceEtlDWH.Etl.DictionariesbinDevelopmentDWH.Etl.Dictionaries.ispac“ ssis-packages-config="E:..........SourceEtlConfigurationsKryuchkova.dtsConfig“ connection="Data Source=testdb.ru;Initial Catalog=DWH;Integrated Security=True;Pooling=False"> </user> </profiles>
  20. 20. Подход к тестированию хранилища данных на базе MS SQL Server The end … Фиксация тест-кейсов Автоматизация основной логики процесса Ручные тесты имеют место быть Согласование UAT в начале проекта Особое внимание уделить тестированию производительности
  21. 21. Подход к тестированию хранилища данных на базе MS SQL Server

×