Foreign key

Being a Test Professionals we should know about QA and QC. What we are doing is actually Quality Control related stuff and what people involved in bringing up CMMI, ISO standards are Quality Assurance. Quality Assurance is more likely related to maintain the process in any given Project or Programme. Quality Control is nothing but giving the right product by verifying the requirements are covered and working as expected.

We know there are multiple levels of testing methods are spoken in the testing world and we have the methodology by which we need to execute them like System Test, Integration Test etc., and Methodology like Water fall, Iterative etc.,

Quality Assurance:

Let me explain what I know and aware of Quality Assurance:

There 3 different roles who will be responsible for assuring the process in any projects.

PQA – Project Quality Analyst

CC – Configuration Controller

DPA – Defect Prevention Analyst

Project Quality Analyst – PQA role

A person who involved in this role needs to know the pre-defined industry standards of that Organization.

PQA’s Roles and Responsibilities

Documents Naming Convention met as per the Industry Standard

Names of who prepared , reviewed , approved the deliverables

Reviews happened across all the Customer facing documents

Review defects are found, fixed, verified and captured for Metrics

Checking whether all the deliverables are kept in a Common place where the stake holders can access

Checking all the necessary deliverables are prepared by the project team

Checking the actual project delivery date and the date mentioned in the documents are same

Differentiating the Customer facing deliverables and Internal audit specific deliverables are as per the industry standards

Verifying the Entry Criteria and Exit Criteria of any Levels in SDLC are met and collecting the proofs for the same

PQA’s will be involved in all levels of SDLC

Business Analyst Teams will have separate sets of Deliverables like Business Requirement documents, Business Understanding Documents, Requirement Traceability documents etc.,

Development teams will have separate sets of Deliverables like High Level Design, Low Level Design , Functional Specifications etc.,

Testing teams will have separate sets of documents like Test Plans, Test Conditions

The PQA should validate all the documents that supposed to be delivered to the Clients and maintain for internal audits

CC – Configuration Controller

Configuration Controller who controls the versions and the placement of the documents in tools like VSS – Microsoft Virtual Source Safe or Documentum etc.,

Configuration Controller Roles and Responsibilities

CC’s are responsible of Creating the folder structures in VSS or Documentum

Like, in any Projects the following folders will be created to maintain the projects deliverables

Project Kick off

Minutes of Meeting

Requirements

Review Log

Development

1.1. High Level design

1.2. Low Level Design

1.3. Issue Log

1.4. Emails

6. Testing

1.1 Unit Testing

1.2 System Testing

1.3 System Integration Testing

1.4 User Acceptance Testing

6.Production Support

CC’s will have the Admin rights to Grant and Revoke access to folders.

Developers should not have access to the folders related to Testing and vice versa

CC’s will maintain the Check in and Check out of the documents that goes into VSS

CC’s will maintain the relevant documents are kept in corresponding folders in VSS

DPA – Defect Prevention Analyst

Defect Prevent Analysts will maintain the defects across the SDLC. For any raised defects the work flow should be maintained. Proper comments for those defects should be given when they are created. All high severity defects should be fixed from one Phase to next phase to being with.

As testers when we raise defects we need to concentrate on applying Defect Cause and Defect Type in any Defect Management tool. This will help DPA’s to classify the defects and comes up prevention tips.

Defect Cause – What is the root cause of the defect that is,

Is the defect caused because of the Upstream Source Data or Test Data

Is the defect caused because of Incomplete of Missing requirements

Is the defect caused because the Inconsistent Requirement

Is the defect caused because of the Code discrepancy

If you find any anomalies in any Documents then raise the defects to Artefacts

If any of your defects leads to Changes in the Requirement then please raise them as Change Request – CR can be on the Actual Business Requirement or on Design Changes.

Defect Type – Classifications of the Defects that is,

Is the defect related to Data Error

Is the defect related to Application Code

Is the defect related to Work Request

Is the defect related to Change Request

Is the defect related to Deployment

Is the defect related to Specification

Is the defect related to Artefact

