7 09, 2014

Writing your first unit test – Part 1

By | September 7th, 2014|C#, TDD / BDD|1 Comment

In this post I am going to show you the thought process and steps that I take while doing TDD. I am going to focus on a simple scenario to show you the baby steps that I take while writing my unit tests. This is going to be a two part tutorial. In this first part I am going to show you how to follow the 3 step process of TDD i.e. Red, Green & Refactor. I am going to [...]

25 05, 2014

Useful Tools and Utilities That I Use

By | May 25th, 2014|C#, Tools & Utilities|0 Comments

Over the years I have used a lot of tools and utilities that I found really useful. Some of these tools increase my productivity and some just make life easier for me. Some tools made me addicted to them and I started each similar software with their perspective. Here I will share a list of tools and utilities that I use everyday. I will keep on adding new tools. I am just writing about these tools because I love them and [...]

18 05, 2014

Introduction to Mocking

By | May 18th, 2014|TDD / BDD|0 Comments

If you have been reading about Unit Testing than you might have heard some of the words like Mocking, Fakes and Stubs. You might wonder what do all these terms mean, what is the difference between a mock and a fake object or why do we need to use mocking when we are doing unit testing? Today I will try to clarify some of these concepts and try to eliminate the confusion that arises in peoples mind when they start [...]

28 04, 2014

Love your Job

By | April 28th, 2014|Career Advice|0 Comments

When I look back at my career and try to analyze the one thing that I can pick to be the secret of my success in career, it has to be that I love my job! I started programming in my high school and my story is actually very interesting! In the late 90s computer programming was not recognized as a very successful industry in Pakistan. In some of the more advanced countries, computer programmers were the most recognized and [...]

25 04, 2014

Single Responsibility Principle

By | April 25th, 2014|C#, Design Principles & Patterns|1 Comment

In modern day world just knowing how to write code is not enough. If you have ever played chess, you would know that the way grand masters play their game is totally different from the way novice or even intermediate players play. It has been proven scientifically that grand masters are always playing for patterns in a game of chess. When a beginner is faced in a position he just starts thinking of all the possible moves that he can [...]

25 04, 2014

Introduction to Behavior Driven Development

By | April 25th, 2014|TDD / BDD|0 Comments

If you know about Unit Testing and Test Driven Development, you might have heard about Behavior Driven Development or BDD. BDD was first described by Dan North in an article that was published in 2006. The exact definition of BDD given by him can be translated into any language and still won’t make much sense :). Personally when I am learning about new technologies, I try to understand their use and the reason for their existence. Remember the old saying [...]

24 04, 2014

Different types of tests and which ones to use

By | April 24th, 2014|TDD / BDD|0 Comments

In the previous article, I gave an introduction of unit testing and test driven development (TDD). I also discussed why for a modern day software developer, TDD is mandatory! In this article I will go into a little bit of more detail about unit tests and tell you the various types of unit tests. Types of Tests Although if you search online, you will find that there are a lot of different types of tests and each one of them [...]

24 04, 2014

Introduction to Unit Testing and Test Driven Development

By | April 24th, 2014|TDD / BDD|1 Comment

Over the past few decades computer programming industry has been going through a complete revolution. The history of computer programming is not very old as compared to some of the other fields such as Architectural engineering, Astronomy, Chemistry etc. Unfortunately while we have observed an extremely fast growth rate in the hardware side; software development has not been as profound. If you are a software developer who has been in this industry for over 3 years, chances are that you [...]