The other day, my friend was asking how do you learn to test products, few years back you were not familiar with that product and now ! I was trying to explain to him that we testers start our journey of testing by using any product and playing around with that .. So it struck me that I should note down few points about how any tester would go for testing...
When I am asked to test any product that I am not all that familiar , I treat myself as a user of the product. I start exploring the product and its functionality.
1. I play around with the product. See what are the user options given and how the system behaves.
2. I look into the any help thats available to find out what I can expect out of each functionality and try out the same operations.
3. I then slowly try and manipulate to find if I could violate the normal course of actions to see what happens.
4. While trying out the operations, I keep in mind the factor "usability". How user friendly the product is? How good the error messages are? Did the system exit gracefully in case of issues?
5. Find ways to enter non allowed values. try boundary conditions.
6. As a tester, I would also validate the help files and manuals provided to see any gaps or wrong information provided.
Tester is a user of the product first, how ever, s/he has systematic approach of using the product with "what to expect" at each step. And these systematic approaches are converted into formal test cases to validate the product behavior each time the test is run.
As just a user, I may not abuse the system since I am not interested in breaking the system, Vs as a tester, I would be happy to find a scenario/point where the system breaks.
This is just the beginning. More on testing to come :)
SumaChakrabarti 2700005SBA Etiquetas:  memories servlets java db2 jdbc 6 Comentarios 1.620 Visitas
Lately I have been fan of the blog Proof is in the testing by Govind and he has actually inspired me now to start blogging again ! Thanks Govind.
I have been in the software industry for almost for 10 years now and when I look back those memories still feel fresh. In Jan 2000, I joined DB2 team at IBM Bangalore to do my internship project for my last semester MCA course. The project I was given was to create a web application which will manage employee payroll and project details. I was given a computer of an employee who had been on on site assignment.He is a good friend of mine now :). I did not even know how to plug and assemble CPU, monitor and network cables to get them all into 1 piece ! We had lab coordinator at college who would all that for us. I was so thrilled when did that all myself for the first time.
I did not have a clue as to what needs to be done! All I was aware of was DBMS concepts, SQL and also software engineering concepts to some extent. So I had a initial discussion with my lead/mentor then (3rd line manager now :)) for requirements and details.
The requirement was simple - End product should be a web interface which will allow the user with admin privilege to add/edit/delete details regarding employee like name, salary, project , department that he is working for, whom is he reporting to etc. The employee him shelf should be able to only view his details and the manager should be able to edit few details of existing employees and so on. I had to use DB2 UDB.(I used version 6 and the latest now is 9!).
It all started with reading various books (real heavy books :P) on fundamnetals of DB2 UDB, DB2 Command Line Processor,
DB2 Call Level Interface. So first goal was to create a clp file which would create a database, create a table and be able to insert rows.
Once I was able to do that and showed, I was given a next set of tasks to do the same thing dynalically. I did that using CLI. I spent almost a month just reading and practicing to get comfortable with DB2 as product and its concepts.
I then had to get to the real database design. By database design then meant only designing the table structures, normalizing them. I did not have to bother about how many table spaces I should be creating and what should be type or size of each of those table spaces etc. I wasn't even sure as to how CLI/CLP would be turned into web ! Again I had to hunt down then answers and then came to rescue one more IBMer who gave an idea about using Java Servlets for getting the web application up.
So back to square 2 (not 1.. I have already crossed square 1 u see). I had learnt C a bit in my college (We needed for our college projects and campus interviews :P) but no idea on Java Servlets.. So had to get back to good old friend.. Books ! Thats the first time I think I used search in Google to know on the technology. But sincerely, I loved the book Java Servlet programing. I bought it and still have it with me !. I used Java Web Server (I think it was a free down load then not sure now) for deploying my servlets and to see how my web app looks!
So I was ready with all my code, database design, DB2 database created, table structure ready etc. How ever, one fine day I understood (in real sense) what Object Oriented Programing Concetps mean. And you will not believe, I rewrote whole of my project code to cater to the new lesson that I had learnt... I am glad I did that without some one's push and after really understanding what the concepts meant. It did not take much time to convert the existing code to suit the new requirement. All I had to do was to exactly imagine what a object should be consist of.
For ex : If I considered Department as a table which had department id, depart name column then I had a Java class which had a below structure
1. It had department id and name as its members or fields. (I dont remember at that time I had thought of declaring them private or public)
2. It had set and get methods to operate upon these fields
3. From operation perspective, I should be able to Add/Delete/Modify department data , hence the class had methods to do these. These methods would have JDBC calls made to DB2 database underneeth. Agian to note, I had completely read through this book as well.
4. My UI should cater to Add/Edit the details - I had written a method PrintUI , which had code construct the java string using html tags and would return the string.
5. My UI should be able to delete the details. - Same printUI method was used with different parameter I guess !
So actually I am done with my Department object! All I had to do was apply the same technique for other classes/tables too.I might have written some extra methods specific to some complex tables.
During this project work, I spent more than 2-3 months to read and learn the technology, write code and test it probably in a month or 2 last 15 days to actually document the project report.
Hope this entry was useful to you in some way. I Plan to visit all my years in IBM one by one and bring back those memories and hope you would enjoy these entries !
In my last entry, I have shared the exp of file uploading and sharing feature. I have been busy recently exploring new looks of My developerWorks, and it does confuse me at times. May be because of I have kind of become insane after 2 weeks of continues testing work that I am doing how ever slowly got hold of few things.
I have always liked Face Book because, I could get to know whats happening with all my friends and I am happy today that I am now connected with my professional network equally well. I can now know what each of the person in my network up to.
When you login to My developerWorks, you will be taken to your Profile page, thats where you could catch up with updates from people in your network This page shows recent status updates.
If I want to catch up more on the updates by people, then you should be visiting the Home page. If you want to still narrow down, then click on each of the category links like
Happy Exploring !
Current work load is not giving me any room to think beyond my sprints and testing cycles.. But its tough to resist !! When I saw a status update by Jim on my Face Book, I had to get to My dW and discover the new look and feel. I can just say its really cool !!
So I thought let me quickly share what I saw and learnt newly..I will choose the easiest one today -> Files
Have a piece of information in a file and want to share ? You could do it right here ! Get to Files section and upload a file. You can keep it private, share it with specific set of people or mark it public for public view. You can also create collection to have more than 1 related files. You can have a view of files shared by you in "Shared By Me"
Looking for some files shared by others ? Checkout Files Shared with me or Public Files
You can download, recommend and comment to any file upload..
I found this image very hilarious and have shared here -> Stunning Moment
So what are you waiting for ... checkout the new feature and share files across your friends and colleagues
SumaChakrabarti 2700005SBA Etiquetas:  jsf mydw myfaces java my_developerworks apache developerworks interview 2 Comentarios 1.562 Visitas
In response to: Interview with Hazem Saleh, Apache MyFaces committerHi Val, you are doing a great job, introducing people to community. I wonder if I can take the privilege of interviewing, though I am not that good at that ;) .. But definitely I will :)
In lab, I generally get to work with many test machines (windows flavors) and I connect to them by using Remote Desktop (mstsc.exe) utility. When a machine is part of any domain at times logging into the domain account may give error like below
To logon to this remote computer you must be granted the allow logon through terminal Services right.By Default, members of the remote desktop users group have this right. If you are not a member of the remote desktop users group or another group that has the right, or if the remote desktop user group does not have this right , you must be granted this right manually.
Solution to this error is to Add the user to remote users list.
Select the System properties of the machine you would like to allow the users to login and Remote tab and Select Remote Users
Add the domain user
Its been completely an year that I haven't known how my office looks like! But pretty much know what each of my colleagues is up to :) I have just been missing my office building and not the office environment and I really thank IBM, my team mates, my management and my family for allowing me to have such unique experience.
After "Ananya", my 11 month old daughter, I chose to work from home. As I said, earlier, till today not once have I felt "Why am I working from home". I never missed an opportunity to network with my colleagues, friends.(of course over the phone call). Never missed a meeting. Never missed a demo or presentation or a discussion. Being away from office is not actually stopping me from doing anything that I used to do earlier. My home is my office away from office.
People made sure I am into all of them "Completely" by connecting me through phone, net meetings and other means.The meetings are always planned in advance with meeting ids. Always there is some one out there who remembers to call me in for our daily scrums. Be it team meetings or plan for any sprint cycles,,I am there !
The best was-- we had a session on Assertive skills by my friend Aparna and in the end there was a role play. My team never left me alone there too..I was taking that session over the phone and they made me take part in role play as well and I bet I did well too.. Cheers you all out there ! Thank you very much for your support.
At home each one of them co operate to understand my dual needs. Even my lil 5 year old daughter :). Really feels good to have such wonderful people around me ! Thanks to all of you out there!
So what have I missed then ? Of course I have missed going to lunch and little walk with my friends @ office. Missed couple of get together! Missed having a chit chat over a cup of tea. Missed sitting with my team mates and discussing over the problems that we have. Missed the little jokes we crack while we work.
I have also "not so missed" 3 hrs of travel time, Rs 300 daily fair, stressed days and much more may be ! How ever I may not be missing all these shortly ! Would be back to office some time soon and will have to start getting adjusted to new life style again !
SumaChakrabarti 2700005SBA Etiquetas:  academic hire employee ibm initiative student college technology innovation new 1.504 Visitas
In response to: Was there toilet paper caught on my shoe?I enjoyed this reading thoroughly :)
In response to: Interviewed in developerworksYes Indeed. It was nice knowing you. I liked especially the "Kerala" part may be because I could relate better... And today Shashi Taroor was in headlines for saying something annoying in twitter :)
SumaChakrabarti 2700005SBA Etiquetas:  myers-briggs personality personality_on_the_job 853 Visitas
Last week I was talking about "Why should anybody hooked on to any application or website?. Sorry to say , but I got unhooked by one of listed application - Mafia Wars ;) .. and it made me think again, why did I leave it? and here are few reasons.. Are these applicable when any product gets run over by another product ?
Now, compared to above points, If I think of developerWorks, I just can't say I know dW completely. As Frances blogs in one his entry we have got n number of things to explore in dW. Downloads to free trials, articles to blogs, forums to activities and much more. I know I can't even think of finishing reading or using these resources in my life time. So it satisfies my "variety" need.
Did I miss out to list the new student portal above? Its a one stop shop for students, believe me! I was amazed to see the kind of stuff which are offered to the student community. I wish we had all these when we were students [Not that I am not a student now.. in the sense I will be learning something through out :)] !!
I remember my college days, we never had internet connection in our lab, nor any high end computers ! We had a common lab and systems with UNIX and we used to get satisfied with Pine to send and receive emails ! Ah those were the days ! and now I see most of them having access to internet (Not that I envy it .. at times I do .. Shhhh) and surfing through things.. of course some good and some bad ;-). But my point is one does have an option to get to such resources.. So better make good use of it
In response to: Help create a smarter, more productive work environmentThanks Antony. Have registered myself. Hope to see some good conversation happening.
SumaChakrabarti 2700005SBA Etiquetas:  apis twitter learn plugins try sametime 2 Comentarios 2.068 Visitas
As Same time (ST) plug-ins are one of my favorites, I like trying out new plug-ins and have been wanting to develop one by myself. I can code in Java, I have Eclipse IDE and the environment set and have Google ! :) what more do I need to get started ?
Not enough if you just want to do something right? You have to know that that something is ? So while I was pondering about this "What", I thought why not try some twitter APIs and build a ST plug-in. So I began my mission :). I know you may be thinking - ah you are very late.. but its better to be late than never isn't it?
Got some really cool search results and sharing some of them here.
Writing Your own Twitter Application Using Java, Swing, and Twitter4j
Twitter API Documentation
wikibday: Playing with the Twitter API
Twitter4J - A Java library for the Twitter API
Currently, I have headed forward with Twitter4J and you can see my tweets show that they have been updated using Twitter4j. So what are you waiting for ..Follow my tweets to stay connected.
While been busy with getting used to new agile techniques for our recent test cycles and so much of work to do, I always have found some time during the day to visit few sites every day.(No matter even if my day finishes 11 in the night!) - And they are My dW, Facebook, Mafia Wars (an online game application in FB) and Twitter.
On the other hand, Eclipse platform and Java are my favorite too. If not daily, once in a while I find times to do something there, though my regular work has got nothing to do with Java.
And I have been thinking what makes me get hooked onto these sites or applications? These points are helpful while we design and create any application in general ?
Here are few reasons (I haven't segregated the reasons for each of these)
Do you have some favorite sites or application that you use regularly ? If so why ?