Logo

Excellence!!!

24 days ago | Riju Kansal: Riju's Thoughts Captured...

Any thoughts?
Posted by Picasa

"Right thing all the time"

2 months ago | Riju Kansal: Riju's Thoughts Captured...

Doing the right thing all the time. Every minute, every day, thruout the year. This is the hidden meaning behind the saying - 'Right thing @ Right time'. When you do right thing all the time, automatically when right time comes, the results accelerate. People call it luck. :)

Experienced power of Automation Testing!

2 months ago | Riju Kansal: Riju's Thoughts Captured...

Recently I experienced a wonderful effect of Automation Test Suite. I think I'd like preserve this experience in the form of few words and share it with friends.


Present Scenario:
Cycle 3 Started beginning of this week.
The 26 Test Sets totalling 3000+ automated test cases started to be executed.
Test data was prepared as a pre-requisite by SME manual testing team.
The very first day of Cycle 3 execution the application which was nearing UAT completion, started crying.
23 Critical, High and Medium defects were logged the very first day.
The management lost confidence in the build.
No Go.

Scenario a couple of months back:
Automation suite creation in progress.
The scripts are failing due to problems within themselves.
The automation review process is identifying a lot of issues within scripts.
The naming conventions are not being followed completely.
No test data management strategy is documented.
Testing team starts estimating 100% manual regression cycle.
Management sees low confidence in automation testing.

How did the perspective change within a couple of months?
Results.

Business looks for results to accept success on ROI.
But someone in the top leadership had the "vision" to be patient and invest in building an Automation test suite. They accepted waiting and waiting for the build and review cycle of automation test suite, to be complete.

Recently, just on click of a button the 3000+ test cases drilled thru the huge complex application with a huge business value. Helping the leadership to decide quickly not to launch the product at this point in time, and wait for the desired quality in the product to be built.

Location of an IP address

4 months ago | Riju Kansal: Riju's Thoughts Captured...

http://www.ip2location.com/free.asp
You can use this site to find out the location of any public IP address.

Be A Witness - Always

4 months ago | Riju Kansal: Riju's Thoughts Captured...

Let not your 'I' get identified with your body and mind. This de-identification is meditation.


The Buddha was once meditating. His mind started creating problems and distracted him from the path of enlightenment. It was as though hundreds of horses were galloping through his mind. But the monk remained a witness and did not identify with fear. His mind turned into thousands of elephants tempting him to identify with them, but again Buddha was just a witness... he saw through the mind's game. His mind became a loving deer but still Buddha remained a witness. He did not get tempted.

Finally, his mind turned into a loving child drowning in the ocean, seeking his attention. Buddha, out of compassion, merged with his thoughts and stretched out his hands to save the drowning child. At once, the child turned into a monster and started pulling Buddha to the ocean. Buddha realised his folly and left the monster and continued being a witness. The monster turned again into a child and started pleading for help.

Buddha continued his meditation of being not participating but being a witness. The child drowned in the ocean and emerged as an enlightened mind, reflecting Buddha's mind.

Learn to be a witness to your thoughts and feelings. In the witnessing consciousness, there is no identification with anything. Identification leads to misery. Worry is a form of identification. Literally, worry means twisting and tearing. Have you observed that when you worry, your moving centre gets twisted? Negative state of worry depression or fear... shows up strongly in the form of twisting one's body-moving centre.

I read the above extract around 6 months back. And I did not totally understand it then. But somehow it made an impact on my mind, because I tried to understand it but I couldn't make much sense of it.

I recalled it again and thanks to Google, it acts like a copy of your mind. You think it, you get it.

What I get it from this now, in my present state of my mind is, learn to dis-associate actions with results. The actions may include anything like, speaking to someone, suggesting to someone, participating in discussion, helping someone, asking for help,... You may get expected results or unexpected reactions. Do not get attached to the results or reactions. Disconnect the actions from results.

Sounds pretty far off. It is easy to write / read / discuss / preach, but difficult to practice. But practice make a man...

My take is God has made human beings as super living beings. The ultimate super powers. S/he can achieve anything desired. Just desire.

Extract from:
http://timesofindia.indiatimes.com/life/spirituality/speaking-tree/Worry-Is-A-Voluntary-Form-Of-Suffering/articleshow/5098909.cms

We are not human beings having a spiritual experience but spiritual beings having a human experience

6 months ago | Riju Kansal: Riju's Thoughts Captured...

A beautiful line said in the below article. I'f recommend reading the article at below link multiple times. It is so truly beautiful.


http://timesofindia.indiatimes.com/life/spirituality/mind-over-matter/Mind-Set-No-need-to-dread-death/articleshow/5599281.cms

The Pure Desire

6 months ago | Riju Kansal: Riju's Thoughts Captured...

