Slowly Changing Dimensions (SCD)

The "Slowly Changing Dimension" problem is a common one particular to data warehousing. In a nutshell, this applies to cases where the attribute for a record varies over time. We give an example below:

Dimensional Data Mode

Dimensional data model is most often used in data warehousing systems. This is different from the 3rd normal form, commonly used for transactional (OLTP) type systems. As you can imagine, the same data would then be stored differently in a dimensional model than in a 3rd normal form model.

To understand dimensional data modeling, let's define some of the terms commonly used in this type of modeling:

Junk Dimension

In data warehouse design, frequently we run into a situation where there are yes/no indicator fields in the source system. Through business analysis, we know it is necessary to keep that information in the fact table. However, if keep all those indicator fields in the fact table, not only do we need to build many small dimension tables, but the amount of information stored in the fact table also increases tremendously, leading to possible performance and management issues.

Junk dimension is the way to solve this problem. In a junk dimension, we combine these indicator fields into a single dimension. This way, we'll only need to build a single dimension table, and the number of fields in the fact table, as well as the size of the fact table, can be decreased. The content in the junk dimension table is the combination of all possible values of the individual indicator fields.


 In the OLAP world, there are mainly two different types: Multidimensional OLAP (MOLAP) and Relational OLAP (ROLAP). Hybrid OLAP (HOLAP) refers to technologies that combine MOLAP and ROLAP.

What Is OLAP

OLAP stands for On-Line Analytical Processing. The first attempt to provide a definition to OLAP was by Dr. Codd, who proposed 12 rules for OLAP. Later, it was discovered that this particular white paper was sponsored by one of the OLAP tool vendors, thus causing it to lose objectivity. The OLAP Report has proposed the FASMI test, Fast Analysis of Shared Multidimensional Information. For a more detailed description of both Dr. Codd's rules and the FASMI test, please visit The OLAP Report.

Data Integrity

 Data integrity refers to the validity of data, meaning data is consistent and correct. In the data warehousing field, we frequently hear the term, "Garbage In, Garbage Out." If there is no data integrity in the data warehouse, any resulting report and analysis will not be useful. 
 In a data warehouse or a data mart, there are three areas of where data integrity needs to be enforced: 

Data Warehouse Schemas

A schema is a collection of database objects, including tables, views, indexes, and synonyms. You can arrange schema objects in the schema models designed for data warehousing in a variety of ways.
Star Schemas :
The star schema (also called star-join schemadata cube, or multi-dimensional schema) is the simplest style of data warehouse schema. The star schema consists of one or more fact tables referencing any number of dimension tables

DWH Modeling Methodologies

Conformed facts

In addition to conformed dimensions, you need conformed facts. Conforming a fact really amounts to standardizing the definitions of terms across individual marts. Often, different divisions or departments use the same term in different ways. Does “revenue” refer to “gross revenue” or “adjusted revenue”? Does “units shipped” refer to cases of items or individual items?
Make certain your design team develops, early on, a uniform enterprise taxonomy—and enforce it.

What is Data Warehouse?

In computing, a data warehouse (DW or DWH) is a database used for reporting and analysis. The data stored in the warehouse are uploaded from the operational systems (such as marketing, sales etc., shown in the figure to the right). The data may pass through an operational data store for additional operations before they are used in the DW for reporting.
The typical ETL-based data warehouse uses staging, integration, and access layers to house its key functions. The staging layer or staging database stores raw data extracted from each of the disparate source data systems. The integration layer integrates the disparate data sets by transforming the data from the staging layer often storing this transformed data in an operational data store (ODS) database. The integrated data is then moved to yet another database, often called the data warehouse database, where the data is arranged into hierarchical groups often called dimensions and into facts and aggregate facts. The combination of facts and dimensions is sometimes called a star schema. The access layer helps users retrieve data.

Who Qualifies For A Good Tester

Before we understand about the attributes that a proficient software tester with an advanced training on testing tools would need to possess, let us understand the simple fact that that a software tester acquires and hones a very highly sophisticated QA training and Testing skill sets that give the Tester the leverage to excel in their jobs as well as act as a value added proposition to the development projects as well.

Challenges faced by QA/Testing Teams in Devops

Quality Assurance has always been a progressive discipline in the realms of online software Testing training and development. With the continuous advancements in the IT industry, the need of the hour has increasingly come upon us to better understand, manage and manage the QA functions in a reliable and effective manner. With the inception of agile and more recently, the DevOps, the manner in which organizations develop their training,plan, organize as well as execute their QA functions has taken a complete metamorphosis.

Jenkins Step-by-Step Setup

Why Jenkins?
Jenkins is a software that allows continuous integration. Jenkins will be installed on a server where the central build will take place. The following flowchart demonstrates a very simple workflow of how Jenkins works.
Along with Jenkins, sometimes, one might also see the association of Hudson. Hudson is a very popular open-source Java-based continuous integration tool developed by Sun Microsystems which was later acquired by Oracle. After the acquisition of Sun by Oracle, a fork was created from the Hudson source code, which brought about the introduction of Jenkins.

