Testing express

Testing express

Monday, July 2, 2012

Version control - Part1


As a tester,

How may times have you encountered this

1)You recieved a wrong build?
2)A closed defect is reproducible?
3)Fixes are missing from build?
4)QA environment has different version from dev environment?

Software versioning and revision control is one of the most important activity of  a software project. There are many freeware and commercial version control tools available in market, The main aim is to help developers manage code.

Why should a tester know about version control? what is the use? A tester gets a deployed build to test from a deployment team or a development team. why does he need to worry?

Because, This is one of the potential areas of bugs being created.

For Example, Imagine a software project team divided into different groups: server team, client team, graphics team, database team etc. Eventhough they all work on different groups of a project, they all use a common source control tool to manage and maintain their code. This is infact a place where many things can go wrong. That is why project managers or leads define a common structure and best practices for all the groups to follow so that they do not make mistakes.

In theory this looks easy but in practical, it is very hard to avoid mistakes. Sofware development is considered a complex activity, As the project scope increase, so does the team size and with the changing dynamics, it is very important to keep every thing in sync.

Today I got an opportunity to attend a session on SVN. It was very interesting. I heard a lot of terms used in the session which I will list out here

Trunk
Branch
Tag
Merge
Conflict
Commit
Update
Repository
Version

In another post we will discuss more about  each of these terms.

Sunday, July 1, 2012

What Testing IS and NOT



A tester is the only person in a software project who has priviledge of knowing the product end-to-end. This is unlike their developer counterparts, who are restricted to certain feature or module.

Testing is considered a natural trait in any person. I feel this is a misconception. Though, testing is a natural activity, but It needs more skills, passion and attitude. Tester's only get better by practice. The more complex the software the more challenging it is for any tester.

There may be few simple applications, which gives the tendency that testing is simple. For me, testing is an interesting & challenging activity, where I can use and apply my skills. Testing is not bounded to one specific area, unlike developers who are labeled by the technology. EG; Java developers, C++ developers. Even there are many agencies or companies who try to label testers as database testers, windows testers. This is irrelavant.

Testing is similar to solving puzzles where you have different categories of puzzles, similarly different applications in testing terms. The skills needed are same but strategies may differ.

A tester who is testing a banking application cannot use the same technique/methodologies when he is testing a massive multiplayer game. There is nothing as a "Banking applications" tester or a "Gaming" tester. A tester who can test banking application can test gaming application as well and vice versa. The only thing that changes is domain.

Because testing is considered a natural trait, we can draw inspiration from different fields of professions for ideas & skills. Tester's can wear different kinds of hats based on situations

Testers are like
Detectives - Investigation skills
Journalists - Question asking abilities
Scientists - Analysis, problem solving
Politicians - Diplomatic
Military - Team management & leadership skills

Testing is NOT
-a simple activity
-last option
-something everyone can do
-the only activity of finding bugs
-about finding mistakes