The Joy of an Organized Testing Approach
As a software tester, nobody ever tells you — or warns you — about learning how to manage your time appropriately and professionally. There’s no discussion about how you feel repeating data entry into two separate tools so that the metrics come out correctly. No one mentions the constantly changing requirements, tools, methodologies or processes, all in the name of continuous improvement.
It often seems like software testers spend more time doing tedious data entry or busy work than actually testing. Believe it or not, software testers make the most of their testing time when they focus on testing. Sounds obvious, right? Well, it’s not always that simple. Testers typically work on multiple projects that are squeezed into short iterations with rapid-release schedules. Additionally, testers need to work across internal and external QA teams. Factor in routine test maintenance, and you’ve got the perfect recipe for confusion and ineffective testing.
It doesn’t have to be this way. In this blog, we’ll describe a variety of techniques for organizing testing tasks, reducing waste within work functions and bringing the focus back to testing. When testers make the most of their time, there’s a great deal of professional satisfaction, even joy, in their accomplishments. Here’s how to get there.
Go beyond time management
Many well-meaning professionals attempt to advise software testers on how to learn and apply time management skills. While this advice is not wrong, it’s not all helpful either.
Time management skills work best when you can control incoming work and personal tasks. Software development teams are generally in control — not testers. Still, testers can exert some level of control with a bit of extra effort and collaboration, such as:
-
communicating effectively with development
-
estimating schedules
-
monitoring task progress
-
participating in meetings and discussions
-
pre-planning a testing strategy for each story or task
Organize your test efforts and communicate actively in meetings — even if it’s an unpopular question or thought. Be bold and ask anyway. Then, listen carefully to the answers. Developers might not provide a direct answer, but you can discern information from their responses, such as when tasks will be delivered and how much testing they’ll perform before handing the product over to QA.
Take it upon yourself to build a working relationship with your development team. It takes time and effort to communicate with developers and understand their tendencies, including the speed and quality of their work. However, this understanding helps you organize testing efforts more effectively.
If your team uses a Kanban-style task board, view it multiple times daily to track tasks. Always be aware of what work is coming your way. If you are a testing lead or manager, assign tasks to testers as early as possible. This proactive, organized approach helps each tester prepare test cases and create a list of questions for developers.
An organized testing plan doesn’t have to be a long, time-consuming document. A simple checklist, outline or even a mind map goes a long way. The important part is the tester lists out all the items to test, including testing depth and breadth. Sometimes, organized testing means working smarter, not harder.
Podcasts
Testing in Two Days
For software testers, it’s always crunch time. Striking the balance between effective and expedient testing isn’t always easy, but it’s necessary in our fast-moving digital world.
Test preparation is key to testing effectively and being able to focus on testing tasks. Active communication improves your ability to get an honest time estimate for delivery and an expected quality level. The more you know, the more accurate your testing.
Organize and execute test cases
How can you organize all test cases and track execution status or results? The best answer is to use a test management tool. An effective test management tool helps enable software testers and teams to share information in real time, keeping everyone up to speed. A test management tool helps teams organize, prioritize and manage testing assignments, as well as write and update tests, create regression suites and track test execution.
An effective test management process provides a scalable structure for all testing artifacts. When the team can implement a single tool with all the test information needed, the end result is improvement in team efficiency and reduction of waste by eliminating invalid tests or duplicative efforts.
An organized test management tool helps a QA team accomplish a significant amount of quality testing regardless of the timeframe, including the following time-saving advantages:
-
test case development and maintenance
-
feature or functionality documentation
-
test prioritization
-
defect tracking
-
test suite development
-
test execution status and reporting
-
built-in analytics for test results and execution time
Test case management tools enable more time for testing and less on manually managing the ever-growing assembly of test cases, documentation, assignments and execution status. A little organization goes a long way.
Coordinate testing teams
As test leads or managers, how can you maximize results from testers without burning them out? First, start by organizing your testing artifacts. Don’t force testers to waste valuable time searching for test cases. Make sure they can quickly find the tests and resources they need.
Second, have an efficient and detailed test strategy or plan. Ensure each tester has access to a copy of the plan. Training for each team member is also important to ensure a common understanding of what the plan entails.
An organized test strategy for the team includes defining the standard QA processes, including:
-
approved testing techniques
-
defect entry and documentation methods
-
effective methods for test development and version control
-
unified method for all testers to see execution assignments and status
-
explanation of how tests are developed, edited, and stored
-
resources for help, questions or assistance
-
valid approaches for communicating with developers
Many QA teams have both internal and external resources, such as crowdtesters. Ensure each tester, regardless of status or location, shares a common understanding of test processes. The best way for testing teams to work together effectively is by sharing a common understanding of work quality expectations.
Get rid of time drains and rework
Time drains make software testing tedious, boring and frustrating. Time drains are repetitive tasks that have little or no meaning in the big picture, such as entering test execution status daily in three separate places. In the past, I had a QA manager who required test execution status be entered manually in a spreadsheet, then again on a QA team electronic board, and yet again in a status email that was sent out at the end of the day. Using multiple tools with manual data entry is a prime example of wasting testing time.
Another example of wasted time is rework or duplicated work efforts. Consider a scenario where a test lead creates four suites of regression tests. Rather than ensure each suite is unique, they either randomly pull tests based on memory or group them solely based on priority. Tests might appear more than once, which means more than one tester will execute the same exact test — a waste of testing resources. Review test suites to ensure they are unique, so tests only appear once per testing cycle.
Another method for reducing test duplication is to test web and mobile apps in tandem. For example, if a web client exists alongside a mobile client, create exploratory test scripts that test both at the same time. For both clients, cover functionality, data, APIs and integration all in one test execution rather than run the same tests separately. Testers can focus on testing, not recreating scenarios and data for the web and then again for mobile.
Many people view software testing as a simple process — open the app, sign in and click the buttons. As testers, we’ve come to learn it’s a great deal more complicated than that. Testing software is a joy when testers can focus the majority of their time and energy on actually testing the digital product. Find your testing joy with an organized testing approach that eliminates wasteful practices and duplicate work.