SlideShare a Scribd company logo
1 of 55
Download to read offline
Тестирование
в Business Intelligence проектах
     Дмитрий Романов. Itera Consulting
        dmitriy.romanov@gmail.com
Тестирование в BI проектах. Содержание.

Часть 1. Что такое Business Intelligence

Microsoft Business Intelligence Technology Stack
    - Extraction-Transformation-Load
    - Analytical Services
    - Reporting Services

Тестирование в BI проектах
    - Задачи
    - Особенности
    - Сложности тестирования

Основные вызовы стоящие перед QA в BI

Часть 2. Пример построения Framework для юнит
тестирования

Заключение
Тестирование в BI проектах

Часть 1. Что такое Business Intelligence

Microsoft Business Intelligence Technology Stack
    - Extraction-Transformation-Load
    - Analytical Services
    - Reporting Services

Тестирование в BI проектах
    - Задачи
    - Особенности
    - Сложности тестирования

Основные вызовы стоящие перед QA в BI

Часть 2. Пример построения Framework для юнит
тестирования

Заключение
Что такое Business Intelligence

Business intelligence (BI) это широкая категория
приложений и технологий для сбора, хранения, анализа
и предоставления доступа к данным

Data Warehouse (DWH) – централизованный
репозиторий который содержит данные с различных
источников и транформирует их в общепринятую,
многомерную модель данных для эффективного анализа


ETL (от англ. Extract, Transform, Load) — один из
основных процессов в управлении DWH, который включает в
себя:
- извлечение данных из внешних источников;
- их трансформация и очистка
- загрузка их в хранилище данных
Что такое Business Intelligence
2012 Gartner Magic Quadrant for BI Platforms
Тестирование в BI проектах

Часть 1. Что такое Business Intelligence

Microsoft Business Intelligence Technology Stack
    - Extraction-Transformation-Load
    - Analytical Services
    - Reporting Services

Тестирование в BI проектах
    - Задачи
    - Особенности
    - Сложности тестирования

Основные вызовы стоящие перед QA в BI

Часть 2. Пример построения Framework для юнит
тестирования

Заключение
Тестирование в BI проектах

Часть 1. Что такое Business Intelligence

Microsoft Business Intelligence Technology Stack
    - Extraction-Transformation-Load
    - Analytical Services
    - Reporting Services

Тестирование в BI проектах
    - Задачи
    - Особенности
    - Сложности тестирования

Основные вызовы стоящие перед QA в BI

Часть 2. Пример построения Framework для юнит
тестирования

Заключение
Что такое Business Intelligence


                Microsoft BI




    Database                   Reporting
     Engine                    Services
               Integration
                Services



                Analytical
                Services
Что такое Business Intelligence




                                  Analysis
                      SSIS




           Database           Reporting
Database Services. Особенности

                                      Как ведется разработка ?
     DB
                                             Что тестировать ?

                     Какой существует тест-инструментарий ?


  Development:
  - Performed in T-SQL
  - Results stored in Database
                                  What to test:
                                  -   Stored procedures
                                  -   DB constrains
                                  -   Deployment routine
Test tools:                       -   Integrity & System tests
- DB related frameworks*          -   Performance
*DBUnit, DBTestUnit, …
Reporting Services. Особенности

                                     Как ведется разработка ?
              SSRS
                                            Что тестировать ?

                       Какой существует тест-инструментарий ?

  Development:
  - Performed in VS Designer
  - Displayed in browser

                                    What to test:
                                    - Page layout
                                    - Performance
Test tools:                         - Report values ?
- Web testing tools*
*Selenium, QTP, TestComplete,…
Integration Services. Особенности

                                 Как ведется разработка ?

      SSIS                             Что тестировать ?

                 Какой существует тест-инструментарий ?


Development:
- Performed in SSIS Designer
- Results stored in database
Integration Services



             SSIS



Extract
Извлечение данных из источников данных

Transformation
Может включать в себя очистку, фильтрацию,
валидацию, применение бизнес логики

Load
Загрузку уже        подготовленных   данных   в
warehouse.
Integration Services


                         Source




                         ETL




                         Data
                       Warehouse
Integration Services

                       Development:
                       Drag-&-Drop programming
   SSIS
                       .Net language scripts support
                       SQL scripts support
Integration Services. Особенности

                                      Как ведется разработка ?

            SSIS                              Что тестировать ?

                        Какой существует тест-инструментарий ?


    Development:
    - Performed in SSIS Designer
    - Results stored in database
                                        What to test:
                                        -   ETL logic*
Test tools:                             -   Integration testing
- No tools available                    -   System testing
- No compatibility between ETL          -   Performance
vendors                                 -   …
Analytical Services. Особенности

                                    Как ведется разработка ?

                                          Что тестировать ?

       SSAS        Какой существует тест-инструментарий ?


Development:
- Multi Dimensional Query (MDX)
  language
- Results stored in SSAS database
Analytical Processing
Analysis Services. Особенности

                                          Как ведется разработка ?

                                                   Что тестировать ?

                           Какой существует тест-инструментарий ?
           SSAS


  Development:
  -   Multi Dimensional Query (MDX)
      language
  -   Results stored in SSAS database


                                        What to test:
Test tools:                             - Facts-to-Dimensional Links
- No tools available                    - Aggregation rules validation
- No compatibility between ETL          - Calculation rules validation
vendors
Тестирование в BI проектах

Часть 1. Что такое Business Intelligence

Microsoft Business Intelligence Technology Stack
    - Extraction-Transformation-Load
    - Analytical Services
    - Reporting Services

Тестирование в BI проектах
    - Задачи
    - Особенности
    - Сложности тестирования

Основные вызовы стоящие перед QA в BI

Часть 2. Пример построения Framework для юнит
тестирования

Заключение
Тестирование в BI проектах

Часть 1. Что такое Business Intelligence

Microsoft Business Intelligence Technology Stack
    - Extraction-Transformation-Load
    - Analytical Services
    - Reporting Services

Тестирование в BI проектах
    - Задачи
    - Особенности
    - Сложности тестирования

Основные вызовы стоящие перед QA в BI

Часть 2. Пример построения Framework для юнит
тестирования

Заключение
Тестирование в BI проектах


Особенности
- Загрузка данных в несколько этапов
- Часто видимый результат только в конце
- Поэтапное тестирование для раннего и точного
обнаружения
- Автоматизация тестирования – необходима
- Часто тестирование проводится самими разработчиками
- До 60% тестирования призодится на ETL
Тестирование в BI проектах

Часть 1. Что такое Business Intelligence

Microsoft Business Intelligence Technology Stack
    - Extraction-Transformation-Load
    - Analytical Services
    - Reporting Services

Тестирование в BI проектах
    - Задачи
    - Особенности
    - Сложности тестирования

Основные вызовы стоящие перед QA в BI

Часть 2. Пример построения Framework для юнит
тестирования

Заключение
Тестирование в BI проектах

Часть 1. Что такое Business Intelligence

Microsoft Business Intelligence Technology Stack
    - Extraction-Transformation-Load
    - Analytical Services
    - Reporting Services

Тестирование в BI проектах
    - Задачи
    - Особенности
    - Сложности тестирования

Основные вызовы стоящие перед QA в BI

Часть 2. Пример построения Framework для юнит
тестирования

Заключение
Основные вызовы которые стоят перед QA

Технические:

1. Большой объем данных.
В среде BI введен термин – «Big Data».

2. Не устоявшиеся стандарты разработки.
У BI нет своего «SQL-92» стандарта

