fbpx
info@brightest.be
+32 3 450 88 42

World Emoji Day

Testing roles compared to Emojiโ€™s

Posted by: Eva
Category: Business

First of all, a little disclaimer: be prepared for an abundance of emoji’s in this article. ๐Ÿ˜Ž๐Ÿ˜

In honour of World Emoji Day, we thought it would be funny/cute to compare testing roles to Emojiโ€™s. Great! ๐Ÿ‘ But which ones? Because, depending on context, team structure, and the organizationโ€™s specific needs, the role of e.g. a ‘software tester’ is viewed and utilized differently. Many different role descriptions can be found all over, with sometimes a very different emphasis on what one thinks is important. So, for the purpose of this article, and because we donโ€™t have to make things overly complex in life ๐Ÿ™„, let’s break it down into the 3 (or maybe 4) most generic testing roles:

Test Engineer: business-domain-driven testing expert

Test Engineers must be quick, flexible and agile, like leopards ๐Ÿ†. Sometimes, e.g. in case of hotfixes ๐Ÿ›  or late changes, they have to quick scan a system and give their opinion on its quality within a very limited time frame.

  • Participate in the technical review process contributing a behavioural viewpoint.
  • Provide inputs on challenges, risks, resources, test estimates, … during test planning meetings ๐Ÿ“….
  • Analyse requirements and if they are incomplete, ask meaningful questions โ“ that will yield more information and help perform testing effectively.
  • Identify and prioritize test conditions addressing product risks and features to be tested, in order to define and write specific tests cases and documentation covering that area.
  • Identify necessary test data to support test conditions and test cases.
  • Schedule ๐Ÿ“… test executions in the best and most efficient order.
  • Develop test documentation: test plans, test cases, and status reports ๐Ÿ“‰๐Ÿ“Š for (test) management.
  • Execute or delegate exploratory, automated, and regression tests to find functional, UI and usability, โ€ฆ issues.
  • Check consistency across devices ๐Ÿ“ฑ, browsers, and operating systems.
  • Analyse actual results against the expected ones.
  • Must have deep understanding of software testing, its main concepts, and processes:
    • defect management process
    • test design techniques
    • different testing levels, methods, and types
    • test estimation techniques
    • experience in a variety of testing efforts
    • understanding of common software failures and faults
    • understanding of the test automation process
  • Own these soft skills:
    • Ability to work in an Agile environment.
    • Critical thinking and analytical skills to examine bug reports ๐ŸฆŸ and prioritize necessary tests, what information to include in the daily status reports, prioritize and estimate task execution.
    • Good communication ๐Ÿ—ฃ and teamwork skills to interact with project team members, clients, and stakeholders as well as work closely with the dev team โ€“ from reproducing the reported issue and emphasizing the fix for critical bugs ๐ŸฆŸ to understanding how the bug has been fixed.
  • Best have a few programming skills, which are always a plus, including coding, basic SQL knowledge to extract data for tests, XML, general web development skills, and web services.

Test Automation Engineer: tester with coding skills

Besides having all skills of a Test Engineer (see above) they are also coding wizards ๐Ÿง™โ€โ™‚๏ธ๐Ÿง™โ€โ™€๏ธ; testers with an automation-oriented mind.

  • Determine the priority for test scenarios and create execution plans to implement scenarios.
  • Write, design, and execute automated tests by developing scripts that run tests automatically; using different automation tools or a test automation framework to create and design test cases more efficiently.
  • Maximize test coverage for the most critical features of the system, with a minimum set of code. And thus, optimize testing efforts that otherwise would consume a large percentage of test resources.
  • Write documentation for automated processes including test plans, test procedures, and test cases.
  • Log and document bugs in the bug tracking or test management system ๐ŸฆŸ.
  • Build test automation frameworks, because an organized framework reduces maintenance costs and testing efforts while making test automation code reusable, maintainable, and stable.
  • Create automation environments for repeated tests.
  • Set up Continuous Integration โ™พ.
  • Design, test, and deploy effective test automation solutions.
  • Develop tools to support testing or other functions.
  • Execute exploratory testing when they need to understand how the system works.
  • Know how to use automation testing for load testing ๐Ÿ“ˆ, helping to verify a systemโ€™s performance under load conditions.
  • Know common computer languages required for different automation testing technologies: Python ๐Ÿ, Java, Ruby, ะก++, Perl, PHP, C#, …
  • Have platform specific knowledge (web application or mobile app)

Full-stack Test (Automation) Engineer: tester of the Future

With current development models โ€“ Agile and DevOps (โ™พ) โ€“ the discipline of testing expands by taking charge of all aspects of product quality, such as functionality, usability, performance ๐Ÿ“ˆ, security ๐Ÿ”, etc., and combining different strategies and technologies to test; testers can surely be called full-stack test engineers or true centipedes ๐Ÿ›.

They have a rich combination of domain knowledge, technical skills, and testing expertise, that allows them to match modern demands of fast delivery. Therefore, every tester should pursue the path of a full-stack test engineer, who is involved in the project development lifecycle right from the start and, consequently, has a greater impact on the product, which results in a higher level of quality than ever before

Test Manager: a test project manager

Test Managers must be aware of everything whatโ€™s going on and be able to tackle or mitigate all QA issues, therefore they have to spread and cover their tentacles everywhere, like octopuses ๐Ÿ™, and keep a helicopter view ๐Ÿš of the organisation.

  • Prepare the test strategy, applying industry-accepted practices.
  • Set metrics ๐Ÿ“‰๐Ÿ“Š to measure the quality of delivery.
  • Plan, monitor and control the testing process and team members:
    • define task lists for testers
    • schedule testing activities ๐Ÿ“…
    • calculate testing budgets ๐Ÿ’ฐ
    • estimate test efforts
    • keep track of the quality of testing: what kind of defects are uncovered and detect if thereโ€™s a tendency to miss out on bugs ๐ŸฆŸ
  • Pick and hire candidates ๐Ÿ‘จโ€๐Ÿ’ป๐Ÿ‘ฉโ€๐Ÿ’ป for QA positions and coach and supervise them afterward.
  • Represent the QA team at cross-department meetings and update the customer on the progress of testing activities.
  • They take any action needed to meet the quality goals, in addition to day-to-day duties.
  • Have profound understanding of software testing, its concepts, and processes:
    • testing approaches and how to integrate them in different kind of organisations
    • defect management process
    • different testing levels, methods, and types
    • test estimation techniques
    • test automation process; to define which cases will benefit from this approach and where and when itโ€™s better to test without spending time on automating
    • tool selection and able to structure them in different kind of organisations
  • Have profound understanding of different kind of organisations and businesses, project requirements and risks to determine a test strategy, test goals, and objectives.
  • Own these soft skills:
    • Good project planning and people coordination skills.
    • Good communication ๐Ÿ—ฃ, coaching and teamwork skills to interact with testing team members, project and organisational stakeholders, as well as work closely with the development team (analysts and developers).

Written by Joke Gijsbrechts (joke.gijsbrechts@brightest.be)