I wish the writer in me is able to express my thoughts like the one below. Never mind, till there are people doing it for me. Thanks to T.O.I. writer who has written the beautiful article below, that truly intercepts my feeling...


...
There are four types of people. Most belong to the fourth category. Caught in the net of maya, delusion, they are oblivious of dangers. There are some who have awakened to a higher dimension and are aware of life’s pitfalls. They make sincere attempts to free themselves. They are the yogis. A few, the sanyasis, are able to free themselves. Rare is the person who, even while living in the world, remains out of it - ever free, the nitya mukta, the jnani.
...
A jnani is a dynamic actor but maintains his objectivity right through. He thinks “I do nothing at all” while actions are going on.
...
Renunciation is not life denying, it is life enabling.
...
A sportsperson, for instance, who turns his back on the trophy gets the trophy and enjoys the celebration.
...
Renunciation is not keeping away and living a life of seclusion. It is learning to live a life of inclusion by weeding out that which comes in the way of a fulfilled life. Ultimately, renunciation opens the doors to realisation.
...

Complete extract at below link:
http://timesofindia.indiatimes.com/life/spirituality/speaking-tree/Clear-all-the-clutter-and-enjoy-space/articleshow/5583709.cms

The question I have after reading this and anyone may have, is how do I get there? I think only a pure desire is enough to take us there. Desire to reach the level of Jnani and feel the joy of this beautiful world created by HIM.

Bidding for Agile SCRUM projects

6 months ago | Riju Kansal: Riju's Thoughts Captured...

I received a call from one of my friend asking if I had any idea about how to decide the cost of a project if it needs to be used for bidding for an Agile SCRUM kind of a project. I was puzzled at the thought at that very moment. I directed him to one of my friend who is an expert in SCRUM.

But, later I searched about this on internet and found few good posts pointing to some solutions and thoughts regarding the same, as following --

....the price for the project was fixed, but the features themselves were negotiable according to rules agreed to in the contract. The features were broken down, and time was tracked on each feature. Whenever the development team took longer than anticipated, the client removed scope. Conversely, when the development team finished a feature early, scope was added. In order to add incentive, effort added or removed was discounted by 50%. For example, if the development team finished 2 days early, only 1 day of extra scope was added. On the other hand, if the team finished 2 days late, the client only removed 1 day of scope. The contract actually specified the rules by which scope was added or removed.....

More detail at -- http://www.codesqueeze.com/how-to-sell-agile-to-fixed-bid-contract-clients/

Additionally, TDD, test coverage reports bundled with CI are key to achieve the required quality and agility during the project execution.

Pomodoro

8 months ago | Riju Kansal: Riju's Thoughts Captured...

I just started using a useful time management technique and would like to record some details about the same for sharing and future reference.

The Pomodoro Technique™ is a way to get the most out of time management. Turn time into a valuable ally to accomplish what we want to do and chart continuous improvement in the way we do it.

The basic unit of work in the Pomodoro Technique™ can be split in five simple steps:

  1. Choose a task to be accomplished
  2. Set the Pomodoro to 25 minutes (the Pomodoro is the timer)
  3. Work on the task until the Pomodoro rings, then put a check on your sheet of paper
  4. Take a short break (5 minutes is OK)
  5. Every 4 Pomodoros take a longer break

http://www.pomodorotechnique.com/resources.html

Try it!!!

Lean principles

8 months ago | Riju Kansal: Riju's Thoughts Captured...

While going thru a book on Lean Principles by Mary & Tom Poppendieck, I want to preserve quick notes, which form the essence of the lean approach to software development.

1. Eliminate waste - Whatever gets in the way of rapidly satisfying a customer need is waste
2. Amplify Learning - Encourage learning and discovery instead of first time perfect approach.
3. Decide as late as possible - In an evolving market, keeping design options open is more valuable than committing early.
4. Deliver as fast as possible - Design, implement, feedback, improve. The shorter these cycles are, the more can be learned.
5. Empower the team - Involving developers in the details of technical decisions is fundamental to achieving excellence.
6. Build integrity in - integrity comes from wise leadership, relevant expertise, effective communication, and healthy discipline; processes, procedures, and measurements are not adequate substitutes.
7. See the whole - When individuals or organizations are measured on their specialized contribution rather than overall performance, suboptimization is likely to result.

Reference: http://www.poppendieck.com/ld.htm

YAGNI

8 months ago | Riju Kansal: Riju's Thoughts Captured...

You ain't gonna need it.

Yesterday we were doing a DB design in our project which is just in its first sprint. I was paired with my team mate for this task and we were just going into discussions shaping our DB structure. Normalizing it and so on.

At one point I suggested a point from the perspective of extensibility in future. My team mate who is also our SCRUM master suddenly said YAGNI. And he started laughing. I was wondering what was that. Which language? Latin? Greek?