Differences between Mobile Native Apps And Mobile Web Apps

What is a Mobile Application?

Mobile applications are applications created by companies, developers to do a specific task(for a specific use). These applications are called as mobile native applications or mobile web based applications. These applications either run on mobile devices (native apps) or on websites (mobile web apps).

Mobile Application Types:

  •   What is Mobile Native Apps: The applications that reside on the phone or that can be downloaded from OEM stores.
  •   What is Mobile Web Based Apps: The applications that can be accessed through Browsers.

Mobile application testing

This article very informative and important to beginner’s, before start this article Why mobile testing is necessary because of we are almost maximum people can use smart phone with internet so due to security concern Mobile application testing tutorial comes in the focus.

Appium FAQ'S

1.What is Appium?

Appium is an open source tool which is useful in testing of Native Apps,Hybrid Apps and Mobile Web Apps.By using Appium you can automate Android ,IOS and Mobile Web applications

with the help of many languages.

2.What are the drivers supported in Appium?
Appium support two drivers to Automate the apps in different platforms,i.e Android driver and IOS Driver.

Mobile Application Testing: Step-by-Step Process

Mobile Technology is transforming the way people use their cell phones. Although demand is highest for consumer apps, enterprise applications are evolving too, allowing businesses to work more productively. Right from Publishers, Retailers, Automobile Dealers, Financial Service Providers, Pharmaceuticals & Healthcare Providers, the mobile application usage trend has now extended to schools and Universities providing faster interaction between staff and students.

Mobile Testing Interview Questions

1.        How to sign the Android Build (APK)?
2.       What are the areas to be covered in mobile device testing?
3.       Do you have hands on experience on Linux OS?
4.       What is the latest version of iOS ?
5.       Have you ever done Security Testing on Mobile Devices/Apps? What kind of Security have you performed for Android & iOS

Mobile application testing tools

  • There are some standards a mobile automation tool must meet in order to enhance your mobile QA
  • The tool must be easy to use. It must be as easy as possible to record an automated test script.
  • It needs to run on both native and object web properties, making identification of the components of the app as precise and consistent as possible.
  • It should easily connect to the cloud
  • It should enable more than functional testing to give the most comprehensive check of your app before it goes to your users.

Mobile Testing

Mobile devices have witnessed a phenomenal growth in the past few years. A mobile application is a software that runs on a mobile device such as cell phone or MP3 player that will allow the device to perform specific tasks that are typically restricted to PCs. It also known as downloadable, mobile applications are common on most phones, including inexpensive entry level models. Mobile applications either come pre-installed or can be installed from mobile software distribution platforms.

Methods for testing big data applications

Testing Big Data application is more a verification of its data processing rather than testing the individual features of the software product. When it comes to Big data testing,performance and functional testing are the key.

Hadoop Testing Tools

·        MRUnit  – Java framework that helps developers unit test Hadoop Map reduce jobs.
·        Mockito –  Java Framework, similar to MRUnit for unit testing Hadoop Map reduce jobs.
·        PigUnit – Java framework that helps developers unit test Pig Scripts.
·        HiveRunner – An Open Source unit test framework for hadoop hivequeries based on JUnit4
·        Beetest –  Unit Testing Framework for Hive Queries
·        Hive_test – Another Open source unit testing framework for Hive
·        HBaseTestingUtility – Java API for HBase Mini-cluster and we can use this along with Junit/Mockito/MRUnit frameworks to unit test Hbase Applications.
·        QuerySurge – Test tool built to automate Data Warehouse testing and the ETL Testing process. JDBC-compliant db, DWH, DMart, flat file, XML, Hadoop.

Big Data Challenges

Big Data Characteristics

Often Big data characteristics are described with the help of Five Vs (Big Data Volume Velocity Variety and Veracity). They are as follows.

Popular Hadoop Distributions

Currently there are lot of Hadoop distributions available in the big data market, but the major free open source distribution is from Apache Software Foundation. And even remaining hadoop distribution companies provide free versions of Hadoop, and also provide customized hadoop distributions suitable for client organization needs. By using Apache Hadoop as the core framework, these companies build their own customized hadoop cluster setup and services and provide commercial support for big data organizations. These are known as commercial hadoop distributions. These hadoop vendors provide services like managing updates, providing support, training, and consulting, and even adding some innovations of their own that make Hadoop reasonable for an enterprise to handle.

Behavioural Interview Questions for Software Testers

As a Software Tester, you will be interacting with a lot of people from different sections of a business. For example, if you are a QA in an Agile team, you need to be constantly talking with developers, product owners, scrum masters and other fellow testers.

What Makes a Good Agile Tester?

Testing in an agile environment is different that the traditional methodologies such as waterfall. Agile is an iterative model of delivery which requires continuous collaboration between the team members, providing quick feedback and be able to self-manage.
Quite often there are challenges in testing in an agile environments such as lack of documentation, changing priorities, less time to test, but with the right mindset and attitude, testers in agile team can provide a lot of value and help the team deliver good quality software on continuous basis.