Anda di halaman 1dari 3

Tester - skills needed for successful software testing (1)

What are the qualities (a.k.a. attributes, traits, skills) that are required of Testers for testing software ? In this post, let us look at three Software Tester traits. Software Tester Trait 1: Curiosity Software Testing is about exploring and discovering. Software Testers should like exploring, be curious and inquisitive about everything and display keenness in understanding the why and how of products, their interactions, dependencies and ecosystem in totality. Testing software requires venturing beyond the realms of the tried and known, to discover what lies beyond. Installing new software builds, experimenting, seeking to better understand the software and breaking it are part of the skills needed in software testing. Tester Trait 2: Detail oriented and thorough Software Testing requires discipline and systematic approach. It is important for testers to be able to pay attention to details and be thorough. While testing involves exploration and experimentation, testing requires that testers not leave any gaps in test coverage. Ensuring that all requirements and areas are thoroughly tested is important. Having an eye for detail in testing would also mean looking out for oddities and incorrect behaviors in the software application being tested. What might seem like a small, insignificant or even irregular occurrence may be the harbinger of much larger issues. It pays to scrutinize each issue thoroughly. Tester Trait 3: Trouble-shooter Software Testing requires the ability to root-cause issues. Being good at finding out why something does not work is a useful attribute to possess in testing software. Testers should be able to narrow down the conditions that cause an issue and help identify or at least suggest causes for issues observed. A detailed bug report that lists the issue, narrowed-down steps to reproduce, as well as probable cause along with relevant details can help software development teams address issues faster and better. Also, being able to find out why something does not work can point to more issues lurking around or areas that may need more testing. A tester's job is not just about executing a standard set of software tests and reporting any failures. Tester Trait 4: Perseverance Testers must keep at testing, exploring and trying to unearth issues. Bugs may appear intermittently or under certain conditions. Testers should not ignore or give up, but instead try different scenarios to reproduce the issue. Software Testers must also realize that all products have bugs. If a product looks to be

free of bugs, it just needs more testing to find issues that current tests haven't looked at. Testers should always be in the pursuit of bugs and view every defect found by a customer as a slip or gap in their tests which must be addressed immediately. Tester Trait 5: Creativity Software Testing is an art. It is not enough to test for the obvious. Finding bugs requires creativity and out-of-the-box thinking in testing. Software Testing must be amongst the most creative of professions. Lets make a fairly simplistic comparison between testing software and software development which is considered to be a creative endeavor. Which of these disciplines needs more creativity ? Is it to "introduce" defects or find defects ? While the example is a bit crude, the idea is that it is harder to find defects when you do not know what and how many defects exist. It requires a high degree of creativity to discover defects in Software. Tester Trait 6: "Flexible" Perfectionists Software Testing requires the pursuit of perfection. However, the pursuit of perfection must be tempered with flexibility. There are times when perfection may not be attainable or even be feasible. Testers whilst seeking perfection, should adapt a certain degree of flexibility when perfection is not an ideal goal to seek. As an example, when testers report bugs, they must also pursue a fix for the bug. Now, a fix need not just mean fixing the software. It could be a statement in the release notes or other documentation that highlights the defect as a known and open issue; it could be a case of marketing toning down its spiel or enlightening customers about the potential issue - in the real world, it may not be possible to fix every defect that testers want fixed. Being able to prioritize and pick your battles appropriately, knowing when to give in and when to stick to your guns is important.

Tester Trait 7: Good judgement (judgment) There's a saying that good judgement results from experience and experience results from bad judgement! Good judgement when combined with the other tester skills, can make for highly successful software testing. Judgement involves elements such as deciding on what to test, how much to test, estimating the time it would take to test and taking a call if an issue is really a defect or if a bug is worthy of deeper pursuit. Using judgement to determine the extent of testing to be performed involves comparison of the current project with past projects for estimating the quantum of risk. While this trait can produce results, it results from experience and knowledge gained over time and across projects. Tester Trait 8: Tact and Diplomacy Software Testing involves providing information and often we carry "bad news". An important part of the testing job is telling developers that their code is defective, highlighting issues and possible causes. At a human level, it is like telling a parent that

their baby is ugly. Contrary to popular belief that testers and developers must be at loggerheads, Software testers need to have a good working relationship with developers. Co-operation between both functions is key to producing a quality software product. Tact and diplomacy is important to both convey bad news, follow up for fixes and maintain cordial relationships. Successful testers know how to do the balancing act and deal with developers tactfully and professionally even in cases where the other party is not very diplomatic. Tester Trait 9: Persuasive This trait continues from the previously mentioned trait - tact and diplomacy. Once the tester breaks the news about issues in the code, a range of reactions can arise. One of the likely reactions to bugs that testers report could be that the reported issue is categorized as not being important/severe enough to warrant a fix. Bugs may be re-prioritized and downgraded or deferred to a later time frame or be documented as an open issue. Just because the tester thinks a bug must be fixed does not mean that developers will agree and jump on fixing it. If a bug needs fixing, testers must be persuasive and clearly state the reasons for requiring a fix in a specified time frame. In case of a stalemate, communicating effectively to stakeholders and getting their inputs may also be required. Persuasion goes hand-in-hand with the other traits mentioned earlier, to ensure issues are addressed appropriately.

Anda mungkin juga menyukai