He quickly googled for the word YAGNI and the all the results said - "You ain't gonna need it". Instantly I recollected the SCRUM phillisophy of NO Big Design Upfront - NBDU. Just be in present do not worry a lot about future.

We laughed for while and continued back to work.

Acceptance TDD

9 months ago | Riju Kansal: Riju's Thoughts Captured...

1. In acceptance TDD we first define the specific user- or customer-valued functionality we want our system as a whole to exhibit and only then implement the said behavior,most likely using TDD.

2. Acceptance test are:
-Owned by customer
-Written together with customer, developer, tester
-It is about what and not about how
-expressed in the problem domain -consize, presize

3. The requirement is to achieve correctness at feature level and not at code level.

4. Dev Cycle:
-Select a User Story
-Write Acceptance tests for the story
-Automate above tests
-Implement the story to pass teh above automated acceptance tests.

Back to SCRUM...

9 months ago | Riju Kansal: Riju's Thoughts Captured...

Long time.. almost 7-8 months.. I was missing SCRUM actually.

Thanks to my new assignment in my new job :). I am back to a SCRUM team, playing the role of the tester. I am happy that I can use all my learnings from my Waltham University :) for my new team and project.

Right on my first day I heard back all things about SCRUM, which I was forgetting slowly being out of touch since last few months. I had my first standup meeting today and people are talking about TDD and Acceptance TDD. Cool.

Meditation is not...

9 months ago | Riju Kansal: Riju's Thoughts Captured...

  1. Meditation is not about doing:

It is easy to be in meditation, but it is extremely difficult to do meditation.

Imagine how difficult it would have been if we had to do breathing. Like all natural processes, meditation is spontaneous and effortless.

  1. Meditation is a state:

It has a very great advantage of being a fact and not a fiction

- Socrates

Meditation is the state of silence where we can introspect without either guilt or pride. In the state of deep meditation, we can correct even the fundamental flaws of our personality effortlessly.

Meditation is a state that extends much beyond mere relaxation. It is the experience of a state called as ‘thoughtless awareness’ where we are not hindered by the thoughts arising from the worries of the past or the anxieties about the future and being in the present where we experience our true nature.

  1. Meditation is not an exercise:

Breathing exercises or stretching exercises do not constitute meditation. They are merely techniques that can be used to enter into meditation.

  1. Not all who talk, know:

Stop thinking and talking about it and there is nothing you will not be able to know

- Zen Koan

People who talk about meditation sometimes have never actually experienced it. And even if someone has experienced it, it is of little value to us unless we can experience it ourselves too.

  1. Meditation has no prerequisites:

It is not mandatory to have a silent room or peaceful settings to meditate. If there is noise outside, meditation will make you silent inside. It is possible to meditate even in a crowded train or during a crisis.

  1. Meditation is not giving up on life:

We don’t need to renounce our day-to-day activities in order to meditate. Instead, meditation helps us to do things better. Proper meditation does not make us passive; instead it makes us dynamic and energetic.

  1. Meditation is not for sale:

Look and you will find it - what is unsought will go undetected

- Sophocles

You cannot buy meditation. You cannot sell meditation. You cannot do meditation. You cannot force meditation. Like all natural processes – like flowers blooming and seeds sprouting – meditation is spontaneous, effortless and always born out of the individual’s desire.

While it is easy to believe that more you pay, better the product/service you get, it is often untrue with meditation. People who spend millions usually learn nothing of value. Nowadays, a lot of ‘commercial yoga’ techniques are available in the market that promises extraordinary things but usually is observed to deliver nothing of much significance.

  1. Knowing is not the same as being:

The story is about you

- Horace

Listening to lectures on meditation is not the same as the actual meditation itself. No amount of books can teach you to swim unless you jump into the water.

A second’s experience is worth more than years of study. Direct perception is worth more than hours of listening to second-hand knowledge. To be is much greater than to know.

  1. Abnormal behavior is not meditation:

It is no proof of a man’s understanding to be able to confirm whatever he pleases; but to be able to discern that which is true is true and that which is false is false, that is a mark of character and intelligence.

- Emanuel Swedenborg

Mind going blank, losing consciousness, doing weird things are things that are neither spiritual nor meditative. Many believe that anything that is paranormal is spiritual. However, from my experience, I have come to understand that true meditation is not something abnormal. It is a profound state of inner silence that helps us understand ourselves better. It is natural and uncomplicated. And has no price tag associated with it.

  1. Meditation, a fashion statement?

The supreme happiness in life is the conviction that we are loved

- Victor Hugo

The ability to love oneself and other human beings equally is the most beautiful and attractive quality a human being can have. Meditation has the capacity to trigger this beautiful quality and thus is an eternal fashion statement. Meditation can never go out of fashion as long as humans desire for love and compassion.

