10 Tips for Effective Testing with Deadlines
Unless you're infinitely rich or prepared to rack up major debt, you need to budget your testing. Setting limits on how much you are willing to test helps control expectations. But what about your time? Do you budget your time or spend it carelessly?
Testing deadlines are the chronological equivalent of a budget. By setting aside a portion of time to complete a task, goal or project in advance you avoid over-spending. Deadlines can be helpful but they can also be a source of frustration if set improperly. Here are some tips for making deadlines work for QA:
- Use Parkinson's Law - Parkinson's Law states that tasks expand to fill the time given to them. By setting a strict deadline in advance you can cut off this expansion and focus on the important tasks.
- Timebox - Set small deadlines of 60-90 minutes to work on specific tests. After the time is up to your finish. This cuts procrastinating and forces you to use your focus on the task wisely.
- 80/20 - The Pareto Principle suggests that 80% of the value is contained in 20% of the input. Apply this rule to project testing to focus on that critical 20% first and fill out the other 80% if you still have time. This is an essential tip for when doing regression testing.
- Project VS Deadline - The more flexible your project, the stricter your deadline. If a task has relatively little flexibility in completion a softer deadline will keep you sane. If the task can grow easily, keep a tight deadline to prevent waste.
- Break it Down - Any project that has deadlines over one day should be broken down into smaller units. Long deadlines fail to motivate if they aren't applied to manageable units. It can also make testing more complex to manage.
- Hofstadter's Law - Basically this law states that it always takes longer than you think. A rule I've heard about software development is to double the time you think you need. Then add six months. Be patient and give yourself ample time for complex projects.
- Backwards Planning - Set the deadline first and then decide how you will achieve it. This approach is great when choices are abundant and projects could go on indefinitely. Figure out what the most challenges area will be for QA, and what things that will need to get done to have a successful test situation.
- Prototype - If you are attempting something new, test out smaller versions of a project to help you decide on a final deadline. For example, when testing multiple currencies, test known currencies first, before expanding to more complex exchanges.
- Find the Weak Link - Figure out what could ruin your testing and accomplish it first. Knowing the unknown can help you format your regression testing.
- No Robot Deadlines - Robots can work without sleep, relaxation or distractions. You aren't a robot. Don't schedule your deadline with the expectation you can work sixteen hour days to complete it. Deathmatches aren't healthy.