Is the defect related to Production

Is the defect related to Process

Is the defect related to Environment

Is the defect related to Specification

Is the defect related to Requirements

Is the defect related to Reviews

DPA’s most prominent work is to prepare the CAPA – “Corrective Analysis and Preventive Actions”

DPA roles and Responsibilities

DPA’s will collect the Metrics related to Defects in a periodic manner – Weekly, Monthly or Ad-hoc

DPA’s will collect the defects by Defect classifications like in a given period of time how many defects are raised in Reviews, Code, Requirement Change and collects the cause of the defects

Then using the metrics that was retrieved from any Defect Management tools, they design the Fish Bone diagram by filling the necessary details

Using the Statistical tools like Minitab, they calculate the Defect Density of the defects from each phase

Then they will create the Prevention actions on the areas where the Defect Density is above to the threshold limits.

Suppose if your Organization has the Defect Density threshold limit as 0.5 and your Defects under Review defect type is more than 0.5 then they will ask the Reviewers to do their work better to minimize the review defects at any levels of SDLC.

In this blog I would share my personal thoughts on What is Data Base, Views, Tables and Reference Data?

Data Base is something like a House and Tables are like Rooms and Reference Tables are like Guest House 🙂

Now I bought a house I said to my mom and dad you guys please take the room in Upstairs, sisters please share the room near to the Kitchen, brothers please share the room near to the Balcony.

Like the example above an Organization will decide to keep their data into one Data Base (Home) but in different Tables(Rooms) and when they want to keep the data that changes as per Customer recommendation then they will capture in ReferenceTables(Guest House).

Why we need View Data base ?

Again I will consider the home as example – when you are inviting your friends to your house you will not say how your house is physically build, but you will say your home address right? it is difficult to understand how they building is built rather then checking its address. Likewise the data will be loaded into Physical tables and developers will just write a Select Query on the tables , and that query will be used to create the View Database.

Primary Key and Foreign Key relationship :

Each room in your house are having a logical reference to the house and the rooms and the people are living in the rooms can be called or connected by this reference likewise in DB all the tables are Logically and Physically connected with a Column. So all the tables will be communicating each other using this Primary Key;

> After some days I gone to bankand applied for Credit Card !!! now they are asking my Account Number only !! Why ?

I got my Credit Card!!! Wohoooo 😀

> After some days I got a call from bank and they offered me a Life Insurance – I accepted it , now what

I have Insurance from Citi Bank

> After some days I my wife was urging me to buy a House 😦 so I checked in Citi Bank Home Loans Online and submitted all the documents along with my account number , after the check they disbursed the loan amount, now what

I have bought a house with loan from my Bank

If you see the above scenario Bank needs to capture all the data related to my account !!! so what they gonna do ??

First step Create a Data Base called – ACCOUNTS

and now create tables !!! is only one table enough to accommodate all the data related to me ? Ghrrrr no !!!

They will create multiple tables for each types of Data !!

Table_1 – Primary Details of my account

Table_2 – Address Details of my account

Table_3 – Contact Channels (mobile , Email. Home Phone)

Table_4 – My account Balance Details

Table_5 – My Credit Card Details

Table_6 – My Home Loan Details

Now all theses 6 tables will have ACCOUNT NUMBER as my primary Key. If the bank person wants to see my Home Loan Balance and Credit Card balance he will join tables Table_5 and Table_6 using my Account number 🙂

I hope now you understood how the Primary Key functions 🙂

Reference Tables:

Using my account details I will explain you why Citi Bank wants to create the Reference Tables ?

When I applied Credit Card , they asked about my Annual Income, I said its AUD 100K, they punched the value in their system. After some days I got a letter from the Bank says that you got 85K as your Credit Limit. I wonder how they have captured this data when they extracted the credit limit for my application. Here is the culprit Reference tables comes into the picture 🙂

When my salary in => 100K then it will refer to the Credit Limit Reference table and fixes the credit limit of 85K. I would have said 50K then my Credit Limit would have been limited to 30K :-(.