Testing Framework Review

9 months ago | Riju Kansal: Riju's Thoughts Captured...

Overview:
I was invited to review the existing automated testing solution created by the testing team of Equifax project. They are facing problems related to QARun tool and clear understanding of testing methodology and framework creation.

Objective:
Review the existing framework of automated tests for a group of J2EE applications. Define a strategy for creating automated regression test suite to increase efficiency og testing team.

Application Architecture:
A set of application related to user credit details. All the data and logic handled within Mainframes. Multiple small J2EE applications basically taking care of reporting and some decision making using reports.

Data Flow:
Input Web Forms => XML => C++ => Mainframe Flat File => Mainframes Processing => Mainframe Flat File => C++ => => XML => Output Report on Web Screen

A very good set of test data is already available and is maintained by the test team. This is a great positive point.

Problem:
1. Tool being used is QA Run. It is incapable of identifying the objects on the web screen required to validate the test criteria.

Current Solution (Using QA Run):
1. Fill up the form in browser
2. Submit to generate report on screen
3. Select all the data on screen using Select All command.
4. Copy it to a txt file
5. Save it to a folder as baseline.
6. Next release repeat all the above steps.
7. Compare the two files generated above and validate of each and every character in the txt files match in terms of its location and value.
8. If they don't match look up the root cause manually.


I identified the following problems:

1. No Clear distinction of GUI and Data validation test cases.
2. Current methodology is fragile.
3. No clear boundaries for the data inside txt files to help validate reliably.

Solutions Discussed:
1. Define Gui validation test cases and data validation test cases separately.
2. Get them signed off by the stake holders for priority and importance.
3. As discussed with the DEV team, get an XML generated from existing DOM object within code which is being used to generate the report.
4. Using XPath and VBScript (under QA Run) code the data validation scenarios as automated test scripts.

Additionally:
1. Define naming conventions for test script files / test objects
2. Setup process for getting signoff from stakeholder
3. Educate the test team regarding the naming conventions and use of SVN.
4. Synchronize with the DEV team to get their help as and when required.
5. Team to learn and try XPath

Next Steps:
1. Undersand the gap between the DOM Object and the result report web page if any.
2. Create simple test script using an XML as input data and the test condition created using XPath in VBScript.
3. Present to stakeholders.

This was a very interesting exercise for me and hope this to leads to a win win kind of a solution for both the test team and the stakeholders.

Blogging direct from email client

9 months ago | Riju Kansal: Riju's Thoughts Captured...

This is a wonderful feature.

Drive Towards Excellence

9 months ago | Riju Kansal: Riju's Thoughts Captured...

Badminton. Wow!!! What a game. I just love the moments every morning I am with my badminton playmates. These 30 minutes of my daily mornings since last 6 months enrich my entire day like nothing else.

The laughter, the fun, the positive spirit of competition, sometimes conflicts and what not. We share and enjoy so much in these moments. And today I realized something which I had read and heard before but never experienced.

Four of us - Mr. Uday Kumar, Dubey Ji, Raj and myself were playing a match of 15 points. The play started and was going bit dull. Myself and Udayji on one side and Raj + Dubeyji on the other. We started scoring points whereas Raj and Dubeyji stopped on there first point. The score reached 10:1. The game was losing fun.

I thought of trying something at that point to give the game a fun lift. I started returning the shuttle to Raj and Dubeyji simply on their rackets rather than trying to dodge them to get more points. Soon I could see their confidence building up. They started scoring quickly. On our side Udayji was trying hard at his end but wasn't able to manage increasing our points because of my support to our opponents.

Soon we reached equilibrium. We were at 11:11. Now I came back to the killing sporting spirit of our original game. And all four of us were giving our best to win the game. The last 4 points till 15 gave us so much fun and excitement, we enjoyed like nothing.

I heard Raj and Udayji say, ohh it was great feeling reaching 11 from 1, the feeling as if we had already won. And ofcourse we on our side were joyous of the win.

Now the moral I derived from this unplanned and spontaneous incident was basically my control over the game was such that I allowed me to take it in whatever direction I want. I decided to infuse fun and excitement in the game and was able to successfully add it for all of us.

Drive towards excellence.

Intelligent and dangerous Virus.. Wow!!!

11 months ago | Riju Kansal: Riju's Thoughts Captured...

My NAV just caught and removed a virus, and after going thru the virus details, I was a little overwhelmed..


Please read the following URL for details of what this virus can do to any system..

http://securityresponse.symantec.com/security_response/print_writeup.jsp?docid=2008-123015-3826-99

I love music...

11 months ago | Riju Kansal: Riju's Thoughts Captured...

http://www.midomi.com/index.php?action=main.profile&username=rijukansal&tab=recordings

DRY - Dont Repeat Yourself

