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.

Business Intelligence and Data Warehousing

What is Business Intelligence?

Business Intelligence is the set of processes, technologies, and tools that help an organization to transform raw data into meaningful and useful information for business analysis (Identifying business needs and determining solutions to business problems).


What is NoSQL

NoSQL stands for Not Only SQL and provides mechanism for storage and retrieval of data that is modeled in means other than the tabular relations used in relational databases.
Features of NoSQL databases
·        Non-Relational
·        Distributed
·        Open-Source
·        Horizontally Scalable
·        Relaxing from ACID properties of RDBMS but adheres to BASE theorem.

Career in Software Testing

Organization Hierarchy Chart:

The organization hierarchy mentioned below will not be the same in all companies and differ from each other. We have placed only few titles in the chart.

Career Path and salary of a Software Tester:

A software tester begins his /her career as a trainee and gets molded as a senior software tester or software testing lead after 4 to 5 years of experience. Playing a lead role involves additional responsibilities like metrics collection, review, training the junior resources etc apart from testing. and involve in project management, quality assurance, process management, SDLC models selection, administration etc. The mapping between career path of a tester and experience in the below mentioned table is based on my experience and it will vary from company to company.

Career Path of a Software Tester
Salary Range - US $
Software Tester (Junior or Fresher or Trainee Level)
Less than 1 year
Around 40,000
Software Tester - Middle Level
Around 3 years
Around 65,000
Software Tester - Senior Level/Lead
Around 5 years
Around 80,000
Software Testing - Architect
Around 10 years
Around 120,000
Software Testing - Manager
Around 10 years
Around 120,000
Software Testing - Director
Around 15 years
Around 150,000
Software Testing - Vice President
Around 15 years
Around 150,000
Software Testing – President
Around 15 years
Around 150,000

Pay Scale of a Software Tester:

The salary range of a software tester working in USA mentioned in the above table is a ball park number. Salary will be different from company to company and will be based on US TAX TERMS like w2 (with benefits and without benefits), h1b processing fee, green card processing fee, health insurance, vacation, duration of the project, role in the project, location, sign on bonus, relocation expenses, bench period etc agreed by the candidate and the employer.

When a candidate works on billing rate per hour with an employer, then the amount that is earned will be more since the employer will the pay only the billing rate agreed and will not care about the benefits of the candidate. A middle level software tester can get $40 to $60 per hour and a senior level tester/lead can get between $50 and $70 etc.

Set Career Goals

Do you spend more time planning your vacations than your career? What's more important to you? Defining your career goals will help you make necessary steps toward a satisfying work life.

Employability Skills

Employability skills are a set of skills and behaviors that are necessary for every job. Employability skills are sometimes called soft skills, foundational skills, work-readiness skills, or job-readiness skills.
Employability skills allow you to:

  • communicate with coworkers
  • solve problems
  • understand your role within the team
  • make responsible choices, and
  • take charge of your own career 

Industry Expectations from Fresh Graduates

Every year, countless students pass out from engineering colleges in India. The number of students graduating from engineering colleges is much more in India than in countries like China and USA. Yet, only about 30% of the engineering graduates get jobs while the rest either remain unemployed or take up jobs that are not related to their field. What is the reason for this unemployment or underemployment? What could be the industry expectations from an engineering graduate? What are the students lacking that prevent them from getting the right jobs? Is it that the engineering graduates do not cater to the need of this budding industry or is there some other fact to justify this unique tendency? Here we have listed out a few of the major expectations of the industry from engineering graduates.

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.

Test Automation During Sprint

The automated task for every story should be the story’s definition of done. Ideally you should aim to automate the stories within the current sprint.
The way to do this is to have an automation framework which speeds up writing automated scripts, so that you just focus on the scenarios rather than spending time creating functions.

Guide to Writing Good Agile User Stories

One of the first steps in delivering a quality product, is writing good user stories. A user story is a place to capture product functionality and as the name suggests, user stories describe how a customer or user will use the product.
In this post, we describe how to write good user stories and what should be included.

What to Test When There is Not Enough Time to Test

Quite often testers will find themselves running out of time when testing an application.
One of the major tasks of a Test Manager is to prioritize which tests need to be run when there is not enough time to execute all the tests.

Use risk analysis to determine where testing should be focused.

Since it’s rarely possible to test every possible aspect of an application, every possible combination of events, every dependency, or everything that could go wrong, risk analysis is appropriate to most software development projects. This requires judgment skills, common sense, and experience. (If warranted, formal methods are also available.)

Test Automation Tips and Best Practices

Automated Testing is an important testing activity during the software development life cycle because it can provide quick feedback to the team when a new feature has been developed. It also removes the burden from QA to repeatedly run regression tests which saves time for QA to focus on other testing activities.
Test Automation, when done right, can be very beneficial to the team. The tips below will help you get the most value from your automated testing process and activity and highlights pitfalls to avoid when starting to automate your tests.

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.

Web Testing Tips

Web Testing is different to desktop application testing. In Web Application Testing, we are typically using a browser (the client) to request a website from a web server by communicating with the server over HTTP or HTTPS.
It is important that, as testers, when we are involved in Web Testing, we should be familiar with the basics of HTTP to get a good understanding of how web applications work.

Testing E-commerce Websites

Testing E-commerce Websites requires knowledge of web testing techniques and the e-commerce domain.
Most E-commerce Websites share a general common theme and structure, e.g:
  • Homepage
  • Search Results Page
  • Product Details Page
  • Order Form Page
  • Order Confirmation Page
  • Login Form Page and Accounts Pages