Archive for September, 2010

Automation testing contd

September 16, 2010 Leave a comment

Before going further lets understand the testing steps:
Unit testing
This type of testing tests individual application objects or methods in an isolated environment. It verifies the smallest unit of the application to ensure the correct structure and the defined operations. Unit testing is the most efficient and effective means to detect defects or bugs. The testing tools are capable of creating unit test scripts.
Integration testing
This testing is to evaluate proper functioning of the integrated modules (objects, methods) that make up a subsystem. The focus of integration testing is on cross-functional tests rather than on unit tests within one module. Available testing tools usually provide gateways to create stubs and mock objects for this test.
System testing
System testing should be executed as soon as an integrated set of modules has been assembled to form the application. System testing verifies the product by testing the application in the integrated system environment.
Regression testing
Regression testing ensures that code modification, bug correction, and any postproduction activities have not introduced any additional bugs into the previously tested code. This test often reuses the test scripts created for unit and integration testing. Software testing tools offer harnesses to manage these test scripts and schedule the regression testing.

Usability testing
Usability testing ensures that the presentation, data flow, and general ergonomics of the application meet the requirements of the intended users. This testing phase is critical to attract and keep customers. Usually, manual testing methods are inevitable for this purpose.
Stress testing
Stress testing makes sure that the features of the software and hardware continue to function correctly under a predesigned set and volume of test scenarios. The purpose of stress testing is to ensure that the system can hold and operate efficiently under different load conditions. Thus, the possible hardware platforms, operating systems, and other applications used by the customers should be considered for this testing phase.
Performance testing
Performance testing measures the response times of the systems to complete a task and the efficiency of the algorithms under varied conditions. Therefore, performance testing also takes into consideration the possible hardware platforms, operating systems, and other applications used by the customers.

MicroStrategy Architecture

September 13, 2010 Leave a comment

MicroStrategy has the following 3 types of architecture:

  • 2-Tier Architecture

In 2-tier architecture, the MicroStrategy Desktop itself queries against the Data warehouse and the Metadata without the Intermediate tier of the Intelligence server.

  • 3-Tier Architecture

The 3-Tier architecture comprises an Intelligence server between MicroStrategy Desktop and the data Warehouse and the Metadata.

  • 4-Tier Architecture

The 4-tier architecture is same as 3-tier except it has an additional component of MicroStrategy Web.

MicroStrategy Intelligence Server

September 12, 2010 Leave a comment

Before we get into the bits and pieces of MicroStrategy Architecture, we need to know a little bit of Intelligence Server. MicroStrategy Intelligence Server™ is an analytical server that is optimized for enterprise querying and reporting as well as OLAP analysis. It processes report requests from all users of the MicroStrategy Business Intelligence platform through windows, web, and wireless interfaces. These reports range from simple performance indicators such as quarterly sales by product, to sophisticated hypothesis testing using a chi-square test. The results are then returned to the users, who can further interact with the data and run more reports. Folloiwng are the benefits of the Intelligence Server:


Dynamic SQL Generation: MicroStrategy Intelligence Server stores information about the database tables in metadata. MicroStrategy Intelligence Server uses this metadata to generate optimized SQL for the database. Because the metadata is schema independent, these reports, queries and analyses are generated from your current physical schema without any modifications.

Advanced Caching: MicroStrategy Intelligence Server caches all user requests. Not only are reports cached, but the individual report pages requested by users are also cached. As a result, no redundant processing occurs on the MicroStrategy Intelligence Server or on the database.

Built-in Software-level Clustering and Failover: MicroStrategy Intelligence Server lets you cluster many different individual servers together without any additional software or hardware components. Built-in failover support ensures that if a server experiences a hardware failure, the remaining MicroStrategy Intelligence Servers will pick up failed jobs.

Integrated Aggregations, OLAP, Financial and Statistical Analysis: MicroStrategy Intelligence Server provides simple analysis such as basic performance indicators, as well as more sophisticated analyses such as market basket, churn, retention and deciling analyses. Other analyses include hypothesis testing, regressions, extrapolations and bond calculations.

Business Intelligence Architecture

September 8, 2010 Leave a comment

A business intelligence architecture using MicroStrategy is shown in the following diagram:

The Architecture has the following components:

  • Source System (OLTP):

Source systems are typically databases or mainframes that store transaction processing data. As such, they are an Online Transaction Processing System (OLTP). Transaction Processing involves simple recording of transactions like sales, inventory, withdrawals, deposits and so forth.

A well designed and robust data warehouse lies at the heart of the business intelligence system and enables its users to leverage the competitive advantage that business intelligence provides. A data warehouse is an example of Online Analytical Processing System (OLAP).

Analytical Processing involves manipulating transactional records to calculate sales trends, growth patterns, percent to total contributions, trend reporting, profit analysis etc.

  • ETL Processes:

The extraction, transformation and loading (ETL) process contains information that facilitates the transfer of the data from the source systems to the data warehouse. We have discussed about this in details in my previous post.

The metadata database contains information that facilitates the retrieval of data from the data warehouse when using MicroStrategy applications. It stores MicroStrategy object definitions and information about the data warehouse in proprietary format and maps MicroStrategy objects to the data warehouse structures and content.

  • MicroStrategy Application:

The MicroStrategy applications allow you to interact with the business intelligence system. They allow you to logically organize data hierarchically to quickly and easily create, calculate, and analyze complex data relationships. They also provide the ability to look at the data from different perspective.

A variety of grid and graph formats are available for superior report presentation. You can even build documents, which enable you to combine multiple reports with text and graphics.

An Intro to MicroStrategy

September 5, 2010 Leave a comment

What is basically MicroStrategy and how is it related to Data Warehousing? I guess this post will explain it.

As per we previously discussed, we need ETL tools (e.g. Informatica) to build a Data Warehouse. The ETL (Extract-Transform-Load) extract the data from OLTP and different other data sources, transform the data in the staging area according to the business need and finally load the data to Data Warehouse. Now one common question would be that how will you segregate between a database and a data warehouse. And a compact answer can be like this – “Data warehouse is also a database. When a database stores historical data (data from the same system, taken at different time period), then it becomes a Data Warehouse.”

So we have historical data in the data warehouse. Now what is the use of these data? These data can be used for analysis of business and for that they need to be represented in different format according to the business need. Suppose a business owner wants to have the trend of his last 10 year revenue – represented in Bar graph. Now you can fetch the data from database using SQL for the last 10 year. But can you represent the same data graphically? Here comes the reporting tools and MicroStrategy is a powerful leader of those.

The purpose of reporting tools is to fetch the data from the data warehouse and to represent those data according to business requirements. MicroStrategy has huge number of powerful features to support this. Hopefully we will come to know about those in the upcoming posts. The following snapshot is of MicroStrategy Desktop window.

Fig1: Snapshot of MicroStrategy Desktop

Fig2: Differenct Types of Project in MicroStrategy

As we can see from the above snapshot, we have 2 types of projects in MicroStrategy – 3 Tier and 2 Tier project. We will discuss about this in detail in the next post. As well as I will try to give some information about the architecture of MicroStrategy.