11 months ago | Riju Kansal: Riju's Thoughts Captured...

I learnt this thumb rule while learning Ruby On Rails. I liked Ruby very much and found it very intelligent and smart. Whatever may be the reason for not pursuing with Ruby but I liked this concept of DRY.


I found this has nothing in specific with any development language but a general principle to increase efficiency at whatever you do.

An effort once invested should be preserved in such a way so as it can be re-used by you or someone next time.

Message / SOA Testing...

about 1 year ago | Riju Kansal: Riju's Thoughts Captured...

Recently I have started working for a testing project in the financial domain. The application we need to test uses a lot messaging architectur {SOA}. So basically a number of systems interact with each other by sending messages to each other and receiving responses in asynchronous fashion.

So automating the testing for the messaging framework is very crucial. We are using a licenced software called Green Hat for this task. In this tool we basically create publishers and subscribers to various Queues. We create XML messages and send them to Publisher Queues and verify the responses using Subscriber Queues or Database calls.

This Green Hat being licenced tool I was wondering if we can find out an open source way of doing this. And I found the following link in the very first search results.

http://www.ibm.com/developerworks/websphere/library/techarticles/0808_vandekuil/0808_vandekuil.html

This is basically using JMeter for the same purpose.

What is Recession?

about 1 year ago | Riju Kansal: Riju's Thoughts Captured...

This story is about a man who once upon a time was selling Hotdogs by the roadside. He was illiterate, so he never read newspapers. He was hard of hearing, so he never listened to the radio. His eyes were weak, so he never watched television. But enthusiastically, he sold lots of hotdogs.
He was smart enough to offer some attractive schemes to increase his sales. His sales and profit went up. He ordered more a more raw material and buns and sold more. He recruited more supporting staff to serve more customers. He started offering home deliveries. Eventually he got himself a bigger and better stove. As his business was growing, the son, who had recently graduated from college, joined his father.
Then something strange happened.
The son asked, "Dad, aren't you aware of the great recession that is coming our way?" The father replied, "No, but tell me about it." The son said, "The international situation is terrible. The domestic situation is even worse. We should be prepared for the coming bad times."
The man thought that since his son had been to college, read the papers, listened to the radio and watched TV. He ought to know and his advice should not be taken lightly. So the next day onwards, the father cut down the his raw material order and buns, took down the colorful signboard, removed all the special schemes he was offering to the customers and was no longer as enthusiastic. He reduced his staff strength by giving layoffs. Very soon, fewer and fewer people bothered to stop at his Hotdog stand. And his sales started coming down rapidly and so did the profit. The father said to his son, "Son, you were right". "We are in the middle of a recession and crisis. I am glad you warned me ahead of time."
Moral of the Story: It's all in your MIND! And we actually FUEL this recession much more than we think.

What is Google Voice?

about 1 year ago | Riju Kansal: Riju's Thoughts Captured...

A phone management service which allows - “one phone number for all your phones, for life.”
https://www.google.com/voice/about

Testing I18N..

about 1 year ago | Riju Kansal: Riju's Thoughts Captured...

I18N Testing Guidelines and Techniques
http://developers.sun.com/solaris/articles/i18n/I18N_Testing.html
Looks like some help for building my testing strategy for I18N. Need to explore..

Learning to write Unit Tests for GWT..

about 1 year ago | Riju Kansal: Riju's Thoughts Captured...

http://code.google.com/docreader/#p=google-web-toolkit-doc-1-5&s=google-web-toolkit-doc-1-5&t=DevGuideJUnitCreation http://code.google.com/docreader/#p=google-web-toolkit-doc-1-5&s=google-web-toolkit-doc-1-5&t=GettingStartedJUnit

Heard new acronyms..

about 1 year ago | Riju Kansal: Riju's Thoughts Captured...

BIRT - Business Intelligence and Reporting Tools
http://www.eclipse.org/birt/phoenix/
JBPM - JBoss jBPM
http://www.jboss.com/products/jbpm
SEAM - JBoss Seam
http://www.jboss.com/products/seam

Need to explore more...

Getting started with GWT..

about 1 year ago | Riju Kansal: Riju's Thoughts Captured...

http://extjs-gwt.blogspot.com/
I found this blog very useful to get my first GWT app running in my eclipse workspace.

Using the right DB increased test coverage 10 times !!!

about 1 year ago | Riju Kansal: Riju's Thoughts Captured...

I have not worked on any web application which doesn' t connect to database. If we intend to write our application thru our tests or even vice versa, it becomes quite necessary that the DB we are using gives a great deal of support to the fact.
What support?
- Quickness
- ease of rebuilding
- smooth to handle with a programming language

I worked on an application recently which had no unit tests. When I joined the team I spoke to the team about benefits of tests - both unit and acceptance. The project had good amount automated acceptance tests though.

