Mastering the Craft: 24 Tips For Testers
?2008 FOX BROADCASTING

Mastering the Craft: 24 Tips For Testers

Reflecting on one's career journey, the lessons learned, and personal growth is an invaluable practice. As I approach my 24th anniversary in the field of testing, it felt like a fitting occasion to share the culmination of my experience — a collection of top tips for not just surviving, but thriving, in the world of testing.


We are not the gatekeepers to release

I still remember as we started to ship my first project I was seriously uncomfortable, the project had so many bugs (literally thousands) and it was going into production. I protested and was told it's fine we can release it in any state we like. Even though we knew there were problems the project had to end.

This experience taught me a valuable lesson (one that many testers fail to understand): as testers, our role is not to halt releases, but rather to present a comprehensive picture encompassing both the strengths and weaknesses of the release. Our purpose is to ensure that decision-makers possess all of the necessary information to make informed choices regarding the release.

While our duties include highlighting problems and risks, we ultimately strive to facilitate an informed decision-making process, without impeding the release itself.


Be a window not a filter

I recently spoke to a tester who boasted that they "Didn't even bother reporting bugs, as they knew their client wasn't interested in them" The most important part of our job is to let the decision makers have all the information to make informed decisions, we should never filter that information.

  1. Embrace transparency: Strive to provide complete and unbiased information without selectively filtering or withholding details. Be transparent in your reporting and communication, allow decision-makers to see the full picture.
  2. Objectivity is key: Approach your testing activities with objectivity and impartiality. Avoid personal biases or preconceived notions that may cloud your judgment or influence the information you present. Remember your goal is to provide an objective view of the product's quality and risks.
  3. Communicate both the good and the bad: Don't shy away from reporting both positive and negative findings. Highlight the strengths and successes of the project, but also identify and communicate any weaknesses, issues, or risks that need attention. This comprehensive view helps stakeholders make well-informed decisions.
  4. Provide context: Along with presenting information, offer the necessary context to help stakeholders understand the implications and significance of your findings on the end users. This includes explaining the potential impact of issues, their severity, and any mitigation steps.

Remember, being a window means offering transparency and presenting an unobstructed view of the project's status. By adopting this approach, you contribute to informed decision-making and facilitate a more effective testing process.


Exhaustive testing really is impossible

Knowing when you've tested enough and how deep to test is crucial. In the world of software testing, achieving exhaustive testing is an elusive endeavour. The vast number of possible test scenarios and combinations make it impractical to test every single one. Instead, it is crucial to adopt a strategic approach that focuses on risk-based testing and understanding how deep you should go.

By determining the right balance between thoroughness and practicality, you can ensure effective testing while efficiently utilising your resources.

  1. Focus on Risk-based Testing: Instead of attempting exhaustive testing, prioritize your efforts by conducting risk-based testing. Identify and assess the crucial areas, functionalities, and potential risks associated with the system under test.
  2. Define Testing Objectives: Clearly define your testing objectives and align them with the project's goals and requirements. Determine the desired level of test coverage based on factors such as project complexity, time constraints, available resources, and risk tolerance. This ensures that your testing efforts are purposeful and aligned with the project's priorities.
  3. Utilize Test Design Techniques: Employ effective test design techniques, such as equivalence partitioning or boundary value analysis. These techniques help maximize test coverage while minimizing the number of test cases needed.

Ultimately, the key is to strike a balance between the depth of testing required and the practical limitations of time, resources, and risk considerations. By adopting a risk-based approach and utilising effective testing techniques, you can optimize your testing efforts and make informed decisions about when to conclude testing.


Understand before you transform!

When starting at a new org and examining the processes in the team we need to look beyond initial appearances and:

  1. Dive deep into existing processes to grasp their intricacies.
  2. Avoid hasty judgments based on initial observations.
  3. Seek to understand the underlying reasons and objectives.
  4. Identify pain points and areas for improvement.
  5. Engage stakeholders and gather insights from those involved.
  6. Only after thorough comprehension, propose changes for enhancement.

By taking the time to truly understand processes, even if they seem illogical at first, we can make informed decisions and implement changes that address root causes, resulting in more effective and meaningful transformations.