3. Отсутствие инcтрументов тестирования, а
использование существующих не всегда
продуктивно



                               Организационные:

                               1. Недостаток ресурсов. Как
                               человеческих так и технических.

                               2. Недостаток четкости требований в
                               ходе разработки
Тестирование в BI проектах

Часть 1. Что такое Business Intelligence

Microsoft Business Intelligence Technology Stack
    - Extraction-Transformation-Load
    - Analytical Services
    - Reporting Services

Тестирование в BI проектах
    - Задачи
    - Особенности
    - Сложности тестирования

Основные вызовы стоящие перед QA в BI

Часть 2. Пример построения Framework для юнит
тестирования

Заключение
Тестирование в BI проектах

Часть 1. Что такое Business Intelligence

Microsoft Business Intelligence Technology Stack
    - Extraction-Transformation-Load
    - Analytical Services
    - Reporting Services

Тестирование в BI проектах
    - Задачи
    - Особенности
    - Сложности тестирования

Основные вызовы стоящие перед QA в BI

Часть 2. Пример построения Framework-а для тестирования в
BI проектах

Заключение
Business Intelligence Project




    Пример построения
фреймворка для тестирования
       в BI проекте
Reports
       MSSQL
         2K
CRM   Database     IBM DB2
                   Database    Olap
                              Analysis
ERP
          “Old”
          DWH
OPS
                               Data
                              Mining


             CRM
Business Intelligence Project
Business Intelligence Project


Initial Project state:
- Lots of running applications and businesses relayed on them

-   We are focused on ETL development for enterprise level DWH

-   Old systems should be switched off and dataflows should be
    switched to enterprise DWH.



Challenges:
   - Lots of legacy systems, different product versions, solution
vendors, lack of documentation
   - Time-shared test environments => time limitations for QA stage.
   - Migration should be “transparent” for running businesses
General Data Flow


                                                                                                      File
Source                                            DWH
system



         1:1 copy
USB                                                                                   Mapping &
                                                                                      report logic
                           ETL          ETL                   ETL

                                                                    Data-                            Report
                    STG1         STG2                                       Cube
                                              DataWarehouse         mart


                                                                                   Mapping &
         1:1 copy                                                                  report logic
Pro
Link




                                                                                                     Report
Error Sources


                                                                                                                                                    File
Source                                                              DWH
system

USB              1:1 kopi
                                                                                                                                    Mapping &
                                                                                                                                    report logic
                                    ETL             ETL                                 ETL
                                                                                                 Data-                                             Report
                            STG1          STG2                                                                         Cube
                                                           DataWarehouse                         mart

                                                                                                                                 Mapping &
Pro              1:1 kopi                                                                                                        report logic
Link



                               SourceOfErrorIII
                                 Staging 2                                                                                                         Report
          SourceOfErrorII                         SourceOfErrorIV                    SourceOfErrorVI     SourceOfErrorVII
            Staging 1                               ETL DWH                           ETL Datamart          ETL Cube




                                                                                                                              SourceOfErrorVIII
SourceOfErrorI                                                                                                                  Repots/ File
SourceSystem                                                        SourceOfErrorV
                                                                        DWH
Test Level approach



                                  Unit test                                 Integration             Non-functional             System test/
                                                          Unit test
        Design test                                                             test                     test                  Acceptance
                                Source system               DWH                 (E2E)                    (E2E)                     test




                                                                                              Performance
Business design:                                Data completeness                             • Initial load
• Design requirements                           • Format                                      • Incremental load
• Business terms                                • All rows                                    • Load of data with failure
• Targets (Number,                              • All fields                                  intensity
Currency, Amount,
Percentage)                                     Data transformation                           Interruption with load
• Periods, Format,                              • Business rules
Testdata                                        • Design spesification                        Stress (e.g. 5 days load)

                                                Data quality
                  Data completeness                                                                                         • Reports
                                                • Validation Rules
                  • Format                                               • interaction between                              • Cubes
                                                • Errorlogg
                  • All rows                                             components                                         • Files
                  • All fields                                           • Ensure data flow                                 • Access Control
                                                Configuration
                  • Values in all fields                                 through each part of the                           • Operating procedures incl
                                                Master package           system chain                                          • error handling
                  Data transformation                                    (touchpoints)                                         • logging
                  • Business rules
                  • Design spesification
                                                                                                                               • monitoring
Where ETL Test Automation starts



                             Unit test                            Integration          Non-functional   System test/
                                                    Unit test
Design test                                                           test                  test        Acceptance
                       Source system                   DWH           (E2E)                   (E2E)          test




                                         Data completeness
                                         • Format
                                         • All rows
                                         • All fields
                                         • Values in all fields

                                         Data transformation
                                         • Business rules
                                         • Design spesification

    Data completeness                    Data quality
    • Format                             • Validation Rules           • interaction between
    • All rows                           • Errorlogg                  components
    • All fields                                                      • Ensure data flow
    • Values in all fields               Configuration                through each part of the
                                                                      system chain
    Data transformation                  Master package               (touchpoints)
    • Business rules
    • Design spesification
Error Sources


                                                                                                                                                    File
Source                                                              DWH
system

USB              1:1 kopi
                                                                                                                                    Mapping &
                                                                                                                                    report logic
                                    ETL             ETL                                 ETL
                                                                                                 Data-                                             Report
                            STG1          STG2                                                                         Cube
                                                           DataWarehouse                         mart

                                                                                                                                 Mapping &
Pro              1:1 kopi                                                                                                        report logic
Link



                               SourceOfErrorIII
                                 Staging 2                                                                                                         Report
          SourceOfErrorII                         SourceOfErrorIV                    SourceOfErrorVI     SourceOfErrorVII
            Staging 1                               ETL DWH                           ETL Datamart          ETL Cube




                                                                                                                              SourceOfErrorVIII
SourceOfErrorI                                                                                                                  Repots/ File
SourceSystem                                                        SourceOfErrorV
                                                                        DWH
Error Sources from ETL perspective


                                                                                                                     File
Source                                                          DWH
system

USB         1:1 kopi
                                                                                                     Mapping &
                                                                                                     report logic
                                ETL             ETL                       ETL
                                                                                   Data-                            Report
                       STG1           STG2                                                 Cube
                                                       DataWarehouse               mart

                                                                                                  Mapping &
Pro         1:1 kopi                                                                              report logic
Link



                           SourceOfErrorIII
                             Staging 2                                                                              Report
         SourceOfErrorII                      SourceOfErrorIV          SourceOfErrorVI
           Staging 1                            ETL DWH                 ETL Datamart
Test automation framework. Tools selection


- Keep things simple for customer. BI developers would not
  learn C# or other programming language

- Reuse existing approaches for configuration, Logging, error
  handling




                                  Error

   SSIS Development             SSIS Unit test
       Framework                   framework
    Test automation framework. Tool selection
                       Log


                                      Config
Test automation framework. Structure



                       Data Quality Test
                                            Configuration
                                            Logging
 Core/Test Interface
                                            Error Handling




                          Core
   SSIS                                    SQL based test
Package Test
Test automation framework. Control package




                                                     Tests
                                                  Parameters
                                                    loading


Prepare variables with params for                Test Cases &
current testcase execution                        Test params
                                                 sets arranging


                                                  For each Test
       Run UnitTest
                                                    case loop
       package
                                                    container


            Test automation framework. Control package
         Run “Log Test                                 Connections
         Result” package                               configured via
                                                       “Package
                                                       Configuration”
Four-phase test