We tried the idea of in-memory DB - HSQLDB. This is a light weight database made in Java language. Using ANT (with hibernate) we created tasks like -
- generateSchema
- createDatabase
- populateDatabase
- deleteDatabase
Using these tasks we had great control over the DB. Moreover the DB being light and in-memory made writing tests very quick. We even configured it in Cruise Control.
Initially before we started with HSQLDB 10 days back, our test coverage was 3% and now it is 30%, growing exponentially.

Debugging Vs Unit Testing

about 1 year ago | Riju Kansal: Riju's Thoughts Captured...

We developers need to win this battle. Ofcource I am on the Unit Testing side and thatz the reason for this battle. We want to improve. We want to stop debugging, or we may call it post coding or post delivery nightmare.

  • How may of us are fond of SOPs? [System.out.println]
  • How many of us are good a putting / reading log files?
  • How many of us are good at using the debugger? Looking up the values inside objects at runtime?

We all are. Because thatz what we do most often. The percentage of time we
spend on debugging is far more than coding.

Every programmer knows they should write tests for their code. Few do. The universal response to "Why not?" is "I'm in too much of a hurry." This quickly becomes a vicious cycle- the more pressure you feel, the fewer tests you write. The fewer tests you write, the less productive you are and the less stable you code becomes. The less productive and accurate you are, the more pressure you feel.

  • Programmers burn out from just such cycles. Breaking out requires an outside influence.
  • The best way to convince you of the value of writing your own tests would be to sit down with you and do a bit of development.
  • Along the way, we would encounter new bugs, catch them with tests, fix them, have them come back, fix them again, and so on.

Do we have enough time for testing?

about 1 year ago | Riju Kansal: Riju's Thoughts Captured...

Thatz the first question I hear while talking to a developer who is not writing tests for his/her code.
"Delivering Code Without Tests Is A Sin"
This is a punch line by Bob-Martin, I heard in one of his sessions I attended. We already are wasting/investing huge amount of time in injecting bad design and bugs into our applications. So I want to ask this question again -
Do we have enough time for testing?
My question to this question is - Do we have anything to lose?

Lets start writing tests...

Post Horrible Mumbai terror attack 26/11..

about 1 year ago | Riju Kansal: Riju's Thoughts Captured...

Lots of aggression all around.. questions.. blames.. resignations..
Some groups, citizen showing a high sense of responsibility.. of worrying about the state of country and people..
Some very irresponsible.. thick skinned..
Everyone around me.. at my work, my friends, my family.. express frustration in various ways about such barbaric terror acts..
I've been thinking around all these thoughts, information revealed.. discussions..
I am a lazy person.. And I know this very well, I publicly accept this. This actually is very helpful in always being aware of this negative quality of mine. As it helps me remain alert at many times. But generally I am lazy about many things..
- my health,
- my plans towards my career,
- maintaining documents,
- filing my tax returns,
- playing with my kid,
- calling my friends,
- wishing my friends happy birthday,
The list goes on..
But still I am leading a very responsible and efficient daily life. I continue taking care of my health, my family, my social responsibilities, my career, my documents... list goes on.
How?
I am part of Cycle Of Life. The way I understand it is, there is a threshold, for every negligence, every ignorance, every selfish act, every uncaring attitude. As soon as the threshold is reached, the alarm goes ringing. I dont really care at the first alarm. But there are series of alarms well set, which keep going on with increasing threshold values. And a time comes when a blast is triggered. The blast is very harmful all the time. I have to pay heavy penalty to my bank for not taking care of my documents, I catch cold/fewer for neglecting my health, my kid starts becomming cranky and unstoppable because I am not paying attention to him...
After the first instance of each blast I start taking care to avoid it to repeat.

Our society behaves in exactly the same way. People all around the world become selfish, irresponsible, careless. If they do not listen to warning alarms they suffer thru the blasts. In the news / papers, I can read a lot about various agencies across different countries showing irresponsible behaviour in executing there duties. Of-course they are all headed by human beings who commit mistakes.

If we see the current scenario around the world, the number of alarm blasts is very high.
- multiple economies going down
- financial crisis
- terrorist activities
- etc...
This will cause damage at various levels. And bring the world below the threshold level of alarms.

I believe, the divine power can help us at the micro-est level to take care of preventing us from doing any negative act.
I wish we sahajayogis are able to convey the vision of Sahajayoga to the world.
Sahajayoga principles are the only way we can always remain below the threshold and keep growing continuously in positive direction.

By Sahayoga principles I mean -
- How can I avoid lying?
- How can I get more strength to forgive?
- How can I only love and never hate?

A beautiful world visioned by Shri Mataji Nirmala Devi. You'll see this coming true if you meet with a group of Sahajayogis.
http://www.sahajayoga.org/