Iterate, iterate, iterate

By adopting an iterative mindset, you can enhance the effectiveness of your test processes, uncovering defects more efficiently and delivering higher quality software. Remember what works today is unlikely to continue to work as you grow your product and team:

  1. Continuously evaluate your test processes.
  2. Identify areas for improvement and refinement.
  3. Embrace an iterative approach to testing.
  4. Incorporate feedback and lessons learned.
  5. Adjust test strategies based on evolving products.

No alt text provided for this image

Iterate Yourself And Evlove As A Tester

By continuously iterating and evolving yourself as a tester, you'll expand your knowledge, sharpen your skills, and become a more effective and valuable contributor to the testing process:

  1. Adopt a growth mindset, always seek opportunities to learn and improve.
  2. Actively explore new testing techniques, tools, and methodologies.
  3. Seek feedback from colleagues, stakeholders, and other collaborators.
  4. Reflect on your testing approaches and identify areas for enhancement.
  5. Engage in continuous professional development and training.
  6. Embrace challenges and step out of your comfort zone.


Bug discovery through trust

By trusting others to find bugs, you tap into the collective intelligence of your team, leveraging their skills and insights. Driving collaboration and collective expertise leads to more comprehensive bug detection, improving the overall quality of your software:

  1. Trust in the capabilities and expertise of all of your team members.
  2. Encourage a culture of open communication and knowledge sharing.
  3. Empower others to take ownership of bug discovery.
  4. Emphasize the importance of thorough testing and bug reporting.
  5. Foster an environment where individuals feel safe to raise concerns and suggest improvements.
  6. Recognize and appreciate the value of diverse perspectives in bug identification.


People are everything

This one is for the leaders out there, equip, train, and align for success!

By empowering your team with the right tools, training, and shared goals, you create an environment where individuals can thrive and contribute to the overall success of the team. When everyone is equipped, trained, and aligned, success becomes a natural outcome:

  1. Provide your team with the necessary tools and resources to excel.
  2. Invest in training and development opportunities to enhance skills, focus on people's natural interests and they will pickup new skills and approaches quickly.
  3. Foster a culture of shared goals and collective accountability.
  4. Clearly communicate expectations and align individual efforts with the bigger picture.
  5. Encourage open dialogue and listen to your team's needs and feedback.
  6. Recognize and celebrate achievements, foster a sense of accomplishment.


Context is everything else

When it comes to testing, understanding the context is crucial for effective and efficient testing.

Before diving into testing, invest time in comprehending the project's context, including the business objectives, user expectations, and technical environment. This understanding will help you prioritise testing efforts, identify critical areas, and tailor your testing approach accordingly. Remember, context provides the foundation for meaningful and impactful testing outcomes.


The legend of naked Wednesday

No alt text provided for this image

Once upon a time, there was a diligent manager who dedicated hours each week to crafting a comprehensive report for the C-suite.

As time passed, the manager began to notice that the report, received no questions or comments from the recipients.

The manager hatched a plan. In the next report, amidst the detailed accounts and insightful analyses, the manger inserted: "Naked Wednesday was a great success, and we look forward to holding another one in the near future."

To no ones surprise, the line went completely unnoticed. No raised eyebrows, no chuckles, no comments whatsoever. The manager realised the futility of pouring excessive time and effort into a report that went unnoticed and unappreciated.

From that day forward, the manager chose to allocate their energy wisely and redirected their efforts toward more impactful endeavours.In the end, the manager's experiment served as a valuable lesson: sometimes, the pursuit of perfection can be a fruitless exercise.

Understanding the audience, their priorities, and the impact of one's work is vital.

Embrace the art of concise and purposeful reporting.


You can decline

It's okay to decline a meeting invitation if you are unable to attend or if your presence is not necessary. Declining often allows you to prioritise your time and commitments effectively.

When evaluating whether to accept or decline a meeting invite, consider the purpose, agenda, who else is attending and the relevance of the meeting to your role and responsibilities. If you feel that your presence won't contribute substantially or that it conflicts with other important tasks or commitments, it may be appropriate to decline.

