Тестированиев Business Intelligence проектах     Дмитрий Романов. Itera Consulting        dmitriy.romanov@gmail.com
Тестирование в BI проектах. Содержание.Часть 1. Что такое Business IntelligenceMicrosoft Business Intelligence Technology ...
Тестирование в BI проектахЧасть 1. Что такое Business IntelligenceMicrosoft Business Intelligence Technology Stack    - Ex...
Что такое Business IntelligenceBusiness intelligence (BI) это широкая категорияприложений и технологий для сбора, хранения...
Что такое Business Intelligence
2012 Gartner Magic Quadrant for BI Platforms
Тестирование в BI проектахЧасть 1. Что такое Business IntelligenceMicrosoft Business Intelligence Technology Stack    - Ex...
Тестирование в BI проектахЧасть 1. Что такое Business IntelligenceMicrosoft Business Intelligence Technology Stack    - Ex...
Что такое Business Intelligence                Microsoft BI    Database                   Reporting     Engine            ...
Что такое Business Intelligence                                  Analysis                      SSIS           Database    ...
Database Services. Особенности                                      Как ведется разработка ?     DB                       ...
Reporting Services. Особенности                                     Как ведется разработка ?              SSRS            ...
Integration Services. Особенности                                 Как ведется разработка ?      SSIS                      ...
Integration Services             SSISExtractИзвлечение данных из источников данныхTransformationМожет включать в себя очис...
Integration Services                         Source                         ETL                         Data              ...
Integration Services                       Development:                       Drag-&-Drop programming   SSIS              ...
Integration Services. Особенности                                      Как ведется разработка ?            SSIS           ...
Analytical Services. Особенности                                    Как ведется разработка ?                              ...
Analytical Processing
Analysis Services. Особенности                                          Как ведется разработка ?                          ...
Тестирование в BI проектахЧасть 1. Что такое Business IntelligenceMicrosoft Business Intelligence Technology Stack    - Ex...
Тестирование в BI проектахЧасть 1. Что такое Business IntelligenceMicrosoft Business Intelligence Technology Stack    - Ex...
Тестирование в BI проектахОсобенности- Загрузка данных в несколько этапов- Часто видимый результат только в конце- Поэтапн...
Тестирование в BI проектахЧасть 1. Что такое Business IntelligenceMicrosoft Business Intelligence Technology Stack    - Ex...
Тестирование в BI проектахЧасть 1. Что такое Business IntelligenceMicrosoft Business Intelligence Technology Stack    - Ex...
Основные вызовы которые стоят перед QAТехнические:1. Большой объем данных.В среде BI введен термин – «Big Data».2. Не усто...
Тестирование в BI проектахЧасть 1. Что такое Business IntelligenceMicrosoft Business Intelligence Technology Stack    - Ex...
Тестирование в BI проектахЧасть 1. Что такое Business IntelligenceMicrosoft Business Intelligence Technology Stack    - Ex...
Business Intelligence Project    Пример построенияфреймворка для тестирования       в BI проекте
Reports       MSSQL         2KCRM   Database     IBM DB2                   Database    Olap                              A...
Business Intelligence Project
Business Intelligence ProjectInitial Project state:- Lots of running applications and businesses relayed on them-   We are...
General Data Flow                                                                                                      Fil...
Error Sources                                                                                                             ...
Test Level approach                                  Unit test                                 Integration             Non...
Where ETL Test Automation starts                             Unit test                            Integration          Non...
Error Sources                                                                                                             ...
Error Sources from ETL perspective                                                                                        ...
Test automation framework. Tools selection- Keep things simple for customer. BI developers would not  learn C# or other pr...
Test automation framework. Structure                       Data Quality Test                                            Co...
Test automation framework. Control package                                                     Tests                      ...
Four-phase testMain idea:- Prepare initial data- Execute package under test (PUT)- Validate transferred data- Clean up dat...
Four-phase test. Test scenariosTest Type              DescriptionRow Count              Ensures that count of tranfered ro...
Row Count test design examplePurpose: Ensures that number of arrived rows is exactly asexpected
Step-by-step test construction. “Setup” phasePurpose: Place test data into source table
“Setup” phase. PRE- execution file exampleDELETE from PG.STG1_TegningGOinsertPG.STG1_Tegning(ENGMENT_NUM,DISTRIBUTOR_KDE,I...
Step-by-step test construction. “Exercise” phasePurpose: Perform data transfer by invoking Package UnderTest (PUT)
Step-by-step test construction. “Exercise” phasePackage Under Test (PUT) lunching from test runnerAll we need is correct s...
Step-by-step test construction. “Verify” phasePurpose: Run assertion statement in T-SQL
Step-by-step test construction. “Verify” phase1.Put names of schema and table in test parameters.All we need is correct se...
Step-by-step test construction. “Teardown” phasePurpose: Clean tables
Тестирование в BI проектахBusiness Intelligence - интересная область в разработкепрограммного обеспечения.Тестирование зде...
Тестирование в BI проектахЧасть 1. Что такое Business IntelligenceMicrosoft Business Intelligence Technology Stack    - Ex...
Тестирование в BI проектах
Тестированиев Business Intelligence проектах     Дмитрий Романов. Itera Consulting        dmitriy.romanov@gmail.com
Upcoming SlideShare
Loading in...5
×

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

1,511

Published on

SQA Days 11. День 1. Секция А
Дмитрий Романов
Itera Consulting Ukraine
Украина

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,511
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
31
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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

  1. 1. Тестированиев Business Intelligence проектах Дмитрий Романов. Itera Consulting dmitriy.romanov@gmail.com
  2. 2. Тестирование в BI проектах. Содержание.Часть 1. Что такое Business IntelligenceMicrosoft Business Intelligence Technology Stack - Extraction-Transformation-Load - Analytical Services - Reporting ServicesТестирование в BI проектах - Задачи - Особенности - Сложности тестированияОсновные вызовы стоящие перед QA в BIЧасть 2. Пример построения Framework для юниттестированияЗаключение
  3. 3. Тестирование в BI проектахЧасть 1. Что такое Business IntelligenceMicrosoft Business Intelligence Technology Stack - Extraction-Transformation-Load - Analytical Services - Reporting ServicesТестирование в BI проектах - Задачи - Особенности - Сложности тестированияОсновные вызовы стоящие перед QA в BIЧасть 2. Пример построения Framework для юниттестированияЗаключение
  4. 4. Что такое Business IntelligenceBusiness intelligence (BI) это широкая категорияприложений и технологий для сбора, хранения, анализаи предоставления доступа к даннымData Warehouse (DWH) – централизованныйрепозиторий который содержит данные с различныхисточников и транформирует их в общепринятую,многомерную модель данных для эффективного анализаETL (от англ. Extract, Transform, Load) — один изосновных процессов в управлении DWH, который включает всебя:- извлечение данных из внешних источников;- их трансформация и очистка- загрузка их в хранилище данных
  5. 5. Что такое Business Intelligence
  6. 6. 2012 Gartner Magic Quadrant for BI Platforms
  7. 7. Тестирование в BI проектахЧасть 1. Что такое Business IntelligenceMicrosoft Business Intelligence Technology Stack - Extraction-Transformation-Load - Analytical Services - Reporting ServicesТестирование в BI проектах - Задачи - Особенности - Сложности тестированияОсновные вызовы стоящие перед QA в BIЧасть 2. Пример построения Framework для юниттестированияЗаключение
  8. 8. Тестирование в BI проектахЧасть 1. Что такое Business IntelligenceMicrosoft Business Intelligence Technology Stack - Extraction-Transformation-Load - Analytical Services - Reporting ServicesТестирование в BI проектах - Задачи - Особенности - Сложности тестированияОсновные вызовы стоящие перед QA в BIЧасть 2. Пример построения Framework для юниттестированияЗаключение
  9. 9. Что такое Business Intelligence Microsoft BI Database Reporting Engine Services Integration Services Analytical Services
  10. 10. Что такое Business Intelligence Analysis SSIS Database Reporting
  11. 11. Database Services. Особенности Как ведется разработка ? DB Что тестировать ? Какой существует тест-инструментарий ? Development: - Performed in T-SQL - Results stored in Database What to test: - Stored procedures - DB constrains - Deployment routineTest tools: - Integrity & System tests- DB related frameworks* - Performance*DBUnit, DBTestUnit, …
  12. 12. Reporting Services. Особенности Как ведется разработка ? SSRS Что тестировать ? Какой существует тест-инструментарий ? Development: - Performed in VS Designer - Displayed in browser What to test: - Page layout - PerformanceTest tools: - Report values ?- Web testing tools**Selenium, QTP, TestComplete,…
  13. 13. Integration Services. Особенности Как ведется разработка ? SSIS Что тестировать ? Какой существует тест-инструментарий ?Development:- Performed in SSIS Designer- Results stored in database
  14. 14. Integration Services SSISExtractИзвлечение данных из источников данныхTransformationМожет включать в себя очистку, фильтрацию,валидацию, применение бизнес логикиLoadЗагрузку уже подготовленных данных вwarehouse.
  15. 15. Integration Services Source ETL Data Warehouse
  16. 16. Integration Services Development: Drag-&-Drop programming SSIS .Net language scripts support SQL scripts support
  17. 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 - Performancevendors - …
  18. 18. Analytical Services. Особенности Как ведется разработка ? Что тестировать ? SSAS Какой существует тест-инструментарий ?Development:- Multi Dimensional Query (MDX) language- Results stored in SSAS database
  19. 19. Analytical Processing
  20. 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 validationvendors
  21. 21. Тестирование в BI проектахЧасть 1. Что такое Business IntelligenceMicrosoft Business Intelligence Technology Stack - Extraction-Transformation-Load - Analytical Services - Reporting ServicesТестирование в BI проектах - Задачи - Особенности - Сложности тестированияОсновные вызовы стоящие перед QA в BIЧасть 2. Пример построения Framework для юниттестированияЗаключение
  22. 22. Тестирование в BI проектахЧасть 1. Что такое Business IntelligenceMicrosoft Business Intelligence Technology Stack - Extraction-Transformation-Load - Analytical Services - Reporting ServicesТестирование в BI проектах - Задачи - Особенности - Сложности тестированияОсновные вызовы стоящие перед QA в BIЧасть 2. Пример построения Framework для юниттестированияЗаключение
  23. 23. Тестирование в BI проектахОсобенности- Загрузка данных в несколько этапов- Часто видимый результат только в конце- Поэтапное тестирование для раннего и точногообнаружения- Автоматизация тестирования – необходима- Часто тестирование проводится самими разработчиками- До 60% тестирования призодится на ETL
  24. 24. Тестирование в BI проектахЧасть 1. Что такое Business IntelligenceMicrosoft Business Intelligence Technology Stack - Extraction-Transformation-Load - Analytical Services - Reporting ServicesТестирование в BI проектах - Задачи - Особенности - Сложности тестированияОсновные вызовы стоящие перед QA в BIЧасть 2. Пример построения Framework для юниттестированияЗаключение
  25. 25. Тестирование в BI проектахЧасть 1. Что такое Business IntelligenceMicrosoft Business Intelligence Technology Stack - Extraction-Transformation-Load - Analytical Services - Reporting ServicesТестирование в BI проектах - Задачи - Особенности - Сложности тестированияОсновные вызовы стоящие перед QA в BIЧасть 2. Пример построения Framework для юниттестированияЗаключение
  26. 26. Основные вызовы которые стоят перед QAТехнические:1. Большой объем данных.В среде BI введен термин – «Big Data».2. Не устоявшиеся стандарты разработки.У BI нет своего «SQL-92» стандарта3. Отсутствие инcтрументов тестирования, аиспользование существующих не всегдапродуктивно Организационные: 1. Недостаток ресурсов. Как человеческих так и технических. 2. Недостаток четкости требований в ходе разработки
  27. 27. Тестирование в BI проектахЧасть 1. Что такое Business IntelligenceMicrosoft Business Intelligence Technology Stack - Extraction-Transformation-Load - Analytical Services - Reporting ServicesТестирование в BI проектах - Задачи - Особенности - Сложности тестированияОсновные вызовы стоящие перед QA в BIЧасть 2. Пример построения Framework для юниттестированияЗаключение
  28. 28. Тестирование в BI проектахЧасть 1. Что такое Business IntelligenceMicrosoft Business Intelligence Technology Stack - Extraction-Transformation-Load - Analytical Services - Reporting ServicesТестирование в BI проектах - Задачи - Особенности - Сложности тестированияОсновные вызовы стоящие перед QA в BIЧасть 2. Пример построения Framework-а для тестирования вBI проектахЗаключение
  29. 29. Business Intelligence Project Пример построенияфреймворка для тестирования в BI проекте
  30. 30. Reports MSSQL 2KCRM Database IBM DB2 Database Olap AnalysisERP “Old” DWHOPS Data Mining CRM
  31. 31. Business Intelligence Project
  32. 32. Business Intelligence ProjectInitial 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, solutionvendors, lack of documentation - Time-shared test environments => time limitations for QA stage. - Migration should be “transparent” for running businesses
  33. 33. General Data Flow FileSource DWHsystem 1:1 copyUSB Mapping & report logic ETL ETL ETL Data- Report STG1 STG2 Cube DataWarehouse mart Mapping & 1:1 copy report logicProLink Report
  34. 34. Error Sources FileSource DWHsystemUSB 1:1 kopi Mapping & report logic ETL ETL ETL Data- Report STG1 STG2 Cube DataWarehouse mart Mapping &Pro 1:1 kopi report logicLink SourceOfErrorIII Staging 2 Report SourceOfErrorII SourceOfErrorIV SourceOfErrorVI SourceOfErrorVII Staging 1 ETL DWH ETL Datamart ETL Cube SourceOfErrorVIIISourceOfErrorI Repots/ FileSourceSystem SourceOfErrorV DWH
  35. 35. Test Level approach Unit test Integration Non-functional System test/ Unit test Design test test test Acceptance Source system DWH (E2E) (E2E) test PerformanceBusiness design: Data completeness • Initial load• Design requirements • Format • Incremental load• Business terms • All rows • Load of data with failure• Targets (Number, • All fields intensityCurrency, Amount,Percentage) Data transformation Interruption with load• Periods, Format, • Business rulesTestdata • 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. 36. Where ETL Test Automation starts Unit test Integration Non-functional System test/ Unit testDesign 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. 37. Error Sources FileSource DWHsystemUSB 1:1 kopi Mapping & report logic ETL ETL ETL Data- Report STG1 STG2 Cube DataWarehouse mart Mapping &Pro 1:1 kopi report logicLink SourceOfErrorIII Staging 2 Report SourceOfErrorII SourceOfErrorIV SourceOfErrorVI SourceOfErrorVII Staging 1 ETL DWH ETL Datamart ETL Cube SourceOfErrorVIIISourceOfErrorI Repots/ FileSourceSystem SourceOfErrorV DWH
  38. 38. Error Sources from ETL perspective FileSource DWHsystemUSB 1:1 kopi Mapping & report logic ETL ETL ETL Data- Report STG1 STG2 Cube DataWarehouse mart Mapping &Pro 1:1 kopi report logicLink SourceOfErrorIII Staging 2 Report SourceOfErrorII SourceOfErrorIV SourceOfErrorVI Staging 1 ETL DWH ETL Datamart
  39. 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. 40. Test automation framework. Structure Data Quality Test Configuration Logging Core/Test Interface Error Handling Core SSIS SQL based testPackage Test
  41. 41. Test automation framework. Control package Tests Parameters loadingPrepare 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. 42. Four-phase testMain idea:- Prepare initial data- Execute package under test (PUT)- Validate transferred data- Clean up database
  43. 43. Four-phase test. Test scenariosTest Type DescriptionRow Count Ensures that count of tranfered rows are as expectedBoundary values Min & Max values for numeric fields. Min/max length for varchar fieldsNULL value Try NULL values where its possibleOut-Of-Type boundary Misplaced datavalue Four-Phase test case structureBusiness Logic Test Joins, Keys generation, Mapping, CleansingRandom values load Loading randomly generated values test
  44. 44. Row Count test design examplePurpose: Ensures that number of arrived rows is exactly asexpected
  45. 45. Step-by-step test construction. “Setup” phasePurpose: Place test data into source table
  46. 46. “Setup” phase. PRE- execution file exampleDELETE from PG.STG1_TegningGOinsertPG.STG1_Tegning(ENGMENT_NUM,DISTRIBUTOR_KDE,ISIN_NUM,EMISJON_NUM,VPS_KTO_NUM,TREKK_KTO_NUM,UTBYTTE_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_FNR_NUM,Lastet_dat) values(1111111111111 ,06,NO0010291933,6,091000836907,15942971696,15942971696,Nov 14 200612:00AM,150000.00000000,2.700,2,AEA,„XXXXXXXXXX,null,null,null,null,1,Jan 9 2007 12:00AM,UCJ,Nov 14 20064:53PM,ZRR,Jan 9 2007 8:13AM,null,null,null,Jan 13 2012 11:41AM)insertPG.STG1_Tegning(ENGMENT_NUM,DISTRIBUTOR_KDE,ISIN_NUM,EMISJON_NUM,VPS_KTO_NUM,TREKK_KTO_NUM,UTBYTTE_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_FNR_NUM,Lastet_dat) values(„1111111111111,06,NO0010291933,6,091000823988,91001854181,91001215421,Nov 15 200612:00AM,150000.00000000,2.700,2,FUS, XXXXXXXXXX ,null,null,null,null,1,Jan 9 2007 12:00AM,EI7,Nov 15 20069:27AM,ZRR,Jan 9 2007 8:13AM,null,null,null,Jan 13 2012 11:41AM)insertPG.STG1_Tegning(ENGMENT_NUM,DISTRIBUTOR_KDE,ISIN_NUM,EMISJON_NUM,VPS_KTO_NUM,TREKK_KTO_NUM,UTBYTTE_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_FNR_NUM,Lastet_dat) values(1111111111111 ,81,NO0010291933,6,091000836915,10901034414,10901034414,Nov 15 200612:00AM,100000.00000000,2.700,2,FWS, XXXXXXXXXX ,null,null,null,null,1,Jan 9 2007 12:00AM,EI7,Nov 15 20069:33AM,ZRR,Jan 9 2007 9:24AM,selger: helge johansen,null,null,Jan 13 2012 11:41AM)Insert…..GOupdate statistics PG.STG1_TegningGO
  47. 47. Step-by-step test construction. “Exercise” phasePurpose: Perform data transfer by invoking Package UnderTest (PUT)
  48. 48. Step-by-step test construction. “Exercise” phasePackage Under Test (PUT) lunching from test runnerAll 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. 49. Step-by-step test construction. “Verify” phasePurpose: Run assertion statement in T-SQL
  50. 50. Step-by-step test construction. “Verify” phase1.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 logicSET @Statement = DECLARE @Test_Result varchar(8000)DECLARE @Test_Severity INTDECLARE @exp_value intDECLARE @act_value intSET @exp_value = 20 --place expected value there
  51. 51. Step-by-step test construction. “Teardown” phasePurpose: Clean tables
  52. 52. Тестирование в BI проектахBusiness Intelligence - интересная область в разработкепрограммного обеспечения.Тестирование здесь особенно критично, т.к. данныепредоставляемые BI напрямую влияют на принятие решенийРаботая в условиях BigData, хороший тестировщик просто обречениспользовать автоматизацию в своей работеНа сегодня готовых фреймворков для помощи в такой работе нетМы рассмотрели пример создания такого фреймворка длятестирования ETL от Microsoft с использованием SSISЧто дальше ? Развитие фреймворка, создание новых тестов, ...Портирование фреймворка под BI системы других производителей
  53. 53. Тестирование в BI проектахЧасть 1. Что такое Business IntelligenceMicrosoft Business Intelligence Technology Stack - Extraction-Transformation-Load - Analytical Services - Reporting ServicesТестирование в BI проектах - Задачи - Особенности - Сложности тестированияОсновные вызовы стоящие перед QA в BIЧасть 2. Пример построения Framework для юниттестирования
  54. 54. Тестирование в BI проектах
  55. 55. Тестированиев Business Intelligence проектах Дмитрий Романов. Itera Consulting dmitriy.romanov@gmail.com
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×