Plan Of Action - TDD

about 1 year ago | Riju Kansal: Riju's Thoughts Captured...

  • Install the measurement tools, like emma, clover, Cobertura, CodeCover
  • Learn/understand the project code. Each project may have unique requirements in terms of writing unit tests, like struts, database, containers API, any other API.
  • Use FindBug & CheckStyle reports to improve the quality of code.
  • Build the initial required framework for writing unit tests, for the ease of rest of team.
  • Move from [Code - Test - Debug] => [Test - Code - Refactor] Mode
  • Achieve the state of -- Writing a new test should not introduce more overhead than the test itself.

Writing a test makes you ask a lot of questions related to the requirements as well as implementation, which eventually is very helpful to filter out any bugs which may be introduced in the appications otherwise.

What I want to do?

about 1 year ago | Riju Kansal: Riju's Thoughts Captured...

This is a letter I wrote to the management I work for -

Fortunately I got opportunities to work with & learn from industry experts like Bob Martin, Michael Feathers and Brian Marrick during my tenure in US. All of them and all the software industry experts strongly recommend test driven development as a key approach to improve software deliverables and creating very efficient and highly maintainable software.

We, in our projects, even today try to promote test driven development by writing test cases for the deliverables before we start any development. But unfortunately we write tests in XL sheets and Word documents or even worst we don’t write them at all. Having tests written in documents makes them dead and they eventually get buried in some central document repository. That’s where the dead things go. It is nothing better than not having it.

Due to these reasons the industry experts strongly recommend executable unit tests which can be run in an automated fashion. It requires a great mindset change to start writing tests before the code. We may not see clear benefits until we have at least 30% of code coverage. But still I think we have nothing to lose, as we are already in such a bad shape with the kind of software we build.

So my question to the group is -- should we allow someone to completely dedicatedly focus on this problem?

Now Bob Martin, Michael Feathers and Brian Marrick are not going to come and write code for us. We ourselves have to do it. Fortunately I got opportunities to work with & learn from Bob Martin, Michael Feathers and Brian Marrick during my tenure in US. I can at least talk about, write and demonstrate the importance of Unit testing, what I have learnt from them and then also experienced it myself.

I request the group to give me an opportunity to work for this initiative.

Thank you for reading till this point, a few more points ahead…



What I want to do?
· Be a Unit & Automated Testing Champion
· Spread best practices across projects in ODC
· Work with different team on improving development practices
· Take sessions on TDD, Automated Testing, Checklists, FindBugs, CheckStyle, CI, Emma, Design Patterns, Java, Struts, Hibernate, Spring
· Increase test coverage of each project that I work on.
· Keep continuous track of latest technologies
· Publish ideas in forums like Arch CoE, Wiki
· Contribute to various groups, open source.

My Quantifiable Goals [in 3 months]:
· Increase test coverage of 2 projects by/to 50%
· Conduct at least 5 sessions on software development best practices
· Initiate 5 techies to participate in knowledge sharing
· Share the achievements/learning once a week in Architecture CoE

What am I doing right now?
· Deployments, PRD & QA. Thankfully we have automated deployments for INT.
· Resolve technical queries of team.
· Complete Stories & bug fixes.
· Lots of Coordination activities, part of leading the team.
· Perform all the thankless activities of a Tech-lead.
· Use TDD for whatever I code and spread the word in team.
· Talk about Testing practices informally whenever I get a chance.
· Work with some proactive people to help them with any doubts related to testing practices.
· A few PL related activities like appraisals.
· I have also been told that I am a scrum master for CTB team.


Thank you for reading this, please send your comments.

Used Car Buying Tips - India :)

about 1 year ago | Riju Kansal: Riju's Thoughts Captured...

Questions to ask -- 
-Mumbai reg?
-Reason for selling?
-First owner?
-Battery?
-Tyres/Stepny?
-Dents/Scratches/Re-painted?
-Rust?
-Brakes?
-Leaks?
-Serviced on time? Have Records?
-Music System? Audio Cassette
-Kilometers?
-Who drives it?
-Price negotiable?

TDD Articles

about 1 year ago | Riju Kansal: Riju's Thoughts Captured...

http://blog.jtimothyking.com/2006/07/11/twelve-benefits-of-writing-unit-tests-first

http://msdn.microsoft.com/en-us/magazine/cc163665.aspx

http://www.aqris.com/pages/viewpage.action?pageId=5406779

Who is a Sahajayogi?

over 2 years ago | Riju Kansal: Riju's Thoughts Captured...

One -
1. Who loves truth.
2. Evaluates all his/her actions based on truth.
3. Is able to maintain balance every moment and is trying to think of ways to achieve it.
4. Has 0% ego.
5. Believes in giving.
6. Accepts the fact that one needs to exhale whatever he/she inhales.
7. Has won over anger.
8. Is forgiving.
9. Is able to take care of his/her health.

