I recently won a book for a contest held at ITKE and enjoyed reading it. I would definitely recommend ITKE contest. You get a lot of books and goodies when you participate in their contests.
Phil Simon’s book brings to light some really good reasons as to why “three in five new IT projects do not meet budget, do not do what they are supposed to or even meet the time lines”. The book is really clear and loud that there are problems in the way these projects are being handled. The examples are real and make us rethink of how we execute our projects.
The book is split into 5 parts and can be read independently. This way the readers can focus on areas they are the most interested in and also when doing quick reference they can go to section that has the most relevance to their current situation.
The author has very clearly and in easy to understand way explained the problems (why projects fail) with good examples. He also provides us with how or why systems failed in each situation. Simon also provides us with ways to implement systems that can be adapted to successfully complete projects.
Simon’s book is a good read and a book to hold on for future references.
When planning your testing and writing your test plan, think go how if there is an emergency you would like to delegate your testing work. These days with the trend of doing more with less lets go into the planning phase assuming that the worst will occur. We wont have enough time to test, we will have to cut our testing scope, not complete everything we wanted to or planned to and also that there might be other people helping us.
When planning for areas that can be delegated for testing think of
- In-dependency– I am using it as an opposite of inter-dependency. We have to identify areas/features/change requests or bugs that are independent enough that anyone who is assigned to it does not have to run round and round to gather information. They should be able to pick that piece of work and start working. This will add more value and save time for your test team. It wont be of any use if your testers spend more time explaining and helping this person than it would have taken them in the first place to test it. So in your test plan identify these areas that can be easily handed over to someone else for testing. Also make sure the test cases for these areas are written so anyone who has basic product knowledge can execute these tests.
- Knowledge level of product– Split the features into areas by knowledge level. So which areas cannot be tested if you don’t know almost everything about the product. Which areas can you test without knowing everything. The areas which need least amount of product can be handed out first for testing. If there are areas that need special skills then keep them for people who have those skills. An example from my project would be calculations. Not everyone can understand the variable rate loan types that then change your payment types and fees. This is something I would not expect to delegate or someone to be able to successfully test if they don’t understand banking/lending business.
- Time spent to save time – Always decide if we spend time to get someone else up to speed will it take more time than the actual testing. If it does then test them within your team. Yes it might be an easy area to hand over but training time will add more complexity to something that you can take care of in less time.
- Cheat Sheet– If you have a cheat sheet for setting up your product, save time, find information, etc share them. Don’t let the people helping you reinvent the wheel.
With a good plan in place when you run short of time you can fall back on your test plan for delegating testing without fear.
Online Webinars – All big conference these days have their session online as webinars and podcasts. Most are free and some might be charged but reasonable considering we didn’t have to spend on airfare, hotel and travel. There are options to sign up on their websites to receive links to presentations, webinars, podcasts, etc. Also its easy to follow conference happenings on twitter where they have people twittering live from there. They use hash (#) and word assigned to the conference. For example “Agile Comes to you” conference could be followed at #Agile2U. All we have to do is search for this word on twitter. Same way these conferences can also be followed on face book and blogs where the attendees write in detail about the conference, the topics of discussion and trends in the industry.A few Conference link
Books and library– Books are still a good source for gathering information. I usually join a book club at work get a few different ones to share with my co-workers. This way you can share vocabulary and ideas from these books to solve problem, apply new processes and learn.
Networking– Professional associations usually provide opportunity for networking and learning. Reaching out to the local chapters to ask if they have any events planned that our team can attend has helped. We can also reach out to see if they will come in house to talk on topics of interest to our organization. We can hear speakers teach newest trends in our field. Most of these organizations have low to no member fee to join and give discounts to companies. Most companies are already members of local chapters of a few organization. I would start with those and see if I can recommend a few more that the company can join and benefit from.A few Testing Organizations
Hat Swaps– Swapping our job with someone in our team for a short or long period of time is a good opportunity to learn and grow. This helps with learning more skills and spreading our wings into an area we are not familiar with. We can do this a few hours a week or for a couple of weeks. This will provide opportunity to learn something new and will also give a chance to look at our current job differently. Being able to wear different hats also shows the company that we flexible and will take up challenges and opportunities thrown at us. During crunch time they may reach out to us to help out with work that we don’t normally do. This gives us an opportunity to learn and grow at the same time.A few websites I follow for software development and software testing
How do we do it?
Free Seminars– There are a lot of marketing companies that sponsor seminars related to their products. The best way to get information is to login to websites related to the tools being used at work. They usually have section for seminars and events. Sign up to receive newsletters and event information. In the past I attended quite a few in person seminars and online seminars.A few upcoming free seminars or pre-recorded sessions can be found at
Online Resources – Search engines are my best friends. Anytime I face a problem, challenge or am plain curios on a subject I just search the topic. Google, Bing and other search engines are pretty good with giving relevant information. I look for sites that are affiliated with organizations related to my industry. So for software development testing I would look for authors who are or were testers, have been in the software industry for long, or are articles that are published in magazines known in my industry.Software Development Blogs
- Software Test Profressionals
- Better Software Magazine
- Link to Software Testing blogs
- Link to Project Management Blogs
Public Classes or Courses – Local community college or online school might provide courses related to our industry or job. I found online classes at my local community college for Microsoft Excel, leadership, writing, etc for less than $100 for each course. Even if I sign up for one or two courses a year I am boosting my career and it will be knowledge that I can use everyday. Also at times if I find something that is reasonably priced, I ask my company if might sponsor it.
During slowdown or recession, budget cuts become the norm. One of the first things that get cut is training or opportunity to grow within our job. This is the time when we need training and information to gain additional skills to cope with difficult conditions or need a boost to keep up with changes within the organization. Just because the company is not paying for high end training or sending us to large conference does not mean we have to stop learning or seek information which will help us do our job better. So what can we do? We can do a lot to help ourselves and help the company we work for to be successful in these hard times.
We need to learn
- About the trends and changes in our industry
- This will help us stay up to date
- Also where applicable we will be able to take these trends back to our everyday job for problems that we are struggling with
- New tools
- If we don’t research the new products out there we wont know what can help us
- Learning the new tools will help us with researching the prices and benefits and at times we may find something better out in the market than what we are using and in turn this might save the company a lot of money
- About problems our industry is facing
- If other organizations are facing similar issues and are talking about it, eventually someone will discuss solutions that we can use too. We will be able to take it back to the team for discussions.
- We maybe able to prevent some of those things from happening at our organization if we know what to look for
Quality – what is your definition or understanding?
I am aware of Jerry Weinberg’s definition of quality – ‘Quality is value to some person’. I also feel that what quality is to me might not be quality to someone else. It varies from person to person. I do not give much importance to the definitions as long as the final mission is met.
What are some lessons you have learned about software testing that you wish you had known long ago or you wish someone had told you about?
This is a tough question. Initially, I thought testing is all about hunting bugs till I heard from a testing expert – ‘Testing is gathering quality related information to help stakeholders make informed decisions.’ Wish someone told me when I started testing but again, testing is a wonderful journey. It is sweet when you fall into traps and discover these lessons all by yourself.
Did you adopt testing or did testing adopt you?
I started my first job as a software tester and I am still a software tester. The journey is sweet, I learnt a lot of lessons. I am not sure who adopted whom.
Name your favorite book on Software Testing?
I want to list three of them.
1. Testing Computer Software – Cem Kaner, Jack Falk and Hung Quoc Nguyen
2. Lessons Learned in Software Testing – James Bach, Cem Kaner, Bret Pettichord
3. How to Break Software – James A. Whittaker
Who is your hero?
Many. Too many to list out here!
What do you do when you are not working?
When I am not working in office and I am at my home, I write blog posts, follow discussions on twitter, take part in testing competitions/challenges, read articles/books on testing and interact with other testers. Other than that (hardly I get any time), I watch cricket, chat with my friends and work on my autobiography.
What is a skill or strength that sets you apart from others?
I practice what I learn. I work hard to improve my skills and I grab every opportunity & give it my best shot.
What (or who) inspires you?
Any book by Robin Sharma (www.robinsharma.com) and few bollywood songs inspire me.
Ajay Balamurugadas, is a software tester passionate to learn to test any software. He has been awarded scholarship from Software Testing Club and is a brown belt student of Miagi-Do School run by Matt Heusser.
He is co-founder of “Weekend Testing”. Ajay shares his testing activities and learning through his blog
“http://EnjoyTesting.blogspot.com” and tweets @ajay184f
How did “weekend testing” start? Who were the people behind it? How did it help you?
I am assuming that you are asking about Weekend Testing (www.weekendtesting.com).
Weekend Testing (WT) was started in August 2009 in Bangalore, India by four passionate testers – Parimala Shankaraiah (@curioustester), Sharath Byregowda (@sharathb), Manoj Nair (@manoj_mv) and Ajay Balamurugadas (@ajay184f). Few months later, Santhosh Tuppad (@santhoshst) joined us. We wanted to practice testing and we found it very useful to discuss our testing ideas with each other. As of now, we have chapters in India, Europe, Australia/New Zealand, America and we have a European WeekNight chapter as well.
Most of the times, I facilitate the Bangalore chapter. As far as learning goes, WT has definitely helped me a lot in terms of time management, focus on mission, generating new test ideas and learning different products. According to me, the best part of any weekend testing session is the discussion session where you get to know the thought process of other testers. Apart from facilitation which is a huge learning opportunity, participating in other chapter sessions has helped me improve my testing skills. I recommend Weekend Testing to any tester. You can try it for yourself. Test, Learn & Contribute. You can find details of the next weekend testing session here – http://weekendtesting.com/discussions?vasthtmlaction=viewforum&f=4.0
Tell us about how you got into testing and what is it that keeps you here in this industry?
My entry into testing was accidental. Right after college in 2006, I was hired as a Associate QA Engineer. My role was to ensure *quality* product by finding bugs. I felt I did not fulfill the mission as I found bugs that were either not important or were unreproducible. Later in 2007, I attended the Rapid Software Testing workshop by Pradeep Soundararajan (@testertested) who inspired me to test better. Slowly, I interacted with lot of testing experts like Michael Bolton (@michaelbolton), James Bach (@jamesmarcusbach), Matt Heusser (@mheusser) to name a few and I am still learning to test better. What keeps me here in this industry? I don’t know. Why am I still in this industry? I love testing.
You were at a testing conference recently. Which one? Can you tell us about your experience?
I was at two testing conferences this year. First one at Vietnam, VISTACON 2010 http://www.vistacon.vn/from Sep 20-22. It was a dream come true for me to meet Dr.Cem. I won the bug-hunting competition conducted by LogiGear Corporation and won myself a free ticket to the conference. The sessions were very informative and I shared some of my thoughts here http://www.eurostarconferences.com/blog-posts/2010/9/20/vistacon-updates-for-the-eurostar-blog-readers-by-ajay-balamurugadas.aspx
here http://www.eurostarconferences.com/blog-posts/2010/9/22/vistacon-updates-for-the-eurostar-blog-readers-by-ajay-balamurugadas.aspx and here http://www.eurostarconferences.com/blog-posts/2010/9/26/vistacon-updates-for-the-eurostar-blog-readers-by-ajay-balamurugadas.aspx.
The next conference I attended was at Copenhagen, Denmark – EuroSTAR 2010 from Nov 29th – Dec 02nd. I won the BlogSTAR challenge and the prize money was an all expense paid trip to the conference. This was the first time I presented on Weekend Testing in a conference outside India. This was my first trip to Europe and the entire conference was amazing. A conference filled with lots of experience reports and not just best practices, a conference within a conference, the Test Lab and I can just go on. It was great to meet many of my friends whom I knew just by their twitter/skype id. Some of the wonderful posts on EuroSTAR 2010 are at http://www.eurostarconferences.com/blog.aspx
Any advice for new or young testers?
Work hard, Do not fear failure. Every shot that you do not take is definitely missing the target.
Listen to your heart.
If you win, you gain.
If you lose, you learn and that is even more important.
I had a good 2010. I started blogging, met some great testers (online and in person) who were motivating and inspired me to do more with my knowledge. I am glad 2010 was a good stepping stone year to build a foundation for where I want to go with my career in the coming years. With growth comes more responsibilities, more work and few more to dos. Yes that means I will be super busy and I want to take it as a challenge.
Resolutions are made to be broke (at least that is what my husband says all the time). So I am going to call them my goals for 2011. I have quite a few goals work and personal life related.
I look forward to blogging more about my adventures in the coming posts but wanted to take this time to thank all my readers and wish them a very happy new year.
A fellow ITKE member asked
When is Test Strategy document prepared? Is it prepared before or after test plan?
How is it different from Test Plan ?
What are contains of Test Strategy Document?
Depending on the organization you work for test strategy could be a separate deliverable or part of the test plan document. Where I work we use test strategy document as the first step in test plan. We use this document to outline out strategy of testing the product at a high level. This document is written at the planning stage when the requirements are in progress (this is based on a traditional waterfall SDLC).
Test Strategy document should typically contain
- Testing stages – examples would be integration testing, regression testing, functional testing, etc. So depending on what you plan for your product add the relevant information.
- Schedule – this will depend on the project charter. How much time do you have, what are you planning to do in that time and how will you best use this time.
- Environments – plan your test environments that is needed to complete testing. If there are some that wont be available due to various reasons add it to risk section of the plan.
- Resources – How many testers and if you have specific tasks assigned to them. Eg if you have an automation tester or want a tester to look at automating the regression tests then add that info here.
- Procedures and process – What are the testing processes to be followed, where are the test cases going to be stored, how and where are defects going to be logged, how often will status be sent out and who sends it out, etc.
- Risks – you can either add your risks directly here or link it to another system that your project might use to manage risks.
The above template is just an idea to start writing a test strategy. As you start writing you may think you need to add additional sections that are necessary for your project. This document should can change as you learn more and should be treated as a living document.
I am rephrasing the question that was asked by fellow ITKE member. His question:
What all skills are required for a Software Tester having 1 year experience in Testing in terms of:
The question really is what skills do young software testers need?
- Understanding of software testing basis: this is really a must as you cant even get past the interview if you don’t have the basis understanding of software testing and what it means. How to accomplish this? Well pick a good testing book and read. You can find a list of books here (http://vyaskn.tripod.com/software_testing_qa_books.htm). These are based on amazon sales rank. You can start with one and then expand on ares that interest you.
- Read blogs and publications related to testing: There are lots of wonderful testers out there who share information. They share their experience, their knowledge, their learning’s, their beliefs, their philosophies. You will learn about software testing trends, technology and other testing related information.
- Get involved with testing community:Most cities have local testing chapters or QA chapters. Get involved and be active. Learn from the people who have been in this industry for long. This networking also helps with getting jobs. The world especialy testing world is round you end up meeting the same people in places you least expect. One of them could be your next interviewer or boss.
- Socialize at work: At work talk to developers, business analysts, architects, product managers, etc. Learn about your product, learn about your company and learn about testing philosophy. Its also very important to understand who uses your product and what is the problem that your product solves.
- Develop soft skills: You have to have soft skills like being a team player, working with the development team (don’t think you are against them since you have to find bugs in their work). If the project fails you fail as a team in the end. You can step back and say I found bugs so now my job is done. No its not that easy. Its your team be it developers or business analysts. Good communication skills is good and if you think you lack this skill then working on improving this skill Go to classes, learn from peers or get a mentor.
- Be passionate: You should have passion for testing. This is true for being successful in any job. You have to sell your bugs, you have to sell the trust that you are doing everything you can for your product.
- Be proactive and learn to work without supervision: You have to seek answers if you don’t get them. You cant expect spoon feeding no matter if you are a newbie or a veteran. This is just how it works in this industry.
So all newbies out there know that you are not alone. There are resources and other people willing to help. You will just have to take the first step and see how many people are there to hold your hands.