Você está na página 1de 26

Business intelligence (BI) is a technology-driven process for analyzing data and presenting

information to help managers and other corporate end users make business decisions.

BI is not achieved with one tool or via one system. It is a collection of applications,
technologies, and components that make up the entire implementation.
Introduction to Software Testing For BI
•Bi solutions development uses distinctly different lifecycle to conventional software
Development

•It is iterative nature

•Thus each deliverable must go beyond meeting just the stated

•Beyond the difference imposed by different life cycle ,there are several other difference
that add complexity
What is Software Testing
Software testing is a process used to identify the correctness, completeness, and quality of
developed computer software
What is BI Testing

•Analysis for software development produces a relatively stable set of requirements that
serve as the basis of system design

•BI requirements are less clear and change more rapidly

•This circumstance makes testing is difficult to test design of bi software

•Bi projects is an ongoing programs with out a finite end

•With the continues nature of BI development and operation there is demand for testing

Why is BI testing required?


DW/Bi pose a significant threat to organization or applications with huge volume of data.
Eg: Banks /Financial Institutes, Insurance, Telecom etc.

in such institutes, the information accuracy ,consistency and reliability , information


validation, data loss and data security and some of the important challenges that need to be
tested

To address these issues, the primary focus of BI testing is to ensure perfect database
structure, ETL Process, Report generation process
Objective of BI Testing

•Bi Testing is testing of program code verify it work correctly and does not fail

•BI test is aim to test data and reports

•Code failure is defined and isolated to prevent data and information loss

•Test strategy plays crucial role in ensure a best practice testing process for
implementation of BI solutions

•The strategy brings in a broad understanding of Business Intelligence architecture.

•it highlight the testing challenges and the value addition to SDLC process
Testing how ?

•By examining the user requirements

•By Reviewing design documents

•By examining design objectives

•By examining functionality

•By examining internal structures

•By executing code


What is Test Case?

A set of test inputs, execution conditions, and expected results developed for particulate
objective with specific requirements

In other words a planned sequence of action with objective of finding errors

Test case help us discover information success of test case is to find more number of errors

Finding any diversion form user requirements

Help managers to decide deliver or not to deliver software developed

What is a test suit and test cycle


Test suit –
A set of individual test case/ senario that are executed as package

Test cycle
A test cycle consist of a series of test suit comprise a complete execution from start to end
What is the scope of BI Testing
Business Intelligence testing varies levels to ensure that all requirement, both business and
technical have been met.

Testing of any BI solution will cover all lyres utilize by the BI solution within this architure and
also the complete end-to-end process

Testing scope include

•Sourcing and transformation of Business data


•Extract transform and load the data
•Reporting and presentation of Business Data
•Configuration of BI Tools
•Scalability and Performance
•Operational characteristics including scheduling ,security and metadata
Testing scope different layers
What is Test Strategy?
A Test Strategy is a plan for defining the testing approach, and it answers to questions like
what you want to get done and how you are going to accomplish it.

It must incorporate test planning , test case design , test execution , result data collection
and evaluation

verification
verification refers to a set of activities which ensure that software currectly implements a
specific function

purpose of verification is to check , are we building the product right?


Example: code and document reviews ,Inspection
Validation
The process of evaluating software during the development process or at the end of
the development process to determine whether it satisfies specified business
requirements.

Validation Testing ensures that the product actually meets the client's needs. It can
also be defined as to demonstrate that the product fulfills its intended use when
deployed on appropriate environment.

Activities:

Unit Testing

Integration Testing

System Testing

User Acceptance Testing


V-Model is an extension of the waterfall model and is based on the association of
a testing phase for each corresponding development stage.
Types of Test

Manual Testing
Manual testing includes testing a software manually, i.e., without using any automated tool
or any script.

Automation Testing
Automation testing, which is also known as Test Automation, is when the tester writes
scripts and uses another software to test the product. This process involves automation of a
manual process.

When to Automate?
•Large and critical projects

•Projects that require testing the same areas frequently

•Requirements not changing frequently

•Accessing the application for load and performance with many virtual users

•Stable software with respect to manual testing


Testing Phases for BI

•Unit Test

•System Test

•System Integration Test

•User Acceptance Test

•Operational Acceptance Test


Unit Testing

It ensue that each component within the system successfully perform its individual
responsibility when executed individually

The BI solution development team should perform this testing on BI development


environment

