Login

Let me introduce a new word in your professional life - UTCD : Unit Test Case Document.This term is very familiar to the software engineers who belong to CMM level organization and follow process.In this short article I have tried to answer some of the most frequently asked questions like
Ø What is UTCD?
Ø Why developers should create UTCD?
Ø How it is beneficial?

Source of inspiration for UTCD

In last release we hired a new resource and the irony of the situation was that till the task release she kept complaining that requirements are not clearly defined and I am new to system. As I was given the responsibility for upcoming release, I therefore, started finding a way to equip the all resources with basic understanding of task before they venture further in development. I started reading literature on Process and chose to follow UTCD.

UTCD is an excel document created by developers before they start with the process of development. It helps developer to outline what he/she is supposed to develop.It also, reflects the thought process of developers so that the requirement is up to the mark and deliverable are beforehand.

Following are the information that developer is required to feeds in:

ID- Your requirement is divided in to smaller task and developer assign the ID number to them

Test Case Summary - Small description of task

Methods/Fields - Which method or fields it is going to impact

Input(s) - list down all valid/Invalid inputs.

Expected Result - Performing the steps in Test Case Summary what will happen

Status - Pass/Fail [Note: This is used when developer is finished with his/her devleopment task and he/she is simply incorporating corrections in the existing development task]

Comments- Developer notes

UTCD is executed by developer after he/she finished with his/her task implementation.



UTCD helps in following

1. Understanding the requirement

2. Impact analysis

3. Unit testing of the task after completion

Full Story

Mantis – Task Management Tool!!

In my current project we use Mantis as bug tracking tool as well as customized it to use as Task management tool. My project is more of maintenance and up-gradation types. We have to redesign the older files and templates and add new functionality as new integration comes in play.

We needed open source tool to track our daily progress of work. Hence the best strategy comes out to be Task based assignment of work to resource. Mantis was introduced to us for monitoring the task and bug tracking tool.

As the project grows in size we tweaked Mantis as per our needs. Following are the steps where we use Mantis.

Admin is your client.

1. Admin creates new Tickets for every Task.
2. Admin identify if it can be “Parent-of” or “child-of” kind relationship exists within the tickets already created.
3. Now this ticket is published to Developers.
4. Developers as per their bucket size assign the tickets to themselves.
5. Now, in Mantis you can set various level of status, priority and severity.
6. Status, Priority and severity can be defined by you – you need to tweak it. …. How …Drop in your comments with your query.
7. The Task status is set to “Analysis” .This is a state where Developers write their checklist about their understanding of Task.
8. Developers can post the Queries or understanding in notes and assign back to Admin to review and respond.
9. Once freezed, Task status is set to “Under development” development notes are posted as progress made.
10. Once development is finished Task enters in “Testing Phase” and status is set to “in-house testing” and assign to Tester.
11. Tester can revert back to Developers setting status to “Development” with bug list updated in the note OR If no bugs found can assign to Admin for Testing
12. Admin Either Revert the change or Approve the built.
13. Accordingly action is taken and Task is Either “Closed” or “Closed by feedback”.
14. Once closed it is modified with closing information about the Task .Like
a. Files created
b. Files modified
c. Sql statement
d. Config vars etc

At any point of time Mantis provide reports to stack holders of project. In every Task detail you can see a short-summary where in which action in sequence can be found and it give quick info about task progress.

Mantis help us in maintaining Process in project ….how …wait for my second post .

Till then explore Mantis and drop your queries or comments.

Full Story

Presentaion Skills

Recently I was nominated for training on presentation skill. I was pretty excited because I always see myself in future as Trainer or Mentor. I have taken many a presentation at my college level so I already have some beginner level of experience on it.

The speaker was our head HR from Pune and he was simply brilliant in his session. He made our session so interesting that it was difficult to go out of the way. First session when my mind was not racing some where else!!!

He enriched us on following

1.What presentation should include
2.How to prepare yourself for presentation
3.Stage fear
4.Difference between speech and presentation
5.Art of asking questions
6.Body language
7.Tips and tricks to handle Questions in your session

The very first day we where video recorded for our own introduction and it was really a experience when you really listen your own heart beats clearly and fingers freezing at 0 Ah!!!!. Some people forgets how many member they have in family, what is the profession they are in and at the worst speechless and motionless.

Some tips I am sharing here

1.Never ever put your hands in the pocket while you are giving presentation. You never know what your hand is doing in nervousness there .You can’t see or feel but your audience can.

2.Remember the difference between eye-contact and staring. Eye contact should not create uneasiness in your audience especially when there are ladies in them.

3.Prepare yourself before presentation

4.If you don’t know anything please doesn’t bluff because if someone there sitting knows and you caught bluffing you are branded with false impression.