Remember, effective time management and prioritisation are essential in maintaining productivity and achieving your goals. By declining meeting invites strategically, you can allocate your time and attention to tasks and engagements that align more closely with your objectives and responsibilities.


Produce quality work

Can anyone have faith in our ability to judge quality, if the work we produce is of poor quality? As testers, it is crucial to produce work of high quality.

Lead by example and try to produce work of exceptional quality. When you consistently deliver outputs that meet or exceed expectations, it establishes a foundation of trust and confidence in your ability to judge and ensure quality. By demonstrating your commitment to excellence, you inspire others to uphold the same standards and create a culture where quality is valued and prioritised.

Remember, your own work sets the standard for others to follow. By consistently producing quality work, you create an environment where everyone feels safe and confident in assessing and upholding the quality of their own work.


Automation will not solve all of your problems

While test automation can be a powerful tool in software testing, it's important to recognise that it doesn't solve all of our problems on its own.

Automation is most effective when applied to repetitive, predictable, and well-defined test cases. However, there are certain aspects of testing that require human intuition, creativity, and adaptability.

Recognise the limitations of test automation and avoid over-reliance on automated tests alone. Ensure a balanced approach by combining manual testing, exploratory testing, and other techniques that leverage human intelligence. Manual testing allows for the identification of edge cases, user experience evaluation, and subjective analysis that automation may miss.

By embracing a holistic testing approach that combines automation with manual testing, you can achieve better test coverage, uncover complex issues, and provide a higher level of quality assurance.

Remember, successful testing involves the right combination of tools, techniques, and human involvement. Test automation should be viewed as a valuable tool within your testing arsenal, rather than a standalone solution.


Tackle Ice cubes not Iceberges

Break down big problems into smaller, manageable chunks.

Rather than panicing and trying to solve everything at once, divide the problem into smaller, more digestible parts. Focus on solving one piece at a time, and gradually build momentum.

Start by identifying the key components or subtasks that make up the larger problem. Then, prioritise them based on their importance or dependencies. Break each component down further into actionable steps or milestones.

By breaking down the problem into smaller chunks, you make it easier to understand, plan, and address. It also allows you to approach each part with clarity and focus, making progress more achievable.

Remember, solving big problems is a journey, and by taking it one step at a time, you can overcome even the most daunting challenges.


Don't sweat the small stuff

In the grand scheme of things, not every detail carries equal weight or importance. Learn to differentiate between what truly matters and what can be let go.

Focus your energy and attention on the bigger picture and the most critical aspects of your work. Prioritise your efforts based on their impact and significance. By doing so, you can avoid getting overwhelmed by insignificant details that can derail your progress.

Remember, a balanced approach that allows you to address essential matters while letting go of minor imperfections is key.

By maintaining a broader perspective, and channelling your energy towards what truly matters, and you'll find yourself more focused, productive, and better equipped to tackle the challenges ahead.

No alt text provided for this image

There is always another release

In software development, there is always another release on the horizon.

Recognize that software development is an iterative process, and each release is just one step in an ongoing journey.

Instead of fixating solely on the current release, focus on delivering quality work while laying the foundations for future success. Embrace a mindset of continuous improvement, learning, and adaptation. Treat each release as an opportunity to gather feedback, make refinements, and iterate your processes.

By adopting this perspective, you can alleviate the pressure and stress associated with any single release. Maintain a long-term view, knowing that there will be future opportunities to enhance and refine your approach based on user feedback and evolving needs.

Remember, the software development process is fluid, and each release contributes to the overall growth and evolution of your product. Each release shopuld be viewed as a stepping stone towards creating a valuable and impactful solution.


People don't always listen and thats okay

It's a simple fact, that sometimes people don't listen, and that's okay. People have various reasons for their lack of attention, distractions, or differing priorities. Instead of getting frustrated, focus on what you can control.

Clarify your message and communicate it effectively, but also be open to repeating or rephrasing important points. Consider alternative communication methods, such as visual aids or follow-up emails, to reinforce your message.

Remember that effective communication is a two-way street. Actively listen to others and encourage open dialogue. Show empathy and understanding when others may not fully engage in a conversation.

