Tester - Skills Needed for Successful Software Testing

download Tester - Skills Needed for Successful Software Testing

of 3

Transcript of Tester - Skills Needed for Successful Software Testing

  • 7/31/2019 Tester - Skills Needed for Successful Software Testing

    1/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 inunderstanding 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 andexperimentation, 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 thesoftware 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 atleast 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 tofind 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 appearintermittently 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

  • 7/31/2019 Tester - Skills Needed for Successful Software Testing

    2/3

    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 acustomer 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 themost 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 perfectionmust 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 testersreport 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, itmay 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 frombad judgement! Good judgement when combined with the other tester skills, can makefor 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 currentproject 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". Animportant 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

  • 7/31/2019 Tester - Skills Needed for Successful Software Testing

    3/3

    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 verydiplomatic.

    Tester Trait 9: Persuasive

    This trait continues from the previously mentioned trait - tact and diplomacy. Once thetester 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. Justbecause 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 statethe 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.