Remember this

A - Artificially
C - Created
R - Reminders
O - Of
Y - Your
M – Message

There are long list of these tricks with me .Contact me if you are interested on more or drop in your comment I will surely get back to you.

Full Story

Sitepoint - Best forums !!

I am a regular Forum poster at Sitepoint. From very early of my career this site had helped to grow. Forum posting has given me inbuilt strength to struggle with technical challenges in the language at times for me and at times for others in technical trouble.

Sitepoint is one of the very active technical forums I ever came across in PHP. Members are passionate to help others in technical problem. You will find experts advice and understanding on the topic you feel is difficult to get information on. They have many other services for your interests like articles on business strategies, what free new product is coming in markets, what’s new at google labs and the best - Sitepoint books.

On a regular morning I saw a very interesting quiz on flashing Sitepoint. As I am keen to learn AIR and web 2.0 so I plan to read this article flashing on Home page which follows a nice price also.

So I finished my quiz and won the copy of “Adobe AIR”- for Javascript Developer .After finishing I saw the book will be shipped to my physical address and I thought no one is going to ship book to India but with my surprise Sitepoint did.


I am feeling so happy that thought of written kudos on my blog to Site point Team. It feels great to be active member on Sitepoint. I always and will continue to recommend this site to my colleagues and other members to join.



Do visit them at www.sitepoint.com

Full Story

Regular expression to validate email address

After lot of googling I gave up and tried a number of regular expressions to fit my needs finally I end up with something my own regular expression. This may be seems quite long but it is really very simple. May be someone can squeeze by retaining all it’s functionality.

Acceptable user name characters are alphabets [a-zA-Z], numeric [0-9], Dot [.], hyphens [-], underscore [_].

  1. User name should not start with [.], [-], [_].
  2. Domain name should allow hyphens [-] but not [_] underscores.
  3. Multiple [.] in domain name but consecutive [.] appearance is not acceptable.

Example: JavaScript function to validate Email address.

Function validate_email(em)

{

if(!/^(^[A-Za-z0-9]+([\._-]?[A-Za-z0-9]+)*@[A-Za-z0-9]+([-]?[0-9a-zA-Z]+)*(\.[A-Za-z0-9]+([-]?[0-9a-zA-Z]+)*)+)+$/.test(em))

{

alert(“Please enter valid Email Address”);

return false;

}

Return true;

}

Let me open the regular expression to understand

Above Function will validate following example ids.

  1. user.name@domain.com
  2. user@domain.co.in
  3. user@domain-test.in.gu
  4. user.testname@domain-test.in.gu

Try this regular expression as it is tested and verified. Do not forget to drop your comments for it.

Full Story

Bugs – Big tortures!!

Are you one of them who make following excuses to your tester’s BUG Report

Ø How is that possible?

Ø This can’t be the source of that

Ø Why do you want to do it that way?

And ultimate reaction of all Developer “It works on my machine “…

Sometime ago the long bug report was my real worry .As I always been appreciated for my technical expertise and quick learning nature this was something which ruins my performances. I was anxious and start talking about it to other people in same field but everyone was do this , do that , concentrate while you do your testing this and that ….huff huff huff!!

Finally one day my Project manager calls me for a meeting. He said what is the problem with you? You are good with technical stuffs and you provide quick solution but why such a long bug reports. He said it’s a situation that you have tools and knowledge how to work with them but you lack what to do with it.

Here I thought to be truthful to my manager I told him my status on task and I did also updated him that it is a worrying issue for myself and I am talking with people around me but I am not have strategy to deal with this.

It was the one of my best lesson which I am going to share with you all that how to squeeze the bug counts in you’re built.

  1. When task is assigned to you spend some time with task. Answer following
    1. What to be done.
    2. Get a flowchart (for complex systems) or algorithm for your solution. It sounds very stupid but let me tell you once you spend your time here you will save a big time in development.
    3. Which files are going to get include in this task?
    4. Which Database table is going to get affected?
    5. Which will be your impact area on your system

Once you are ready with these answers prepare a checklist for your self to jump in for your show time – ‘The Development ‘.

In our CMM Processes language - we say prepare UTCD (Unit Test case Document)

  1. By now you are ready with analysis and understanding and you will sail smoothly in development phase.
  1. Time to handover your work to the Tester. As you spend more time with task you get more comfortable with task and its probable impact zone on the system. You before delivering pick your old checklist and prepare a new checklist which list point to be tested for this task. Perform Unit Testing according to the checklist thoroughly and I bet you your tester will get tuff time finding bugs in your task.
This guru-mantra has worked for me and I will be thankful for this to my Project Manager who on time educated me on how to deal with these annoying bugs.

Full Story