10 Skills of Elite Testers: Day #4
Go To: Day 1 - Day 2 - Day 3 - Day 4 - Day 5 - Day 6 - Day 7Each member of a project team has a role to play. One part of the team has to decide what to create, another is responsible for tracking the project’s deliverables and milestones, yet another group will focus on creating the program, web page, database, etc. As a Software Quality Assurance tester, your daily role is to work through the program to validate and report its stability. This part of QA is done through daily testing of the program. In order to test most effectively, QA must ask the questions that the other members of the team have overlooked.
Skill #5: Asking The Right Questions
The development team has been tasked with creating a working program based on the marketing requirements they have been given. Their job is to work out the logistical issues that arise from taking an idea and making it a tangible, working reality.They are not going to be focused on all of the infinite possibilities that will affect their creation in the real world. This responsibility falls on QA. Ensuring that all of the variables are accounted for is the area where QA can add yet more value to the project. This is an often overlooked ability that QA can bring to the table. Most run-of-the-mill QA testers may complain that there is no way a program will work as originally envisioned or will whine that there is no way they would ever purchase the product. This is a golden opportunity that many QA people miss. If there is something wrong with what is being created, if there is question as to the value of the product to the target market, QA is the team that has this information readily available to them. This is because QA is using the program EVERY DAY! No other part of the team is as intimately aware of how the program is performing! The idea must have looked good on paper. And the developers probably wrote some very elegant code to tackle all of the complex logistics of making the product viable. But only QA is using the program every day. Only QA will see every time there is a resource conflict with another program, or if the sign-up method creates a path for a user to not be able to upload their videos, or any number of myriad circumstances that make the product a burden for the end-user in some way. When this happens, QA must bring it to the attention of the project team. When the implementation that made sense on paper results in an issue for the end-user, it is the duty of the Quality Assurance Professional to bring this issue into the light. QA must alert the project team that the planned implementation is not as seamless as was assumed nor as joyful as had been hoped. To put the issue in the proper light, the Quality Assurance Professional must ask the right questions for the end-user. It is possible that the implementation matches the product requirements, but maybe the requirements did not take all the variables into account. This can result in a product that matches the specifications, but does not meet the end-user’s needs. QA must ask the right questions: - What need is this product intended to meet?
- Knowing the target market: Does this implementation truly meet the need as intended?
- Does the implementation create a conflict with other software that the target market is known to use?
- How could the usability be more intuitive for the end-user?
- Does the program create a user path that will be confusing for the end-user?
- Will this product truly add value for the end-user or does its use create a burden?
This goes beyond just logging bugs! These are issues that will affect how the buyer views your product!Certainly these issues should be logged as bugs, but be aware that you only set the Severity of the issue, not the Priority. If you have logged an issue with a moderate to low Severity and you see that it has been given a low Priority, question that prioritization! Bring this issue to the attention of your Lead or your Manager or the Project or Product Manager. Explain to them the true end result of the bug and clearly state why you think the issue is more important than the Priority it has been given. Advocate for the consumer – that is part of your job! They may not have thought through all of the possibilities that you see. Maybe they have, but they forgot about them. Maybe they think that the issue will affect only a very small percentage of their target audience. If you have done your homework, you will know what percentage of the buyers will be affected and this is why you are bringing it to their attention. This does not mean that all of the issues that you raise will be fixed in the current version of the product you are testing, but it does give the team the opportunity to look at the situation as you see it. It gives them the opportunity to do the right thing. If it is important enough, they will fix it in the current version. If the risks associated with fixing it are too great, at least they will have the opportunity to plan to fix the issue in the next iteration of the product. Being seen as a member of the team who cares enough to ask the right questions will gain you trust and respect with your team members. You must also have what I call a “What if..?” attitude. As you are performing your testing, you must always be thinking of “what would happen if..?” This will enhance your ability to test more effectively. No single test suite can cover every possible circumstance and so it is left to the tester to think outside of the box, to explore the Art of QA, to go beyond the bounds of the stated testing, to poke and prod the program, and ask “What if..?” Make asking “What if..?” a mantra. Embody this question in all of the testing you perform and you will find more bugs, find bugs that are more deeply hidden, and add value to all that you do by being the one who asks the questions that others have not.
We are a bit of stellar matter gone wrong. We are physical machinery - puppets that strut and talk and laugh and die as the hand of time pulls the strings beneath. But there is one elementary inescapable answer. We are that which asks the question. ~Sir Arthur Eddington
Skill #6: Be Solution-Oriented And Proactive
When trouble is solved before it forms, who calls that clever? ~Sun Tzu
To separate yourself from the crowd, you must be a person that finds a way to get things done. This is true in any undertaking and is a golden opportunity to the Software Quality Assurance Professional.Often a QA environment is filled with people that wanted to get a job that paid something and they knew how to use a computer and they thought “anyone can test” so they got a job with a company testing games or apps or databases. There is nothing wrong with this, but they often don’t take their job seriously. When they encounter difficulty at work, they do their best to minimize this pain by passing the problem off to someone else. As bothersome as this attitude can be to deal with every day from multiple team members, this is a golden opportunity for you to shine. Be the part of the team that sees these obstacles as challenges, as opportunities, as a chance to learn something, to improve your team, to deliver superior results, and be viewed as one who gets the job done no matter the challenge! Let’s face it, in today’s economy the chances of getting a job with one company, working there for 40 years and retiring with the company paying your pension are just about zero! So as long as they are paying you to test, take advantage of every opportunity that comes your way to expand your knowledge. Every challenge you encounter is an opportunity to improve yourself through the educational experience of learning a better way to do things. And you’ll be getting paid to do it! You can take this knowledge with you wherever you go and it will make you more marketable. It is not uncommon when there are deficiencies in the test suite for a tester to complain that: - We’re not testing everything
- We’re not going to know if this thing really works like they want it to
- They suck
This “who cares…it’s somebody else’s fault” attitude is unfortunate, but not uncommon. It does nothing to make one’s daily work or life more rewarding. It puts the blame for the world’s ills at someone else’s feet and absolves the speaker of all responsibility. But you have a chance to do things differently.If you see that a test suite is not as complete as it should be, tell your lead. Ask if you can help update the test cases so that they are more complete for the current round of testing and for the future. This will show that you are aware of what is not getting covered, helping to build trust in you that you know how to do your job, and will provide you the opportunity to get your hands dirty learning a new skill (if you have never written a test case before). Or, before approaching your lead, you could do the testing that is being missed by the test cases. Then (since you document everything) you will have ammunition to use when you speak to your lead and say, “I noticed that there were no test cases that covered [circumstance X], and so I tested that scenario and logged 6 bugs. Do you think it would be OK if I added the test cases that I executed to our suite of tests so that we are sure to cover this area the next time?” That is a much better encounter than leaving your boss to answer questions about why an area of the program is not being tested. This is the kind of interaction a real QA Lead wants! You will make your manager’s life easier, make them look better at doing their job, and be seen as a true Quality Professional who is out to do the right things and do them in the right way. You will be viewed as a person who brings solutions to the table and is proactive about implementing them. To be proactive is to be able to identify issues, small and large, before they trigger an alarm across the company. It is in developing the ability to point out where the hurdles will be, alerting the appropriate party, and then suggesting (or implementing) solutions that can minimize their impact. A proactive Quality Assurance Professional: - Reviews appropriate project documentation without being directed
- Brings questions to light that need clarification
- Notes where documentation is not complete, knowing this will result in lack of thorough testing coverage, and motivates completion of the documentation
- Is alert to others that find a bug they know is already logged – and saves the team time by directing them to it
- Asks what they can do to help their QA Lead or Manager improve the team and its processes
Being proactive is an attitude that can be learned. It is a behavior that can become a habit. But it takes practice.Look for opportunities to create solutions before problems get out of control, before everyone must drop all that they are doing to put out the fire. Then when you identify these problems, see them as challenges and take action! Identify the issue, create multiple solutions, and then present them to your Lead or Manager. They should be happy to hear that you have identified a hurdle and come up with an answer. Practice being proactive and it will become an invaluable habit! This is a skill that you can use in any circumstance, at any company, in any job! Learn it and take it with you! In the meantime, take every opportunity presented to you as a chance to learn and to improve. If you take this lesson to heart, you will never regret it, I promise!
It's not enough that we do our best; sometimes we have to do what's required. ~Sir Winston Churchill
Go To: Day 1 - Day 2 - Day 3 - Day 4 - Day 5 - Day 6 - Day 7Return To Successful Quality Assurance Home
|