Main idea:
- Prepare initial data
- Execute package under test (PUT)
- Validate transferred data
- Clean up database
Four-phase test. Test scenarios


Test Type              Description

Row Count              Ensures that count of tranfered rows are
                       as expected

Boundary values        Min & Max values for numeric fields.
                       Min/max length for varchar fields

NULL value             Try NULL values where its possible


Out-Of-Type boundary   Misplaced data
value
             Four-Phase test case structure
Business Logic         Test Joins, Keys generation, Mapping,
                       Cleansing

Random values load     Loading randomly generated values test
Row Count test design example


Purpose: Ensures that number of arrived rows is exactly as
expected
Step-by-step test construction. “Setup” phase


Purpose: Place test data into source table
“Setup” phase. PRE- execution file example

DELETE from PG.STG1_Tegning
GO
insert
PG.STG1_Tegning(ENGMENT_NUM,DISTRIBUTOR_KDE,ISIN_NUM,EMISJON_NUM,VPS_KTO_NUM,TREKK_KTO_NUM,UTB
YTTE_KTO_NUM,TEGNING_DAT,INVESTERT_KAP_BEL,TEGN_OMKOSTN_PST,STATUS_KDE,SELGER_SGN,SELGER_NVN,
SELGER_EMAIL_ADR,SELGER_2_SGN,SELGER_2_NVN,SELGER_2_EMAIL_ADR,PROVISJ_SELSK_NUM,PROVISJ_KJORT_
DAT,REG_SGN,REG_TMS,SIST_ENDRET_SGN,SIST_ENDRET_TMS,KOMMENTAR_TXT,SELGER_FNR_NUM,SELGER_2_FN
R_NUM,Lastet_dat) values(1111111111111 ','06','NO0010291933',6,'091000836907',15942971696,15942971696,'Nov 14 2006
12:00AM',150000.00000000,2.700,'2','AEA',„XXXXXXXXXX',null,null,null,null,1,'Jan 9 2007 12:00AM','UCJ','Nov 14 2006
4:53PM','ZRR','Jan 9 2007 8:13AM',null,null,null,'Jan 13 2012 11:41AM')
insert
PG.STG1_Tegning(ENGMENT_NUM,DISTRIBUTOR_KDE,ISIN_NUM,EMISJON_NUM,VPS_KTO_NUM,TREKK_KTO_NUM,UTB
YTTE_KTO_NUM,TEGNING_DAT,INVESTERT_KAP_BEL,TEGN_OMKOSTN_PST,STATUS_KDE,SELGER_SGN,SELGER_NVN,
SELGER_EMAIL_ADR,SELGER_2_SGN,SELGER_2_NVN,SELGER_2_EMAIL_ADR,PROVISJ_SELSK_NUM,PROVISJ_KJORT_
DAT,REG_SGN,REG_TMS,SIST_ENDRET_SGN,SIST_ENDRET_TMS,KOMMENTAR_TXT,SELGER_FNR_NUM,SELGER_2_FN
R_NUM,Lastet_dat) values(„1111111111111','06','NO0010291933',6,'091000823988',91001854181,91001215421,'Nov 15 2006
12:00AM',150000.00000000,2.700,'2','FUS',' XXXXXXXXXX ',null,null,null,null,1,'Jan 9 2007 12:00AM','EI7','Nov 15 2006
9:27AM','ZRR','Jan 9 2007 8:13AM',null,null,null,'Jan 13 2012 11:41AM')
insert
PG.STG1_Tegning(ENGMENT_NUM,DISTRIBUTOR_KDE,ISIN_NUM,EMISJON_NUM,VPS_KTO_NUM,TREKK_KTO_NUM,UTB
YTTE_KTO_NUM,TEGNING_DAT,INVESTERT_KAP_BEL,TEGN_OMKOSTN_PST,STATUS_KDE,SELGER_SGN,SELGER_NVN,
SELGER_EMAIL_ADR,SELGER_2_SGN,SELGER_2_NVN,SELGER_2_EMAIL_ADR,PROVISJ_SELSK_NUM,PROVISJ_KJORT_
DAT,REG_SGN,REG_TMS,SIST_ENDRET_SGN,SIST_ENDRET_TMS,KOMMENTAR_TXT,SELGER_FNR_NUM,SELGER_2_FN
R_NUM,Lastet_dat) values(1111111111111 ','81','NO0010291933',6,'091000836915',10901034414,10901034414,'Nov 15 2006
12:00AM',100000.00000000,2.700,'2','FWS',' XXXXXXXXXX ',null,null,null,null,1,'Jan 9 2007 12:00AM','EI7','Nov 15 2006
9:33AM','ZRR','Jan 9 2007 9:24AM','selger: helge johansen',null,null,'Jan 13 2012 11:41AM')
Insert
…..
GO
update statistics PG.STG1_Tegning
GO
Step-by-step test construction. “Exercise” phase


Purpose: Perform data transfer by invoking Package Under
Test (PUT)
Step-by-step test construction. “Exercise” phase

Package Under Test (PUT) lunching from test runner

All we need is correct setup:

<test>
          <name>
                  [STG2_FAK_Beholdning_128.dtsx].[Row count]
          </name>
          <description>
                  RowCount ETL unit test
          </description>
          <params>
                  <param name='TestType' type='String' value="unitTest"/>
                  <param name='UnitTestPackage' value='UnitTestRunner.dtsx'/>
                  <param name='ConnectionManager' type='String' value='STAGING OleDb'/>
                  <param name='schema' type='String' value='dbo'/>
                  <param name='table' type='String' value='STG2_FAK_Beholdning_128'/>
                  <param name='PackageUnderTest' type='String' value='STG2_FAK_Beholdning_128.dtsx'/>
                  <param name='PackagesPath' type='String' value=’MainETLSSISFinancial InstrumentsEiendomOptimer'/>
                  <param name='tag' type='String' value='staging2'/>
                  <param name='dummy'/>
          </params>
</test>
Step-by-step test construction. “Verify” phase


Purpose: Run assertion statement in T-SQL
Step-by-step test construction. “Verify” phase


1.Put names of schema and table in test parameters.
All we need is correct setup:
<test>
             …
       <params>
             …
                 <param name='schema' type='String' value='dbo'/>
                 <param name='table' type='String' value='STG2_FAK_Beholdning_128'/>
             …
       </params>
</test>

2. Put expected row count in CheckRows template.
-----------
-- Test SQL logic
SET @Statement = '
DECLARE @Test_Result varchar(8000)
DECLARE @Test_Severity INT

DECLARE @exp_value int
DECLARE @act_value int


SET @exp_value = 20 --place expected value there
Step-by-step test construction. “Teardown” phase


Purpose: Clean tables
Тестирование в BI проектах


Business Intelligence - интересная область в разработке
программного обеспечения.

Тестирование здесь особенно критично, т.к. данные
предоставляемые BI напрямую влияют на принятие решений

Работая в условиях BigData, хороший тестировщик просто обречен
использовать автоматизацию в своей работе

На сегодня готовых фреймворков для помощи в такой работе нет

Мы рассмотрели пример создания такого фреймворка для
тестирования ETL от Microsoft с использованием SSIS

Что дальше ? Развитие фреймворка, создание новых тестов, ...

Портирование фреймворка под BI системы других производителей
Тестирование в BI проектах


Часть 1. Что такое Business Intelligence

Microsoft Business Intelligence Technology Stack
    - Extraction-Transformation-Load
    - Analytical Services
    - Reporting Services

Тестирование в BI проектах
    - Задачи
    - Особенности
    - Сложности тестирования

Основные вызовы стоящие перед QA в BI

Часть 2. Пример построения Framework для юнит
тестирования
Тестирование в BI проектах
Тестирование
в Business Intelligence проектах
     Дмитрий Романов. Itera Consulting
        dmitriy.romanov@gmail.com

More Related Content

What's hot

Аналитик и Тестировщик в одном лице – путь к качеству (Максим Цепков, SQA Day...
Аналитик и Тестировщик в одном лице – путь к качеству (Максим Цепков, SQA Day...Аналитик и Тестировщик в одном лице – путь к качеству (Максим Цепков, SQA Day...
Аналитик и Тестировщик в одном лице – путь к качеству (Максим Цепков, SQA Day...CUSTIS
 
Oracle - Технологии Oracle для управления бизнесс-процессами
Oracle - Технологии Oracle для управления бизнесс-процессамиOracle - Технологии Oracle для управления бизнесс-процессами
Oracle - Технологии Oracle для управления бизнесс-процессамиExpolink
 
Доклад Андрея Холинова на SPCUA 2012
Доклад Андрея Холинова на SPCUA 2012Доклад Андрея Холинова на SPCUA 2012
Доклад Андрея Холинова на SPCUA 2012Lizard Soft
 
Продуктивная разработка Java EE-приложений с применением Oracle ADF
Продуктивная разработка Java EE-приложений с применением Oracle ADFПродуктивная разработка Java EE-приложений с применением Oracle ADF
Продуктивная разработка Java EE-приложений с применением Oracle ADFDmitry Nefedkin
 
Андрей Кощеев - Мастерство управления качеством в полном цикле разработки
Андрей Кощеев - Мастерство управления качеством в полном цикле разработкиАндрей Кощеев - Мастерство управления качеством в полном цикле разработки
Андрей Кощеев - Мастерство управления качеством в полном цикле разработкиSQALab
 
Внедрение CASE-технологий
Внедрение CASE-технологийВнедрение CASE-технологий
Внедрение CASE-технологийОтшельник
 

What's hot (9)

Аналитик и Тестировщик в одном лице – путь к качеству (Максим Цепков, SQA Day...
Аналитик и Тестировщик в одном лице – путь к качеству (Максим Цепков, SQA Day...Аналитик и Тестировщик в одном лице – путь к качеству (Максим Цепков, SQA Day...
Аналитик и Тестировщик в одном лице – путь к качеству (Максим Цепков, SQA Day...
 
Oracle - Технологии Oracle для управления бизнесс-процессами
Oracle - Технологии Oracle для управления бизнесс-процессамиOracle - Технологии Oracle для управления бизнесс-процессами
Oracle - Технологии Oracle для управления бизнесс-процессами
 
Доклад Андрея Холинова на SPCUA 2012
Доклад Андрея Холинова на SPCUA 2012Доклад Андрея Холинова на SPCUA 2012
Доклад Андрея Холинова на SPCUA 2012
 
Продуктивная разработка Java EE-приложений с применением Oracle ADF
Продуктивная разработка Java EE-приложений с применением Oracle ADFПродуктивная разработка Java EE-приложений с применением Oracle ADF
Продуктивная разработка Java EE-приложений с применением Oracle ADF
 
голубушин
голубушинголубушин
голубушин
 
Андрей Кощеев - Мастерство управления качеством в полном цикле разработки
Андрей Кощеев - Мастерство управления качеством в полном цикле разработкиАндрей Кощеев - Мастерство управления качеством в полном цикле разработки
Андрей Кощеев - Мастерство управления качеством в полном цикле разработки
 
L2 requirements
L2 requirementsL2 requirements
L2 requirements
 
Sep reqm-lec1
Sep reqm-lec1Sep reqm-lec1
Sep reqm-lec1
 
Внедрение CASE-технологий
Внедрение CASE-технологийВнедрение CASE-технологий
Внедрение CASE-технологий
 

Viewers also liked

формализация смысла комических текстов через концепцию инвективных имен
формализация смысла комических текстов через концепцию инвективных именформализация смысла комических текстов через концепцию инвективных имен
формализация смысла комических текстов через концепцию инвективных именYury Katkov
 
Адаптивный кейс-менеджмент (ACM) vs. BPM и ECM (СЭД)
Адаптивный кейс-менеджмент (ACM) vs. BPM и ECM (СЭД)Адаптивный кейс-менеджмент (ACM) vs. BPM и ECM (СЭД)
Адаптивный кейс-менеджмент (ACM) vs. BPM и ECM (СЭД)PayDox
 
«С канцелярией или без? Два стиля управления в СЭД» вебинар серии Practicum D...
«С канцелярией или без? Два стиля управления в СЭД» вебинар серии Practicum D...«С канцелярией или без? Два стиля управления в СЭД» вебинар серии Practicum D...
«С канцелярией или без? Два стиля управления в СЭД» вебинар серии Practicum D...DIRECTUM
 
Обзор рекомендаций W3C
Обзор рекомендаций W3CОбзор рекомендаций W3C
Обзор рекомендаций W3CGetDev.NET
 
школа открытых данны. открытые базы знаний и семантические вики
школа открытых данны. открытые базы знаний и семантические викишкола открытых данны. открытые базы знаний и семантические вики
школа открытых данны. открытые базы знаний и семантические викиOlga Romanova
 
Прагматическое введение в Linked data - применения. Поиск данных
Прагматическое введение в Linked data - применения. Поиск данныхПрагматическое введение в Linked data - применения. Поиск данных
Прагматическое введение в Linked data - применения. Поиск данныхYury Katkov
 
Practicum DIRECTUM. Прощание с бумагой. Расставляем все точки над "i"
Practicum DIRECTUM. Прощание с бумагой. Расставляем все точки над "i"Practicum DIRECTUM. Прощание с бумагой. Расставляем все точки над "i"
Practicum DIRECTUM. Прощание с бумагой. Расставляем все точки над "i"DIRECTUM
 
IBM ECM & Discovery Strategy
IBM ECM & Discovery StrategyIBM ECM & Discovery Strategy
IBM ECM & Discovery StrategyIBM IBM
 
Вебинар "Practicum DIRECTUM. Lean + ECM = рецепт офисной кухни"
Вебинар "Practicum DIRECTUM. Lean + ECM = рецепт офисной кухни"Вебинар "Practicum DIRECTUM. Lean + ECM = рецепт офисной кухни"
Вебинар "Practicum DIRECTUM. Lean + ECM = рецепт офисной кухни"DIRECTUM
 
DIRECTUM: возможности системы электронного документооборота
DIRECTUM: возможности системы электронного документооборотаDIRECTUM: возможности системы электронного документооборота
DIRECTUM: возможности системы электронного документооборотаDIRECTUM
 
Презентация - Обзор BPM CBOK
Презентация - Обзор BPM CBOK Презентация - Обзор BPM CBOK
Презентация - Обзор BPM CBOK Andrey Koptelov
 
Никита Налютин, Антон Александров - Управление рисками тестирования
Никита Налютин, Антон Александров - Управление рисками тестированияНикита Налютин, Антон Александров - Управление рисками тестирования
Никита Налютин, Антон Александров - Управление рисками тестированияSQALab
 
Риски в тестировании
Риски в тестированииРиски в тестировании
Риски в тестированииISsoft
 
Собеседование на позицию бизнес-аналитика
Собеседование на позицию бизнес-аналитикаСобеседование на позицию бизнес-аналитика
Собеседование на позицию бизнес-аналитикаSQALab
 
Тестирование как управление рисками продукта
Тестирование как управление рисками продуктаТестирование как управление рисками продукта
Тестирование как управление рисками продуктаSQALab
 

Viewers also liked (17)

формализация смысла комических текстов через концепцию инвективных имен
формализация смысла комических текстов через концепцию инвективных именформализация смысла комических текстов через концепцию инвективных имен
формализация смысла комических текстов через концепцию инвективных имен
 
Адаптивный кейс-менеджмент (ACM) vs. BPM и ECM (СЭД)
Адаптивный кейс-менеджмент (ACM) vs. BPM и ECM (СЭД)Адаптивный кейс-менеджмент (ACM) vs. BPM и ECM (СЭД)
Адаптивный кейс-менеджмент (ACM) vs. BPM и ECM (СЭД)
 
«С канцелярией или без? Два стиля управления в СЭД» вебинар серии Practicum D...
«С канцелярией или без? Два стиля управления в СЭД» вебинар серии Practicum D...«С канцелярией или без? Два стиля управления в СЭД» вебинар серии Practicum D...
«С канцелярией или без? Два стиля управления в СЭД» вебинар серии Practicum D...
 
Обзор рекомендаций W3C
Обзор рекомендаций W3CОбзор рекомендаций W3C
Обзор рекомендаций W3C
 
школа открытых данны. открытые базы знаний и семантические вики
школа открытых данны. открытые базы знаний и семантические викишкола открытых данны. открытые базы знаний и семантические вики
школа открытых данны. открытые базы знаний и семантические вики
 
Прагматическое введение в Linked data - применения. Поиск данных
Прагматическое введение в Linked data - применения. Поиск данныхПрагматическое введение в Linked data - применения. Поиск данных
Прагматическое введение в Linked data - применения. Поиск данных
 
Practicum DIRECTUM. Прощание с бумагой. Расставляем все точки над "i"
Practicum DIRECTUM. Прощание с бумагой. Расставляем все точки над "i"Practicum DIRECTUM. Прощание с бумагой. Расставляем все точки над "i"
Practicum DIRECTUM. Прощание с бумагой. Расставляем все точки над "i"
 
IBM ECM & Discovery Strategy
IBM ECM & Discovery StrategyIBM ECM & Discovery Strategy
IBM ECM & Discovery Strategy
 
Вебинар "Practicum DIRECTUM. Lean + ECM = рецепт офисной кухни"
Вебинар "Practicum DIRECTUM. Lean + ECM = рецепт офисной кухни"Вебинар "Practicum DIRECTUM. Lean + ECM = рецепт офисной кухни"
Вебинар "Practicum DIRECTUM. Lean + ECM = рецепт офисной кухни"
 
DIRECTUM: возможности системы электронного документооборота
DIRECTUM: возможности системы электронного документооборотаDIRECTUM: возможности системы электронного документооборота
DIRECTUM: возможности системы электронного документооборота
 
Презентация - Обзор BPM CBOK
Презентация - Обзор BPM CBOK Презентация - Обзор BPM CBOK
Презентация - Обзор BPM CBOK
 
Никита Налютин, Антон Александров - Управление рисками тестирования
Никита Налютин, Антон Александров - Управление рисками тестированияНикита Налютин, Антон Александров - Управление рисками тестирования
Никита Налютин, Антон Александров - Управление рисками тестирования
 
Риски в тестировании
Риски в тестированииРиски в тестировании
Риски в тестировании
 
Собеседование на позицию бизнес-аналитика
Собеседование на позицию бизнес-аналитикаСобеседование на позицию бизнес-аналитика
Собеседование на позицию бизнес-аналитика
 
Amazon search test case document
Amazon search test case documentAmazon search test case document
Amazon search test case document
 
Clase modelos de cartas
Clase   modelos de cartasClase   modelos de cartas
Clase modelos de cartas
 
Тестирование как управление рисками продукта
Тестирование как управление рисками продуктаТестирование как управление рисками продукта
Тестирование как управление рисками продукта
 

Similar to Тестирование в BI проектах

Сергей Смирнов (Altair Engineering Inc.) | Организация работы распределенной ...
Сергей Смирнов (Altair Engineering Inc.) | Организация работы распределенной ...Сергей Смирнов (Altair Engineering Inc.) | Организация работы распределенной ...
Сергей Смирнов (Altair Engineering Inc.) | Организация работы распределенной ...RIF-Technology
 
Обзор и архитектура MS Visual Studio Team System 2008
Обзор и архитектура MS Visual Studio Team System 2008Обзор и архитектура MS Visual Studio Team System 2008
Обзор и архитектура MS Visual Studio Team System 2008Александр Шамрай
 
Simonova sql server-enginetesting
Simonova sql server-enginetestingSimonova sql server-enginetesting
Simonova sql server-enginetestingLiloSEA
 
Больше чем анализ
Больше чем анализБольше чем анализ
Больше чем анализSQALab
 
Роман Кокин «Организация тестирования в больших командах»
Роман Кокин «Организация тестирования в больших командах»Роман Кокин «Организация тестирования в больших командах»
Роман Кокин «Организация тестирования в больших командах»DataArt
 
Tfs Overview And Architecture (www.cmcons.com)
Tfs Overview And Architecture (www.cmcons.com)Tfs Overview And Architecture (www.cmcons.com)
Tfs Overview And Architecture (www.cmcons.com)Alexander Novichkov
 
Разработка по с использованием Tfs 2012
Разработка по с использованием Tfs 2012Разработка по с использованием Tfs 2012
Разработка по с использованием Tfs 2012Александр Шамрай
 
Вебинар Microsoft ALM (11.12.2012)
Вебинар Microsoft ALM (11.12.2012)Вебинар Microsoft ALM (11.12.2012)
Вебинар Microsoft ALM (11.12.2012)Dmitry Melikov
 
Повышение качества тестов и автоматическая валидация REST API документации
Повышение качества тестов и автоматическая валидация REST API документацииПовышение качества тестов и автоматическая валидация REST API документации
Повышение качества тестов и автоматическая валидация REST API документацииCEE-SEC(R)
 
Simonova CSEDays
Simonova CSEDaysSimonova CSEDays
Simonova CSEDaysLiloSEA
 
Katerina Simonova CSEDays
Katerina Simonova CSEDaysKaterina Simonova CSEDays
Katerina Simonova CSEDaysLiloSEA
 
Katerina Simonova CSEDays
Katerina Simonova CSEDaysKaterina Simonova CSEDays
Katerina Simonova CSEDaysLiloSEA
 
Sdlc by Anatoliy Anthony Cox
Sdlc by  Anatoliy Anthony CoxSdlc by  Anatoliy Anthony Cox
Sdlc by Anatoliy Anthony CoxAlex Tumanoff
 
Цикл безопасной разработки
Цикл безопасной разработкиЦикл безопасной разработки
Цикл безопасной разработкиRISClubSPb
 

Similar to Тестирование в BI проектах (20)

Сергей Смирнов (Altair Engineering Inc.) | Организация работы распределенной ...
Сергей Смирнов (Altair Engineering Inc.) | Организация работы распределенной ...Сергей Смирнов (Altair Engineering Inc.) | Организация работы распределенной ...
Сергей Смирнов (Altair Engineering Inc.) | Организация работы распределенной ...
 
Обзор и архитектура MS Visual Studio Team System 2008
Обзор и архитектура MS Visual Studio Team System 2008Обзор и архитектура MS Visual Studio Team System 2008
Обзор и архитектура MS Visual Studio Team System 2008
 
Simonova sql server-enginetesting
Simonova sql server-enginetestingSimonova sql server-enginetesting
Simonova sql server-enginetesting
 
Owox rzykov
Owox rzykovOwox rzykov
Owox rzykov
 
Больше чем анализ
Больше чем анализБольше чем анализ
Больше чем анализ
 
Роман Кокин «Организация тестирования в больших командах»
Роман Кокин «Организация тестирования в больших командах»Роман Кокин «Организация тестирования в больших командах»
Роман Кокин «Организация тестирования в больших командах»
 
Tfs Overview And Architecture (www.cmcons.com)
Tfs Overview And Architecture (www.cmcons.com)Tfs Overview And Architecture (www.cmcons.com)
Tfs Overview And Architecture (www.cmcons.com)
 
Java Presentation.pptx
Java Presentation.pptxJava Presentation.pptx
Java Presentation.pptx
 
Разработка по с использованием Tfs 2012
Разработка по с использованием Tfs 2012Разработка по с использованием Tfs 2012
Разработка по с использованием Tfs 2012
 
Описание и архитектура TFS 2008
Описание и архитектура TFS 2008Описание и архитектура TFS 2008
Описание и архитектура TFS 2008
 
Вебинар Microsoft ALM (11.12.2012)
Вебинар Microsoft ALM (11.12.2012)Вебинар Microsoft ALM (11.12.2012)
Вебинар Microsoft ALM (11.12.2012)
 
Повышение качества тестов и автоматическая валидация REST API документации
Повышение качества тестов и автоматическая валидация REST API документацииПовышение качества тестов и автоматическая валидация REST API документации
Повышение качества тестов и автоматическая валидация REST API документации
 
Simonova CSEDays
Simonova CSEDaysSimonova CSEDays
Simonova CSEDays
 
Katerina Simonova CSEDays
Katerina Simonova CSEDaysKaterina Simonova CSEDays
Katerina Simonova CSEDays
 
Katerina Simonova CSEDays
Katerina Simonova CSEDaysKaterina Simonova CSEDays
Katerina Simonova CSEDays
 
Sdlc by Anatoliy Anthony Cox
Sdlc by  Anatoliy Anthony CoxSdlc by  Anatoliy Anthony Cox
Sdlc by Anatoliy Anthony Cox
 
Экспертиза внедрения ITSM-проектов компании NAUMEN
Экспертиза внедрения ITSM-проектов компании NAUMENЭкспертиза внедрения ITSM-проектов компании NAUMEN
Экспертиза внедрения ITSM-проектов компании NAUMEN
 
Simonova sql server-enginetesting
Simonova sql server-enginetestingSimonova sql server-enginetesting
Simonova sql server-enginetesting
 
Обзор и архитектура MS Team System
Обзор и архитектура MS Team SystemОбзор и архитектура MS Team System
Обзор и архитектура MS Team System
 
Цикл безопасной разработки
Цикл безопасной разработкиЦикл безопасной разработки
Цикл безопасной разработки
 

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 или как тест-менеджеру перекроить внут...
 

Тестирование в BI проектах

  • 1. Тестирование в Business Intelligence проектах Дмитрий Романов. Itera Consulting dmitriy.romanov@gmail.com
  • 2. Тестирование в BI проектах. Содержание. Часть 1. Что такое Business Intelligence Microsoft Business Intelligence Technology Stack - Extraction-Transformation-Load - Analytical Services - Reporting Services Тестирование в BI проектах - Задачи - Особенности - Сложности тестирования Основные вызовы стоящие перед QA в BI Часть 2. Пример построения Framework для юнит тестирования Заключение
  • 3. Тестирование в BI проектах Часть 1. Что такое Business Intelligence Microsoft Business Intelligence Technology Stack - Extraction-Transformation-Load - Analytical Services - Reporting Services Тестирование в BI проектах - Задачи - Особенности - Сложности тестирования Основные вызовы стоящие перед QA в BI Часть 2. Пример построения Framework для юнит тестирования Заключение
  • 4. Что такое Business Intelligence Business intelligence (BI) это широкая категория приложений и технологий для сбора, хранения, анализа и предоставления доступа к данным Data Warehouse (DWH) – централизованный репозиторий который содержит данные с различных источников и транформирует их в общепринятую, многомерную модель данных для эффективного анализа ETL (от англ. Extract, Transform, Load) — один из основных процессов в управлении DWH, который включает в себя: - извлечение данных из внешних источников; - их трансформация и очистка - загрузка их в хранилище данных
  • 6. 2012 Gartner Magic Quadrant for BI Platforms
  • 7. Тестирование в BI проектах Часть 1. Что такое Business Intelligence Microsoft Business Intelligence Technology Stack - Extraction-Transformation-Load - Analytical Services - Reporting Services Тестирование в BI проектах - Задачи - Особенности - Сложности тестирования Основные вызовы стоящие перед QA в BI Часть 2. Пример построения Framework для юнит тестирования Заключение
  • 8. Тестирование в BI проектах Часть 1. Что такое Business Intelligence Microsoft Business Intelligence Technology Stack - Extraction-Transformation-Load - Analytical Services - Reporting Services Тестирование в BI проектах - Задачи - Особенности - Сложности тестирования Основные вызовы стоящие перед QA в BI Часть 2. Пример построения Framework для юнит тестирования Заключение
  • 9. Что такое Business Intelligence Microsoft BI Database Reporting Engine Services Integration Services Analytical Services
  • 10. Что такое Business Intelligence Analysis SSIS Database Reporting
  • 11. Database Services. Особенности Как ведется разработка ? DB Что тестировать ? Какой существует тест-инструментарий ? Development: - Performed in T-SQL - Results stored in Database What to test: - Stored procedures - DB constrains - Deployment routine Test tools: - Integrity & System tests - DB related frameworks* - Performance *DBUnit, DBTestUnit, …
  • 12. Reporting Services. Особенности Как ведется разработка ? SSRS Что тестировать ? Какой существует тест-инструментарий ? Development: - Performed in VS Designer - Displayed in browser What to test: - Page layout - Performance Test tools: - Report values ? - Web testing tools* *Selenium, QTP, TestComplete,…
  • 13. Integration Services. Особенности Как ведется разработка ? SSIS Что тестировать ? Какой существует тест-инструментарий ? Development: - Performed in SSIS Designer - Results stored in database
  • 14. Integration Services SSIS Extract Извлечение данных из источников данных Transformation Может включать в себя очистку, фильтрацию, валидацию, применение бизнес логики Load Загрузку уже подготовленных данных в warehouse.
  • 15. Integration Services Source ETL Data Warehouse
  • 16. Integration Services Development: Drag-&-Drop programming SSIS .Net language scripts support SQL scripts support
  • 17. Integration Services. Особенности Как ведется разработка ? SSIS Что тестировать ? Какой существует тест-инструментарий ? Development: - Performed in SSIS Designer - Results stored in database What to test: - ETL logic* Test tools: - Integration testing - No tools available - System testing - No compatibility between ETL - Performance vendors - …
  • 18. Analytical Services. Особенности Как ведется разработка ? Что тестировать ? SSAS Какой существует тест-инструментарий ? Development: - Multi Dimensional Query (MDX) language - Results stored in SSAS database
  • 20. Analysis Services. Особенности Как ведется разработка ? Что тестировать ? Какой существует тест-инструментарий ? SSAS Development: - Multi Dimensional Query (MDX) language - Results stored in SSAS database What to test: Test tools: - Facts-to-Dimensional Links - No tools available - Aggregation rules validation - No compatibility between ETL - Calculation rules validation vendors
  • 21. Тестирование в BI проектах Часть 1. Что такое Business Intelligence Microsoft Business Intelligence Technology Stack - Extraction-Transformation-Load - Analytical Services - Reporting Services Тестирование в BI проектах - Задачи - Особенности - Сложности тестирования Основные вызовы стоящие перед QA в BI Часть 2. Пример построения Framework для юнит тестирования Заключение
  • 22. Тестирование в BI проектах Часть 1. Что такое Business Intelligence Microsoft Business Intelligence Technology Stack - Extraction-Transformation-Load - Analytical Services - Reporting Services Тестирование в BI проектах - Задачи - Особенности - Сложности тестирования Основные вызовы стоящие перед QA в BI Часть 2. Пример построения Framework для юнит тестирования Заключение
  • 23. Тестирование в BI проектах Особенности - Загрузка данных в несколько этапов - Часто видимый результат только в конце - Поэтапное тестирование для раннего и точного обнаружения - Автоматизация тестирования – необходима - Часто тестирование проводится самими разработчиками - До 60% тестирования призодится на ETL
  • 24. Тестирование в BI проектах Часть 1. Что такое Business Intelligence Microsoft Business Intelligence Technology Stack - Extraction-Transformation-Load - Analytical Services - Reporting Services Тестирование в BI проектах - Задачи - Особенности - Сложности тестирования Основные вызовы стоящие перед QA в BI Часть 2. Пример построения Framework для юнит тестирования Заключение
  • 25. Тестирование в BI проектах Часть 1. Что такое Business Intelligence Microsoft Business Intelligence Technology Stack - Extraction-Transformation-Load - Analytical Services - Reporting Services Тестирование в BI проектах - Задачи - Особенности - Сложности тестирования Основные вызовы стоящие перед QA в BI Часть 2. Пример построения Framework для юнит тестирования Заключение
  • 26. Основные вызовы которые стоят перед QA Технические: 1. Большой объем данных. В среде BI введен термин – «Big Data». 2. Не устоявшиеся стандарты разработки. У BI нет своего «SQL-92» стандарта 3. Отсутствие инcтрументов тестирования, а использование существующих не всегда продуктивно Организационные: 1. Недостаток ресурсов. Как человеческих так и технических. 2. Недостаток четкости требований в ходе разработки
  • 27. Тестирование в BI проектах Часть 1. Что такое Business Intelligence Microsoft Business Intelligence Technology Stack - Extraction-Transformation-Load - Analytical Services - Reporting Services Тестирование в BI проектах - Задачи - Особенности - Сложности тестирования Основные вызовы стоящие перед QA в BI Часть 2. Пример построения Framework для юнит тестирования Заключение
  • 28. Тестирование в BI проектах Часть 1. Что такое Business Intelligence Microsoft Business Intelligence Technology Stack - Extraction-Transformation-Load - Analytical Services - Reporting Services Тестирование в BI проектах - Задачи - Особенности - Сложности тестирования Основные вызовы стоящие перед QA в BI Часть 2. Пример построения Framework-а для тестирования в BI проектах Заключение
  • 29. Business Intelligence Project Пример построения фреймворка для тестирования в BI проекте
  • 30. Reports MSSQL 2K CRM Database IBM DB2 Database Olap Analysis ERP “Old” DWH OPS Data Mining CRM
  • 32. Business Intelligence Project Initial Project state: - Lots of running applications and businesses relayed on them - We are focused on ETL development for enterprise level DWH - Old systems should be switched off and dataflows should be switched to enterprise DWH. Challenges: - Lots of legacy systems, different product versions, solution vendors, lack of documentation - Time-shared test environments => time limitations for QA stage. - Migration should be “transparent” for running businesses
  • 33. General Data Flow File Source DWH system 1:1 copy USB Mapping & report logic ETL ETL ETL Data- Report STG1 STG2 Cube DataWarehouse mart Mapping & 1:1 copy report logic Pro Link Report
  • 34. Error Sources File Source DWH system USB 1:1 kopi Mapping & report logic ETL ETL ETL Data- Report STG1 STG2 Cube DataWarehouse mart Mapping & Pro 1:1 kopi report logic Link SourceOfErrorIII Staging 2 Report SourceOfErrorII SourceOfErrorIV SourceOfErrorVI SourceOfErrorVII Staging 1 ETL DWH ETL Datamart ETL Cube SourceOfErrorVIII SourceOfErrorI Repots/ File SourceSystem SourceOfErrorV DWH
  • 35. Test Level approach Unit test Integration Non-functional System test/ Unit test Design test test test Acceptance Source system DWH (E2E) (E2E) test Performance Business design: Data completeness • Initial load • Design requirements • Format • Incremental load • Business terms • All rows • Load of data with failure • Targets (Number, • All fields intensity Currency, Amount, Percentage) Data transformation Interruption with load • Periods, Format, • Business rules Testdata • Design spesification Stress (e.g. 5 days load) Data quality Data completeness • Reports • Validation Rules • Format • interaction between • Cubes • Errorlogg • All rows components • Files • All fields • Ensure data flow • Access Control Configuration • Values in all fields through each part of the • Operating procedures incl Master package system chain • error handling Data transformation (touchpoints) • logging • Business rules • Design spesification • monitoring
  • 36. Where ETL Test Automation starts Unit test Integration Non-functional System test/ Unit test Design test test test Acceptance Source system DWH (E2E) (E2E) test Data completeness • Format • All rows • All fields • Values in all fields Data transformation • Business rules • Design spesification Data completeness Data quality • Format • Validation Rules • interaction between • All rows • Errorlogg components • All fields • Ensure data flow • Values in all fields Configuration through each part of the system chain Data transformation Master package (touchpoints) • Business rules • Design spesification
  • 37. Error Sources File Source DWH system USB 1:1 kopi Mapping & report logic ETL ETL ETL Data- Report STG1 STG2 Cube DataWarehouse mart Mapping & Pro 1:1 kopi report logic Link SourceOfErrorIII Staging 2 Report SourceOfErrorII SourceOfErrorIV SourceOfErrorVI SourceOfErrorVII Staging 1 ETL DWH ETL Datamart ETL Cube SourceOfErrorVIII SourceOfErrorI Repots/ File SourceSystem SourceOfErrorV DWH
  • 38. Error Sources from ETL perspective File Source DWH system USB 1:1 kopi Mapping & report logic ETL ETL ETL Data- Report STG1 STG2 Cube DataWarehouse mart Mapping & Pro 1:1 kopi report logic Link SourceOfErrorIII Staging 2 Report SourceOfErrorII SourceOfErrorIV SourceOfErrorVI Staging 1 ETL DWH ETL Datamart
  • 39. Test automation framework. Tools selection - Keep things simple for customer. BI developers would not learn C# or other programming language - Reuse existing approaches for configuration, Logging, error handling Error SSIS Development SSIS Unit test Framework framework Test automation framework. Tool selection Log Config
  • 40. Test automation framework. Structure Data Quality Test Configuration Logging Core/Test Interface Error Handling Core SSIS SQL based test Package Test
  • 41. Test automation framework. Control package Tests Parameters loading Prepare variables with params for Test Cases & current testcase execution Test params sets arranging For each Test Run UnitTest case loop package container Test automation framework. Control package Run “Log Test Connections Result” package configured via “Package Configuration”
  • 42. Four-phase test Main idea: - Prepare initial data - Execute package under test (PUT) - Validate transferred data - Clean up database
  • 43. Four-phase test. Test scenarios Test Type Description Row Count Ensures that count of tranfered rows are as expected Boundary values Min & Max values for numeric fields. Min/max length for varchar fields NULL value Try NULL values where its possible Out-Of-Type boundary Misplaced data value Four-Phase test case structure Business Logic Test Joins, Keys generation, Mapping, Cleansing Random values load Loading randomly generated values test
  • 44. Row Count test design example Purpose: Ensures that number of arrived rows is exactly as expected
  • 45. Step-by-step test construction. “Setup” phase Purpose: Place test data into source table
  • 46. “Setup” phase. PRE- execution file example DELETE from PG.STG1_Tegning GO insert PG.STG1_Tegning(ENGMENT_NUM,DISTRIBUTOR_KDE,ISIN_NUM,EMISJON_NUM,VPS_KTO_NUM,TREKK_KTO_NUM,UTB YTTE_KTO_NUM,TEGNING_DAT,INVESTERT_KAP_BEL,TEGN_OMKOSTN_PST,STATUS_KDE,SELGER_SGN,SELGER_NVN, SELGER_EMAIL_ADR,SELGER_2_SGN,SELGER_2_NVN,SELGER_2_EMAIL_ADR,PROVISJ_SELSK_NUM,PROVISJ_KJORT_ DAT,REG_SGN,REG_TMS,SIST_ENDRET_SGN,SIST_ENDRET_TMS,KOMMENTAR_TXT,SELGER_FNR_NUM,SELGER_2_FN R_NUM,Lastet_dat) values(1111111111111 ','06','NO0010291933',6,'091000836907',15942971696,15942971696,'Nov 14 2006 12:00AM',150000.00000000,2.700,'2','AEA',„XXXXXXXXXX',null,null,null,null,1,'Jan 9 2007 12:00AM','UCJ','Nov 14 2006 4:53PM','ZRR','Jan 9 2007 8:13AM',null,null,null,'Jan 13 2012 11:41AM') insert PG.STG1_Tegning(ENGMENT_NUM,DISTRIBUTOR_KDE,ISIN_NUM,EMISJON_NUM,VPS_KTO_NUM,TREKK_KTO_NUM,UTB YTTE_KTO_NUM,TEGNING_DAT,INVESTERT_KAP_BEL,TEGN_OMKOSTN_PST,STATUS_KDE,SELGER_SGN,SELGER_NVN, SELGER_EMAIL_ADR,SELGER_2_SGN,SELGER_2_NVN,SELGER_2_EMAIL_ADR,PROVISJ_SELSK_NUM,PROVISJ_KJORT_ DAT,REG_SGN,REG_TMS,SIST_ENDRET_SGN,SIST_ENDRET_TMS,KOMMENTAR_TXT,SELGER_FNR_NUM,SELGER_2_FN R_NUM,Lastet_dat) values(„1111111111111','06','NO0010291933',6,'091000823988',91001854181,91001215421,'Nov 15 2006 12:00AM',150000.00000000,2.700,'2','FUS',' XXXXXXXXXX ',null,null,null,null,1,'Jan 9 2007 12:00AM','EI7','Nov 15 2006 9:27AM','ZRR','Jan 9 2007 8:13AM',null,null,null,'Jan 13 2012 11:41AM') insert PG.STG1_Tegning(ENGMENT_NUM,DISTRIBUTOR_KDE,ISIN_NUM,EMISJON_NUM,VPS_KTO_NUM,TREKK_KTO_NUM,UTB YTTE_KTO_NUM,TEGNING_DAT,INVESTERT_KAP_BEL,TEGN_OMKOSTN_PST,STATUS_KDE,SELGER_SGN,SELGER_NVN, SELGER_EMAIL_ADR,SELGER_2_SGN,SELGER_2_NVN,SELGER_2_EMAIL_ADR,PROVISJ_SELSK_NUM,PROVISJ_KJORT_ DAT,REG_SGN,REG_TMS,SIST_ENDRET_SGN,SIST_ENDRET_TMS,KOMMENTAR_TXT,SELGER_FNR_NUM,SELGER_2_FN R_NUM,Lastet_dat) values(1111111111111 ','81','NO0010291933',6,'091000836915',10901034414,10901034414,'Nov 15 2006 12:00AM',100000.00000000,2.700,'2','FWS',' XXXXXXXXXX ',null,null,null,null,1,'Jan 9 2007 12:00AM','EI7','Nov 15 2006 9:33AM','ZRR','Jan 9 2007 9:24AM','selger: helge johansen',null,null,'Jan 13 2012 11:41AM') Insert ….. GO update statistics PG.STG1_Tegning GO
  • 47. Step-by-step test construction. “Exercise” phase Purpose: Perform data transfer by invoking Package Under Test (PUT)
  • 48. Step-by-step test construction. “Exercise” phase Package Under Test (PUT) lunching from test runner All we need is correct setup: <test> <name> [STG2_FAK_Beholdning_128.dtsx].[Row count] </name> <description> RowCount ETL unit test </description> <params> <param name='TestType' type='String' value="unitTest"/> <param name='UnitTestPackage' value='UnitTestRunner.dtsx'/> <param name='ConnectionManager' type='String' value='STAGING OleDb'/> <param name='schema' type='String' value='dbo'/> <param name='table' type='String' value='STG2_FAK_Beholdning_128'/> <param name='PackageUnderTest' type='String' value='STG2_FAK_Beholdning_128.dtsx'/> <param name='PackagesPath' type='String' value=’MainETLSSISFinancial InstrumentsEiendomOptimer'/> <param name='tag' type='String' value='staging2'/> <param name='dummy'/> </params> </test>
  • 49. Step-by-step test construction. “Verify” phase Purpose: Run assertion statement in T-SQL
  • 50. Step-by-step test construction. “Verify” phase 1.Put names of schema and table in test parameters. All we need is correct setup: <test> … <params> … <param name='schema' type='String' value='dbo'/> <param name='table' type='String' value='STG2_FAK_Beholdning_128'/> … </params> </test> 2. Put expected row count in CheckRows template. ----------- -- Test SQL logic SET @Statement = ' DECLARE @Test_Result varchar(8000) DECLARE @Test_Severity INT DECLARE @exp_value int DECLARE @act_value int SET @exp_value = 20 --place expected value there
  • 51. Step-by-step test construction. “Teardown” phase Purpose: Clean tables
  • 52. Тестирование в BI проектах Business Intelligence - интересная область в разработке программного обеспечения. Тестирование здесь особенно критично, т.к. данные предоставляемые BI напрямую влияют на принятие решений Работая в условиях BigData, хороший тестировщик просто обречен использовать автоматизацию в своей работе На сегодня готовых фреймворков для помощи в такой работе нет Мы рассмотрели пример создания такого фреймворка для тестирования ETL от Microsoft с использованием SSIS Что дальше ? Развитие фреймворка, создание новых тестов, ... Портирование фреймворка под BI системы других производителей
  • 53. Тестирование в BI проектах Часть 1. Что такое Business Intelligence Microsoft Business Intelligence Technology Stack - Extraction-Transformation-Load - Analytical Services - Reporting Services Тестирование в BI проектах - Задачи - Особенности - Сложности тестирования Основные вызовы стоящие перед QA в BI Часть 2. Пример построения Framework для юнит тестирования
  • 54. Тестирование в BI проектах
  • 55. Тестирование в Business Intelligence проектах Дмитрий Романов. Itera Consulting dmitriy.romanov@gmail.com