ETL(layer) Typical Task


•checking extraction rules
•checking transformation rules
•checking input data validation
•checking target data integrity
•checking CDC
•checking integrity of surrogate key
•checking notification/warnings/Error Messages
Reporting(layer) Typical Task

•Does the report validate any input data (e.g. date range or username) provided to it?

•Is the input data entered by the user shown correctly in the report?

•Is the report created based on the input data given by the user?

•Does the report calculate values (e.g. subtotals by a unit such as a reporting period, totals,
averages, minimum, maximum) correctly?

•Is each data item on the report formatted correctly?

•Does the report group data on the basis of a unit correctly?

•Does the report show and use for calculation the correct statutory details (e.g. tax rates)?
System Test
it ensure that the system successfully support the business requirements

it also confirm all functional requirements have been met

Layer- Data Acquisition

•successful source access

•validation of cleansing logic

•proper delivery of files to stage area

•file name convention

•script and triggers

•formats and layouts


Layer- ETL

•successful access of staging database

•successful extraction of data

•validation of transformation logic

•Handling of Rejects and Errors

•Recovery and Restart

•Data Auditing

•Scheduling , job triggering

•alerts and notification

•Meta data recording


Layer- Reporting

•Correct reflection of schema in tool

•Source to object mapping

•Correct format of columns

•report layout and formatting

•Report scheduling

•Correct definition of derived measures

•Report scheduling and triggers

•Hieratical organization of dimension

•validating drill down /drill up /drill across


System Integration Testing
is defined as a type of testing carried out in an integrated hardware and software
environment to verify the behavior of the complete system.

It also verifies a software system's interface between modules of the software application.

Layer- Data Acquisition


•successful run of each job
•successful execution of each script
•properly delivery of file to staging
•capture of errors
•capture of rejects
•capture of audit trails

Layer –Report
•report scheduling
•correct reflection of data dwh to reports
•query generation to test table joins
Layer- ETL
•Triggered start of the ETL Process
•successful extraction in order of precedence
•count of rejects based on logic
•successful run of dependent job
•restart, alert and notification deliver

Performance
•Benchmarking , Gauge the impact of configuration, tuning
•load and volume test
•Availability
User acceptance testing (UAT)
UAT is the last phase of the software testing process. During UAT, actual software
users test the software to make sure it can handle required tasks in real-world scenarios,
according to specifications.

UAT should be for specific BI function, like data transformation rules and data correctness'

User acceptance Test covers


•Functional Testing
•BI information Testing

layer-Business
• Information accuracy
• Source data rejection
• Data transformation rules
• Key performance matrix, reports
• Information presentation
• User access to reporting and OLAP tools
Test Documentation
The purpose of this document is to define a temple for testing strategy of BI Solution

Using Test documents

•identify and describe each test phase

•identify and describe each test stage

•define entry and exit criteria of each test phase

•including test activities and validation task

•This document also set some high level guidelines for BI Testing
List of documents
•Test Plan
•Test Scenario
•Test Case
•Traceability Matrix

Test Plan
A test plan outlines the strategy that will be used to test an application, the resources
that will be used, the test environment in which testing will be performed, and the
limitations of the testing and the schedule of testing activities.

A test plan includes the following


•Introduction to the Test Plan document
•Assumptions while testing the application
•List of test cases included in testing the application
•List of features to be tested
•What sort of approach to use while testing the software
•List of deliverables that need to be tested
•The resources allocated for testing the application
•Any risks involved during the testing process
•A schedule of tasks and milestones to be achieved
Test Scenario
It is a one line statement that notifies what area in the application will be tested. Test
scenarios are used to ensure that all process flows are tested from end to end.

Test Case
Test cases involve a set of steps, conditions, and inputs that can be used while performing
testing tasks.

Test case Includes


•Test case ID
•Product module
•Product version
•Revision history
•Purpose
•Assumptions
•Pre-conditions
•Steps
•Expected outcome
•Actual outcome
•Post-conditions
Traceability Matrix
Traceability Matrix (also known as Requirement Traceability Matrix - RTM) is a table that is
used to trace the requirements during the Software Development Life Cycle.

Each requirement in the RTM document is linked with its associated test case so that
testing can be done as per the mentioned requirements

•Make sure the software is developed as per the mentioned requirements.


•Helps in finding the root cause of any bug.
•Helps in tracing the developed documents during different phases of SDLC.

Você também pode gostar