By accepting that non-listening moments are a natural part of communication, you can adapt your approach, manage your expectations, and maintain productive relationships. What matters most is your commitment to clear and effective communication, even in moments when it feels like others aren't fully tuned in.


The textbook is a starting point not the whole

A tester I recently worked with was obsessed with studying and gaining qualifications, but was unable to accept that it serves as a starting point, not the entirety of knowledge. As such they became frustrated with the world around them and people not following the textbook approach to testing.

View the textbook as a launching pad, not the final destination. While textbooks provide a foundation of information, there is a vast world of knowledge beyond their pages. By adapting what the textbook teaches us to real world scenarios we can adapt the lessons into something meaningful and valued.

Remember that textbooks may have limitations, biases, or outdated information. By developing critical thinking skills and evaluating/challenging the content you encounter will lead to something worth putting into practice.

By going beyond the textbook, you unlock opportunities for personal growth, discovery, and a deeper grasp of the subject.


Mistakes are awesome!

Embrace mistakes as powerful teachers. Rather than fearing or avoiding them, see them as invaluable opportunities to learn and improve. Mistakes provide insights into areas where you can enhance your skills, knowledge, or processes.

When you make a mistake, take the time to reflect on what went wrong and why. Analyze the root causes and identify areas for improvement. Adopt a growth mindset that acknowledges that setbacks and failures are natural parts of the learning journey.

Don't be afraid to ask for feedback or guidance from others. Seek input from mentors, colleagues, or experts who can offer valuable insights and perspectives.

Remember, the most significant discoveries and innovations often arise from the lessons learned through mistakes.

Each mistake brings you one step closer to mastery.


How you got here is not as important as what happens next

No alt text provided for this image

While it's crucial to acknowledge and address the current problems you face, what truly matters is how you take action to resolve them and prevent them from occuring in the future.

While it's natural to feel overwhelmed or frustrated by challenges, remember that the actions you take to resolve them are what make a significant impact.

Identify actionable steps you can take to address the issues at hand. Seek advice from mentors, collaborate with team members, or leverage available resources to find innovative solutions. Embrace creativity and critical thinking as you explore alternative approaches.

Take ownership of the situation by assuming responsibility for finding resolutions. Be proactive, resilient, and adaptable in your pursuit of overcoming challenges.

Problems as opportunities for growth and improvement.

Remember, the ultimate measure of success lies in how you respond to and resolve the problems you encounter.


Toxic workplaces seldom change

One day you may find yourself in a toxic workplace, it may be resistant to change, overly focused on blame and a frustrating place to work. In these situtaions it's important to focus on what you can control: your own well-being and professional growth.

  1. Set boundaries: Clearly define your limits and establish boundaries to protect your mental and emotional well-being. Identify what is acceptable and what is not, and communicate your boundaries assertively.
  2. Seek support: Connect with trusted colleagues, mentors, or external support networks to share your experiences and gain perspective. Having a support system can provide guidance, validation, and a sense of community.
  3. Focus on self-care: Prioritise self-care practices to nurture your physical, mental, and emotional health. Maintain a healthy work-life balance.
  4. Build relationships strategically: Cultivate relationships with positive and supportive individuals within the workplace. Collaborate with like-minded colleagues who share similar values and can help create a more positive work environment.
  5. Document incidents: Keep a record of any toxic behaviours or incidents that occur. This documentation can serve as evidence if you need to address the issues formally with HR or higher management.
  6. Explore options: Assess whether there are internal opportunities to transfer to a different department or team within the organisation. If necessary, explore external job opportunities that align with your values and offer a healthier work environment.

Remember, while you may not be able to change the toxic workplace culture entirely, you can take steps to protect yourself and create a more positive experience within your control. Your well-being and professional growth should remain top priorities


You're not wrong but you might be the asshole

Sometimes, we find ourselves in situations where we strongly believe we are right, but tensions arise, and conflicts emerge.