As per my personal experience & understanding, all the above seem very idealistic and unachievable qualities for a human being leading a normal life. But the only hope is as explained by SahajaYoga -- Be Connected To Divine. How? Only through meditation.

Only meditation gives the opportunity to calm the mind and get connected to divine power. And only with this power one can achieve balance. Balance is the key. Excitement and depression are the two extreme sides of balance. The most difficult thing to decide is what exactly is the center line of balance? You can understand it only in a state of meditation. Which comes by practice.

Just try not to lie to yourself each day and each minute and you can attain the state of meditation. And you'll get the strength for this by meditation. Both of these ideas go hand in hand and help each other.

IBN 7 & CNN-IBN salute the 'real heroes' of our nation

over 2 years ago | Riju Kansal: Riju's Thoughts Captured...

http://www.indiantelevision.com/release/y2k7/aug/augrel72.php

A precious gift on my marriage

over 2 years ago | Riju Kansal: Riju's Thoughts Captured...

Following poem written by my Babaji(Grandpa) :

?? ???,?? ???, ???? ??? ???? ?? ????
?? ?????? ????, ?? ?? ??? ??????,
???? ?? ????? ???? ??? ?? ??? ?????
??? ????? ?? ???????? ???? ??? ??,
???? ??? ??? ?? ???? ????? ??????
???? ?????? ?? ?? ???? ??? ?????,
??? ??? ?? ??? - ??? ????? ??????
???? ??? ???? ?? ????

??? ??????? ???? ??? ????? ????? ??,
??? ??? ?????? ???? ????
????? ??? ??? ?? ???? ???? ???? ?? ???? ???? ??,
??????? ??? ????? ???? ????? ???
??? ?? ???? ???????? ?? ????? ??,
?? ??????? ?? ?? ???????? ??????
???? ??? ???? ?? ????

?? ????? ??? ?????? ????? ??,
???? ?? ??? ?? ?????? ????? ??
??? ??? '???' ?? ?? ?????? ?????,
??? ??? ??? ??? '???' ????? ?????
?? '?????' ?? '???' ??? ????? ?? ??,
??? ??? ?? ????? ????? ??? ?????
?? ?????? ????? ??? ?? ??????,

??? ?? ????? ???? ???? ?????? ??,
??? ?? ???? ???? ??? ?? ?? ??
??????? ?? ?????????? ????????? ???? ??,
????? ??????? ????? ?????? ?????? ?????
??? ???????? ?? ???? ??????? ?????,
?? ?????? ?? ?? ?????????? ?????, ??? ?? ?? ??????
????????? ?? ???? ?? ???? ???? ??,
??? ????? ?? ???? ?????? ???? ??
??? ??????? ?? ?????? ?? ???? ??? ???,
???? ?? ?? ??? ?????? ??? ???? ??
??? ??? ??? ???, ? ?? ?? ??? ???? ??,
???? ??? ???? ????? ????? ?????
???? ??? ???? ?? ????

- ????????? ????

Strength of Gandhiji's ideas

over 2 years ago | Riju Kansal: Riju's Thoughts Captured...

I recently learnt or understood, why Gandhiji's ideas became successful and helped us acheive freedom. People say that there were many other revolutionists who deserve the credit. But what I have learnt is, historically it is proven that things happening in large numbers are more visible and have larger impact.

This is the basic idea I believe behind Gandhiji's movement. He thought of common man. What can be possible for every person easily. What is relatively easy to trigger inside a common man who doesnt know anything about Gun or Bullets? It was easy to make them realize the power of truth. The power of masses. The power of unity. Just by burning clothes. Making Salt. The people came together. And the British got afraid.

So the idea is what is easy for masses to understand?
Is there a way people of India realize the importance of education?
Is there a way that everybody thinks it is the most important thing?

Education is most important

over 2 years ago | Riju Kansal: Riju's Thoughts Captured...

Indian industry is autonomous. In competing for customers it has been expanding supply at breakneck speed. In March, India achieved a miraculous 300 million mobile phone customers in a country of 200 million households. Before liberalization, we had five million phones in 1990. No one talks about quotas for telephones any more because the market has raised both supply and quality. The same thing could happen to education. Prosperity doesn't trickle down; it goes down like a flood.

over 2 years ago | Riju Kansal: Riju's Thoughts Captured...

1. Get an overview of software testing
http://en.wikipedia.org/wiki/Software_testing
http://www.softwareqatest.com/http://www.testingfaqs.org/

2. Learn simple tools


3. Discussion Forums for Testers
  • http://www.sqaforums.com

4. Certification

Starting point

over 2 years ago | Riju Kansal: Riju's Thoughts Captured...

This is my first blog. Lets see how it goes from here.