When engaged in a disagreement or conflict, it's important to remember that being right doesn't necessarily mean we're handling the situation appropriately.

  1. Practise empathy: Put yourself in the other person's shoes and try to understand their perspective. Empathy can help cultivate a sense of compassion and foster better communication, even in difficult situations.
  2. Reflect on your approach: Take a step back and assess your own behavior and communication style. Ask yourself if you're coming across as understanding and respectful or if your tone or actions may be contributing to the conflict.
  3. Choose your battles wisely: Not every disagreement needs to escalate into a full-blown argument. Consider the importance of the issue and whether it's worth investing your energy and emotions into. Sometimes, it's better to let minor differences slide for the sake of maintaining a harmonious environment.
  4. Practice active listening: Instead of solely focusing on proving your point, make an effort to actively listen to the other person's thoughts and concerns. By demonstrating attentive listening, you show respect and create space for a more productive conversation.
  5. Seek common ground: Look for areas of agreement or shared goals to build upon. Finding common ground can help bridge gaps and foster a more cooperative atmosphere.
  6. Reflect on self-improvement: Take this opportunity to reflect on your own behavior and consider how you can improve your communication skills, conflict resolution strategies, and emotional intelligence. Self-awareness and continuous growth are key to becoming a better communicator and collaborator.

Remember, effective communication and conflict resolution require a willingness to understand different perspectives and work towards a mutually beneficial outcome. By adopting a mindful and respectful approach, you can foster healthier interactions and relationships.


Everyone needs to buy-in

When working on a project or implementing changes, getting buy-in from others is crucial for success. You need to foster buy-in and collaboration:

Building buy-in from stakeholders and team members is essential for driving positive change and achieving shared goals.

  1. Communicate the 'why': Clearly articulate the purpose, benefits, and rationale behind the project or proposed changes. Help others understand the value and impact it can have on the organisation or team. Highlight the problems it aims to solve or the opportunities it presents.
  2. Address concerns and objections: Be open to feedback and actively listen to any concerns or objections raised by others. Take the time to understand their perspectives and provide thoughtful responses. Addressing concerns shows that you value their input and are committed to finding mutually beneficial solutions.
  3. Involve stakeholders early: Include key stakeholders in the decision-making process from the beginning. By involving them early on, you demonstrate respect for their expertise and create a sense of ownership. Encourage their active participation and provide opportunities for them to contribute to the project's development.
  4. Demonstrate credibility and expertise: Establish your credibility and expertise in the subject matter. Share relevant knowledge, data, and success stories to build confidence in your abilities and the proposed changes. When others see you as knowledgeable and trustworthy, they are more likely to support your initiatives.
  5. Tailor your approach: Understand the needs, motivations, and concerns of different individuals or groups. Adapt your communication style and messaging to resonate with their interests and values. Show how the project aligns with their goals or how it addresses their specific pain points.
  6. Create a shared vision: Paint a compelling picture of the desired outcome and the positive impact it can have on the organisation or team. Help others see themselves as part of this vision and how their contributions are vital to its realisation.

Remember, building buy-in requires active engagement, effective communication, and a genuine understanding of others' perspectives. By fostering a collaborative environment and addressing concerns openly, you can increase support and engagement from stakeholders and team members.


There's more to life than this

No alt text provided for this image

Remember, there's more to life than just work. While it's natural for our professional lives to occupy a significant portion of our time and energy, it's important to keep the two seperate:

  • Prioritise self-care and well-being.
  • Set clear boundaries between work and personal life.
  • Unplug and recharge regularly.
  • Delegate tasks and collaborate effectively.

Remember, a successful career goes hand in hand with a balanced life.

Chris Cooper

Quality Manager

1 年

My head nearly fell off I was nodding so much reading this. Great stuff.

Jack Cole

Building Product & Engineering Leadership teams for Payment, Credit, and RegTech Companies. Passionate about creating value through community-led initiatives, content, and talent partnering.

1 年

Andy Johnson maybe one for your newsletter

Calvin K.

Software Engineering Management | Certified SAFe? 6 Agilist | Agile Methodologies | Software Development

1 年

Dan Jacobs this is awesome. My observation after reading is that your views are applicable to a number of engineering and product roles by simply changing the tester role in your article. Keep up the good work and thanks for sharing.

要查看或添加评论,请登录

Dan Jacobs的更多文章

社区洞察

其他会员也浏览了