<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[contextdriven.coach]]></title><description><![CDATA[With a treasure trove spanning over seventeen bountiful years, I've gallantly sailed the turbulent seas of software testing and quality coaching across a vast a]]></description><link>https://contextdriven.coach</link><generator>RSS for Node</generator><lastBuildDate>Wed, 20 May 2026 09:49:27 GMT</lastBuildDate><atom:link href="https://contextdriven.coach/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Understanding the First Principle of Context-Driven Testing]]></title><description><![CDATA[Introduction to Context-Driven Testing
Context-Driven Testing (CDT) is an approach in software testing that prioritises a deep understanding of the context in which testing occurs. Moving away from the traditional 'one-size-fits-all' mentality, CDT d...]]></description><link>https://contextdriven.coach/understanding-the-first-principle-of-context-driven-testing</link><guid isPermaLink="true">https://contextdriven.coach/understanding-the-first-principle-of-context-driven-testing</guid><category><![CDATA[Context Driven Testing]]></category><category><![CDATA[Quality Assurance]]></category><category><![CDATA[Software Testing]]></category><category><![CDATA[Software Testing Principles]]></category><category><![CDATA[Test Strategies]]></category><dc:creator><![CDATA[John Coleman]]></dc:creator><pubDate>Mon, 29 May 2023 06:42:36 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1685339683679/3d1fd1a0-949f-4a8c-8779-ca1bd0fcc6c6.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2 id="heading-introduction-to-context-driven-testing">Introduction to Context-Driven Testing</h2>
<p>Context-Driven Testing (CDT) is an approach in software testing that prioritises a deep understanding of the context in which testing occurs. Moving away from the traditional 'one-size-fits-all' mentality, CDT dismisses the notion of universally applicable 'best practices.' Instead, it declares that the effectiveness and value of any practice hinge critically on its context. This context encompasses many factors, such as the software's purpose, the intended users, the development environment, budget constraints, and more.</p>
<p>Think of it this way - it's like asking a kangaroo to climb a tree. It might give it a good go, but it's not playing to the kangaroo's strengths. Just like a kangaroo is built for hopping across the plains, software testing practices are designed for specific contexts.</p>
<p>At the foundation of CDT are seven principles. The first, arguably the cornerstone, is "The value of any practice depends on its context." The subsequent principles expand upon this concept, underscoring the significance of human judgement, the diversity of potential methodologies, and the vital role of continuous learning and adaptability.</p>
<p>The Seven Principles of Context-Driven Testing are:</p>
<ol>
<li><p>The value of any practice depends on its context.</p>
</li>
<li><p>There are good practices in context, but there are no best practices.</p>
</li>
<li><p>People working together are the most important part of any project's context.</p>
</li>
<li><p>Projects unfold over time in ways that are often not predictable.</p>
</li>
<li><p>The product is a solution. If the problem isn't solved, the product doesn't work.</p>
</li>
<li><p>Good software testing is a challenging intellectual process.</p>
</li>
<li><p>Only through judgement and skill, exercised cooperatively throughout the entire project, are we able to do the right things at the right times to effectively test our products.</p>
</li>
</ol>
<p>This article is the first in a series to probe each of the seven principles of CDT in depth. In this article, I will delve into the first principle of CDT and aim to equip you with a deeper comprehension of this principle through real-world examples, insightful discussion on its implications for software testers, and practical strategies for identifying and understanding context. The objective is to clearly understand this principle, explain its importance, and explore ways to leverage it in your software testing practices.</p>
<p>By understanding and applying these principles, you will be better prepared to deliver high-quality software that fulfils user needs and expectations, irrespective of the context. Join me on this enlightening journey to uncover the value of context in software testing and discover how it can revolutionise your testing approach.</p>
<p>And remember, applying these principles is like trying to find a koala in the outback - it might take a little time and patience, but once you spot one, it's absolutely worth the effort. Or as we say in Australia, 'Good things come to those who bait their hook and wait.' So let's dive in and see what we can catch!</p>
<h2 id="heading-unpacking-the-first-principle">Unpacking the First Principle</h2>
<p>Let's dive into the heart of Context-Driven Testing (CDT) by exploring its foundational principle: <strong>"The value of any practice depends on its context."</strong> This seemingly simple principle carries profound implications that demand thoughtful exploration.</p>
<p>Fundamentally, the first principle of CDT challenges the conventional notion of 'best practices.' It asserts that no single 'best practice' universally applies to all situations. Instead, the effectiveness of a specific practice is connected to the context in which it is applied.</p>
<p>Consider, for example, a rapid development environment with frequent iterations. In such a context, applying a comprehensive, exhaustive testing practice at every iteration could prove inefficient or counterproductive. Instead, a more streamlined, focused approach—like risk-based testing—might be far more effective. Conversely, an exhaustive testing practice would likely be the best approach in a high-stakes financial application where mistakes could lead to significant monetary repercussions.</p>

    <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1685335383079/150c4688-a5a3-4cb2-98c6-e132395e7b23.jpeg" alt="Lego Storm Trooper watching the opening credits of a movie" />
    Choosing the right testing path depends on understanding the context. Photo by Daniel K Cheung on <a target="_blank" href="https://unsplash.com/photos/i5Lmb7qPR7s">Unsplash</a>


<p>This principle encourages us to view each testing scenario as unique, requiring a carefully crafted approach based on specific circumstances. In this view, testing is not a rigid, cookie-cutter process but rather a flexible, adaptable practice that can and should be tailored to fit the context.</p>
<p>Understanding 'context' in this scenario extends beyond just the tucker (software) on the plate. It encompasses the entire ecosystem—the way the tucker was cooked (development methodology, overarching business objectives), who's coming to the barbie (team skills and dynamics, user expectations), and even whether the council has any fire restrictions (regulatory requirements) and more. Each of these components can significantly sway the selection of testing practices and their subsequent effectiveness.</p>
<p>Just like an Australian Koala wouldn't be at home in the African Savannah, testing practices also have their ideal habitats. The key is to align the practice with its suitable context to ensure it thrives and delivers the desired outcomes.</p>
<p>In the following sections, we'll explore this concept with real-world examples, discuss its implications for software testers, and provide practical strategies for identifying and understanding context.</p>
<h2 id="heading-context-matters-real-world-examples">Context Matters: Real-World Examples</h2>
<p>Let's consider some real-world scenarios to better appreciate the importance of context in testing. This section delves into three examples that highlight the applicability of the first principle of CDT.</p>

    <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1685338638640/b9f59431-9b57-4bf3-90df-b8d908ca37e2.jpeg" alt="Lego Storm Trooper looking into the lens of a digital camera" />
    Software testing is about questioning a system in order to evaluate it, and context defines the meaning of the questions and the answers. Photo by Daniel K Cheung on <a target="_blank" href="https://unsplash.com/photos/dDppsuM_UpE">Unsplash</a>


<p><strong>Example 1: Rapid Software Development</strong></p>
<p>Imagine a tech startup creating a mobile application with a goal to rapidly innovate, capture market share, and respond swiftly to user feedback. They follow a fast-paced development model, launching new features and fixes weekly.</p>
<p>In such a context, the testing strategy must match this rapid pace. A traditional, exhaustive testing approach could slow the release cycle, threatening the startup's competitive standing. Instead, a more nimble testing approach might be appropriate.</p>
<p>For instance, risk-based testing focusing on the application's most impactful or risk-prone areas can be employed. Alternatively, testers could take more time to actively explore and experiment with the application to uncover issues without rigidly adhering to pre-defined test scripts. These approaches allow rapid feedback, accelerating the resolution of issues.</p>
<p>Automation also becomes a key player in this context. Automated regression checks can swiftly identify if new changes have unintentionally introduced bugs without requiring time-consuming manual checks. Continuous integration and automated checks can also ensure that issues are identified and rectified promptly.</p>
<p><strong>Example 2: Safety-Critical Systems</strong></p>
<p>Now, let's examine a completely different context: the development of safety-critical systems, such as software for controlling a medical device or an aeroplane's avionics system. In such cases, a software defect could lead to a failure with catastrophic and even lethal consequences.</p>
<p>The context demands a more thorough and rigorous testing approach in these high-stakes scenarios. Testing must go beyond standard functionality checks and guarantee that the system behaves exactly as specified under all conditions.</p>
<p>Practices such as formal verification, which employs mathematical techniques to prove system correctness, might be deployed. White-box testing will likely be extensive, examining the system's internals and ensuring every line of code, condition, and loop is executed and behaves as intended.</p>
<p>Such systems are usually subject to stringent regulatory requirements. As a result, testing extends beyond ensuring functional correctness to providing compliance evidence. This may involve thorough documentation of test cases and results, defect management, and maintaining traceability from requirements to tests for complete coverage.</p>
<p>By understanding the specifics of these contrasting contexts, testers can make informed decisions about the most effective testing strategies, ensuring quality and reliability while meeting business and regulatory requirements.</p>
<p><strong>Example 3: Video Game Development</strong></p>
<p>Finally, let's examine the context of video game development, where testing practices greatly differ from other software industries. Video games, by nature, aim to offer players an interactive, engaging and unique experience, making user experience a pivotal factor.</p>
<p>While video games typically undergo several types of testing like functionality, compatibility, and performance checks, one of the most unique and contextually critical types of testing in this field is 'playtesting.' Playtesting involves testers playing the game to gain insights into the gaming experience and identify potential enhancements or flaws in game design, storyline, mechanics, or difficulty levels. It's not just about whether the game works properly; it's about whether it's as fun as a kangaroo on a trampoline.</p>
<p>This kind of testing transcends traditional bug hunting. It's about embracing the player's perspective, which is the context in this case. It's not merely enough to ensure the game operates as designed; it's equally important to understand that the game is enjoyable, offers the right level of challenge, and delivers a seamless and immersive experience that meets player expectations. Moreover, in today's world, where games are often played online with others, network and concurrency testing become vital to guarantee real-time interaction without issues among multiple players, reflecting yet another aspect of the context in game testing.</p>
<p>This example underlines that understanding the specific context, in this case, the player experience and multiplayer interaction is crucial to defining the right testing strategy and ultimately contributing to the game's success.</p>
<p>These three high-level examples underline that the choice of testing approach is not just about the type of software or the functionality being tested. It's about comprehending the broader context - the stakes, the users, the development methodology, the regulatory landscape, and much more. Context matters, and understanding this can make all the difference in delivering high-quality, reliable software.</p>
<h2 id="heading-implications-for-software-testers">Implications for Software Testers</h2>
<p>Understanding and appreciating the first principle of Context-Driven Testing has profound implications for software testing professionals. Here are some key takeaways that you should consider.</p>

    <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1685338096835/97520498-aafd-4d9a-b204-7c069f43a136.jpeg" alt="Various Lego figures" />
    Collaboration with an array of stakeholders is important to understand the context. Photo by Markus Spiske on <a target="_blank" href="https://unsplash.com/photos/XjD0kNkpq2E">Unsplash</a>


<p><strong>Embrace Versatility</strong></p>
<p>Software testers are often thought of as individuals who validate code and functionality against requirements, but the first principle of CDT prompts us to broaden this view. Being a software tester means being versatile and adaptable, ready to understand and navigate the diverse contexts that different projects present. Software testers should not be confined to a single 'best practice.' Instead, the tester must be armed with a diverse toolkit of methods, ready to select and employ the most appropriate one for the situation at hand.</p>
<p><strong>Become a Lifelong Learner</strong></p>
<p>As the famous quote from Alvin Toffler goes, "The illiterate of the 21st century will not be those who cannot read and write, but those who cannot learn, unlearn, and relearn." This notion resonates deeply with the context-driven approach. As a software tester, you should always be curious, seek to learn new testing techniques and methods and be open to changing your approach based on the context. It's essential to stay updated with industry trends, emerging technologies, and regulatory changes, as these factors can significantly influence the context.</p>
<p><strong>Prioritise Communication and Collaboration</strong></p>
<p>Just like the collaborative effort it takes to put on a good old footy match, understanding the context of any project isn't a solo mission - it requires active engagement and collaboration with an array of stakeholders. These could include your fellow testers, developers, business analysts who define the project requirements, project managers overseeing the project timeline and resources, and ultimately the end-users who are the intended audience of the software. Building robust relationships and open communication channels with these stakeholders is as vital as knowing your prop from your fullback. In context-driven testing, communication isn't just a skill; it's a crucial tool for unearthing valuable insights about the software's context. It facilitates a more comprehensive understanding of the context and empowers testers to make more informed and effective testing decisions.</p>
<p><strong>Cultivate Critical Thinking Skills</strong></p>
<p>Embracing the first principle of CDT means testers need to harness the power of critical thinking. Evaluating the context isn't just about data collection; it's about analysing the gathered information and interpreting its potential impact on testing strategies. Exercising sound judgement, therefore, becomes integral to choosing the right approach. It's crucial to remember that a strategy that yielded outstanding results in one context might fall flat in another. The driving force behind effective testing isn't a one-size-fits-all technique but the ability to sense and adapt to the unique demands of each context.</p>
<p><strong>Be a Champion of Quality</strong></p>
<p>In alignment with the first principle of CDT, testers should aim to be more than just defect finders - they are encouraged to embody the role of quality advocates within their teams. The ability to tailor your approach to the context shows an understanding that quality is a holistic concept beyond finding bugs. It's not just about 'finding and fixing' but also proactively ensuring that software integrates smoothly within its intended context and contributes positively to the larger picture. It is about shaping a strategy that aligns with the context to ensure that the software seamlessly serves its intended function while meeting user needs and exceeding expectations. This role demands adaptability, critical thinking, and a comprehensive understanding of the unique nuances of each context, just like reading a cricket pitch to decide whether to bat or bowl first.</p>
<p>Adopting the first principle of CDT encourages testers to move beyond their comfort zones, seek continuous learning, and foster a mindset of adaptability and critical thinking. It's not an easy path, but it's certainly rewarding, leading to more effective testing and high-quality software. In the next section, we will explore practical strategies for identifying and understanding context in software testing.</p>
<h2 id="heading-pitfalls-of-ignoring-context-in-testing">Pitfalls of Ignoring Context in Testing</h2>
<p>Understanding the relevance of context in testing strategies is one thing; grasping the ramifications of neglecting it is another. This section explores scenarios where disregarding the context can result in ineffective testing, missed bugs, wasted resources, and other potential pitfalls. This examination further underscores the vital role of context in shaping and executing effective testing strategies.</p>

    <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1685337110418/f9eb5c59-a086-411c-98bd-80c676e3261e.jpeg" alt="Lego storm trooper holding a paintbrush next to a blank canvas" />
    Ignoring context in software testing is like trying to paint a picture without seeing the canvas. Photo by Daniel K Cheung on <a target="_blank" href="https://unsplash.com/photos/ZqqlOZyGG7g">Unsplash</a>


<p><strong>Over-reliance on 'Best Practices'</strong></p>
<p>Perhaps the most common pitfall in testing is the over-reliance on so-called 'best practices'. This can be as foolhardy as leaving your sunnies at home on a scorching Australian summer day. While these practices have undoubtedly proven effective in certain contexts, adhering to them rigidly, without due consideration of the situational nuances of the situation, can result in ineffective testing. It's essential to critically assess the appropriateness of each practice within the given context instead of defaulting to a one-size-fits-all mentality. A strategy that works brilliantly in one context may falter in another.</p>
<p><strong>Misdirection of Testing Efforts</strong></p>
<p>Understanding the context allows for the efficient allocation of testing resources, focusing efforts where they can add the most value. Ignoring context often leads to misdirecting testing efforts, wasting resources and valuable time. That's like throwing a boomerang the wrong way and waiting for it to return – it just won't work. For instance, excessively focusing on exhaustive testing might slow the release cycle in a rapid development environment. On the other hand, a simple, high-level testing approach may be inadequate for complex, safety-critical systems.</p>
<p><strong>Overlooked Issues</strong></p>
<p>Neglecting context in testing could also lead to bugs and issues being overlooked. This is especially true when testers fail to comprehend the end-user context fully. For instance, a tester unaware that a mobile application will primarily be used in locations with poor network connectivity might neglect to test how the app performs under such conditions, missing bugs related to network handling.</p>
<p><strong>Unsatisfied Users</strong></p>
<p>Last but certainly not least, failing to consider the user context can lead to dissatisfied users. In today's customer-centric landscape, it's critical that software functionally works as intended and delivers a seamless, intuitive, and satisfying user experience. If the testing does not take into account the users' expectations, preferences, and usage conditions, the result may be a technically sound product that, nonetheless, fails to meet user needs and expectations.</p>
<p>Ignoring the context of testing can have numerous detrimental consequences. By understanding and embracing the principle that the value of any practice depends on its context, testers can avoid these pitfalls, making their testing strategies more effective, efficient, and ultimately successful in bolstering the quality of the software. This principle, the cornerstone of Context-Driven Testing, is more than a guideline – it is a commitment to quality, adaptability, and user-centricity in software testing.</p>
<h2 id="heading-strategies-for-context-identification">Strategies for Context Identification</h2>
<p>Identifying and understanding context is not just a prerequisite for effective testing; it's an active process that requires careful thought, analysis, and ongoing attention. Here are some strategies to aid testers in comprehending the context of a software testing scenario, gathering relevant information, and using that data to inform their testing practices.</p>

    <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1685338474115/bc0310bf-1cac-49b6-b69b-3f2528d45591.jpeg" alt="Two Lego Storm Troopers looking out across a vast empty landscape" />
    Understanding the context in software testing is not a destination, it's an ongoing journey. Photo by Daniel K Cheung on <a target="_blank" href="https://unsplash.com/photos/nXKNn2L4fDw">Unsplash</a>


<p><strong>Ask the Right Questions</strong></p>
<p>Start by asking relevant questions about the project. What is the software's purpose? Who are its intended users? What environments will it operate in? What are the business and regulatory constraints? These queries can provide a clearer picture of the context you're working within. Remember, there's no such thing as a stupid question in the quest to understand the context.</p>
<p><strong>Engage with Stakeholders</strong></p>
<p>Developers, project managers, business analysts, and end users have distinct perspectives on the software and its requirements. It's like organising a neighbourhood BBQ - you wouldn't just buy a bunch of snags without asking your neighbours if they prefer burgers, would you? Engaging with different stakeholders can reveal a rich tapestry of contextual insights. Through open communication and active listening, testers can gather a wealth of contextual information that might otherwise be overlooked.</p>
<p><strong>Conduct a Risk Assessment</strong></p>
<p>Risk assessments are a valuable tool for understanding context. By identifying potential risks and their severity and impact, you can gain insight into which areas of the software need more attention and which can be tested less rigorously. This practice aligns your testing strategy with the context's inherent risks and priorities.</p>
<p><strong>Regularly Review and Adapt</strong></p>
<p>Contexts aren't static; they evolve with the project. Regularly reviewing your understanding of the context can help ensure that your testing strategy remains aligned with the current situation. Be open to adapting your testing practices as the context changes.</p>
<p><strong>Leverage Documentation</strong></p>
<p>Documentation, including requirement documents, user stories, design documents, and bug reports, can be repositories of valuable context. These resources can offer insights into the software's functionality, user needs, potential areas of concern and more.</p>
<p><strong>Use Heuristics and Models</strong></p>
<p>Heuristics and models can be invaluable tools for understanding and dissecting complex contexts. Techniques such as the Heuristic Test Strategy Model (HTSM) or the Software Testing Quadrants can provide a structured way to consider different aspects of the context and guide your testing strategy accordingly.</p>
<p><strong>Explore and Experiment</strong></p>
<p>You should actively engage with the software and take a hands-on approach to acquire knowledge and develop a comprehensive understanding of the software. Think of this as going walkabout with your software - engaging with it, getting to know it, and understanding it more deeply. This approach enables testing and learning to occur simultaneously. It can be a powerful method for understanding and unearthing additional context that may not be evident from project documentation or stakeholder discussions.</p>
<p>By adopting these strategies, testers can better understand their testing context, enabling them to design and implement testing practices that align with the project's unique circumstances and requirements. Understanding context is not a one-off task but a continuous process that requires attention, reflection, and adaptability. It's a journey, not a destination, and it can make all the difference in delivering high-quality, user-centric software.</p>
<h2 id="heading-conclusion-embracing-context-in-software-testing">Conclusion: Embracing Context in Software Testing</h2>
<p>In the immortal words of the great Aussie legend, Steve Irwin, "Crikey, isn't she a beauty!" And by 'she,' we mean the concept of Context-Driven Testing (CDT). As we draw the curtain on this comprehensive exploration into the first principle of CDT, we're not just reaffirming the idea that context matters; we're celebrating it. Context is not just paramount; it is the backbone of effective software testing. This article sought to shed light on this critical yet often overlooked aspect of software testing, reinforcing the significance of context and the myriad of benefits it brings.</p>
<p>The primary motif remains clear and compelling from the heart of CDT principles that earmark context as central to testing to the discussion on techniques that testers can employ to decipher their unique context. Effective software testing isn't a generic, one-size-fits-all checklist that can be replicated across every project. Rather, it's an intricate craft that needs to be tailored, refined, and adapted based on the context. This flexibility is instrumental in uncovering issues that threaten the value of the project and, ultimately, meeting and exceeding user expectations.</p>
<p>A walk-through of the implications of CDT for software testers highlighted how understanding context could inform and steer everything from test design and planning to bug identification and reporting. We unveiled the potential pitfalls of neglecting context, including ineffective testing, overlooked bugs, and unsatisfied users. These insights amplify our understanding of the indispensable role of context in shaping effective, efficient, and user-focused testing strategies.</p>
<p>Lastly, we presented a collection of strategies to aid in identifying and understanding context, ranging from crafting insightful questions and engaging with stakeholders to conducting risk assessments and leveraging documentation. These strategies remind us that understanding context is like watching a cricket test match; it's not a one-off task but a continuous journey that requires attentiveness, patience, and adaptability.</p>
<p>In summary, incorporating context into testing strategies doesn't merely enhance the efficiency of software testing - it fundamentally transforms it. With a firm grasp of the principles of Context-Driven Testing and armed with the strategies to identify and understand context, software testers are well-equipped to elevate their testing endeavours. As we chart our course in this ever-evolving landscape of software testing, let us not just acknowledge context but wholeheartedly embrace it, transforming it into our greatest ally in our quest for quality and excellence. And remember, as we navigate this ripper journey of software testing, keep saying "No worries, mate" to the challenges and "Good on ya" to the successes.</p>
]]></content:encoded></item><item><title><![CDATA[Speed Up Your Testing Game]]></title><description><![CDATA[Recently, I've been asked a couple of times, "How can we speed up testing since it's slowing us down?". The solution here isn't just about cranking up the pace of manual tasks but rather refining the overall test strategy for a more efficient approac...]]></description><link>https://contextdriven.coach/speed-up-your-testing-game</link><guid isPermaLink="true">https://contextdriven.coach/speed-up-your-testing-game</guid><category><![CDATA[Software Testing]]></category><category><![CDATA[test strategy]]></category><category><![CDATA[Quality Assurance]]></category><category><![CDATA[Rapid Software Testing]]></category><category><![CDATA[Context Driven Testing]]></category><dc:creator><![CDATA[John Coleman]]></dc:creator><pubDate>Tue, 09 May 2023 00:33:23 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/mvo-xJE1oFg/upload/b343497084ed043ac0cf2f5de617a6a3.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Recently, I've been asked a couple of times, "How can we speed up testing since it's slowing us down?". The solution here isn't just about cranking up the pace of manual tasks but rather refining the overall test strategy for a more efficient approach.</p>
<p>This post will explore a few principles of Rapid Software Testing (RST) and Context-Driven Testing (CDT) – methodologies designed to help you test smarter and faster. The answer isn't just about doing things quicker or automating everything; the real trick is embracing strategies that streamline the testing process and ramp up efficiency. So, grab a cuppa (because, let's face it, a good brew can solve just about anything) and buckle up for a ripper ride through testing optimisation!</p>
<h2 id="heading-context-driven-testing-adapt-like-a-kangaroo-and-conquer-like-a-croc">Context-Driven Testing: Adapt Like a Kangaroo and Conquer Like a Croc</h2>
<p>Created by Cem Kaner and other testing experts in the late 90s. CDT acknowledges the importance of context in shaping your testing approach. You can't have a one-size-fits-all hat for a kangaroo and a koala: no two projects are the same, so why should your testing strategy be? CDT empowers you to tailor testing techniques to each project's unique circumstances.</p>
<p>There are seven basic principles of CDT; I will touch on three of them for now and will do a deep dive into all seven principles in a future post:</p>
<ol>
<li><p><strong>The value of any practice depends on its context:</strong> This principle emphasises that the effectiveness of a testing practice is as highly dependent on the specific circumstances of a project just as a vegemite sandwich is on the right amount of butter. Understanding and considering the context is crucial for selecting the appropriate testing practices. A technique that works well in one situation may not be suitable in another.</p>
</li>
<li><p><strong>People working together are the most important part of any project's context:</strong> The success of a project largely depends on the collaboration, skills, and expertise of the people involved, just like a good game of footy. This principle emphasises the importance of teamwork, communication, and leveraging the talents of individual team members to achieve project goals, just like coordinating the perfect grubber kick.</p>
</li>
<li><p><strong>Projects unfold over time in ways that are often as unpredictable:</strong> This principle acknowledges that software projects are complex and dynamic, with various uncertainties and risks that may emerge throughout their lifecycle, just like the Sydney weather. Adapting and responding to these changing circumstances is essential for effective software testing, like switching from thongs to gumboots on a rainy day.</p>
</li>
</ol>
<p>CDT offers several benefits to the software development and testing processes because it emphasises context, teamwork, and adaptability. By understanding that the value of any practice depends on its context and recognising that each project is as unique as a quokka selfie, CDT encourages testers to tailor their approach to each individual project, allowing for a more efficient and targeted testing process that ultimately leads to better software quality and reduced time. Additionally, CDT acknowledges the unpredictable nature of software projects and emphasises the need for adaptability, equipping teams with the mindset and skills to respond to changing circumstances proactively.</p>
<figure>
    <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1683532804555/47f1214b-c0f6-4ebe-8a2c-da902faf1728.jpeg" alt="A drop bear in a tree" />
    <figcaption>Recognise that each project is as unique as a quokka selfie and tailor your approach to each individual project 🤳😄🐻</figcaption>
</figure>

<p>One of the primary benefits of CDT lies in its focus on the role of people working together in a project's context, like a bunch of mates tackling a BBQ on a sweltering summer day. Recognising that the success of a project hinges on collaboration, effective communication, and the diverse skillsets of team members – from the snag-flipper to the beer-fetcher – CDT promotes a culture of teamwork and continuous learning, empowering teams to identify and solve problems more effectively and deliver higher-quality products by fostering an environment where individual talents are harnessed. This flexibility enables teams to address emerging issues, revise their testing approach like a surf lifesaver adjusts to the changing tide, and ultimately deliver software that meets the evolving needs of their users.</p>
<h2 id="heading-rapid-software-testing-faster-than-a-kangaroo-on-a-hot-tin-roof">Rapid Software Testing: Faster Than a Kangaroo on a Hot Tin Roof</h2>
<p>Developed by James Bach and Michael Bolton, Rapid Software Testing (RST) emphasises speed, efficiency, and adaptability in the software testing process. The methodology embraces tools (such as automated checks). Still, it is centred primarily around the role of skilled technical personnel who guide and drive the process through critical thinking, skill development and effective communication as smoothly as an Aussie ute on the open road. This empowers testers to take control of their work, adapt to different contexts, quickly deliver valuable information about the software under test and lead testing efforts without relying on strict templates and rules – or as we say Down Under, "She'll be right, mate!"</p>
<p>I'll touch upon three components of RST that are as essential:</p>
<ol>
<li><p><strong>Embrace exploration and experimentation:</strong> Rapid and effective testing relies on quickly acquiring knowledge about the product, just like learning to avoid the drop bears on your first visit to Australia. Instead of solely depending on specifications or existing test cases, you should actively engage with the product to develop a comprehensive understanding. This hands-on approach fosters a more accurate mental model and enhances testing efficiency, like knowing where to find the best meat pie in town.</p>
</li>
<li><p><strong>Focus on product risk:</strong> Not every aspect of a product requires the same degree of testing, just like not all spiders in Australia are deadly. Concentrate thorough deep testing in high-risk areas while performing shallow testing or foregoing testing altogether where potential risks are minimal, like worrying about a huntsman spider compared to a funnel web. This targeted approach ensures resources are allocated efficiently and optimises the testing process.</p>
</li>
<li><p><strong>Use lightweight, flexible heuristics to guide your work:</strong> The RST methodology incorporates a variety of adaptable heuristic models to structure and support testing activities that are as agile as a sugar glider gliding between trees. These models are versatile, lightweight, and suitable for various testing scenarios. They serve as a flexible framework that can be tailored to meet the unique needs of each testing situation.</p>
</li>
</ol>
<p>Rapid Software Testing (RST) provides numerous advantages to the software testing process by prioritising speed, flexibility, and risk-based testing. Embracing exploration and experimentation is a core principle of RST, enabling testers to quickly gain valuable insights into the product by actively engaging with it like a surfer tackling the waves. This hands-on approach allows testers to develop a thorough understanding of the product, fostering a more accurate mental model and improving overall testing efficiency. By actively exploring and experimenting, teams can identify potential issues and vulnerabilities more effectively, leading to higher-quality software and shorter development cycles, allowing you to crack open a cold one with the team sooner.</p>
<figure>
    <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1683530018695/9d4bff3e-d033-4343-b4fc-da78dfde1302.jpeg" alt="A drop bear in a tree" />
    <figcaption>Watch out for drop bears – they sneak up on you just like unexpected bugs! 🐨🌳💻</figcaption>
</figure>

<p>Another significant benefit of RST is its focus on product risk, which promotes efficient resource allocation by targeting testing efforts where they are needed most. By concentrating on high-risk areas with deeper testing and employing shallow testing or skipping testing altogether in low-risk areas, RST ensures a more streamlined testing process. With lightweight, flexible heuristics to guide testing activities, teams have a versatile and adaptable framework tailored to suit various testing scenarios, like a swag that's ready for any adventure. These heuristic models provide structure and support for both informal and formalised testing, allowing teams to adjust their approach as needed to meet the unique demands of each project. This helps teams optimise their testing efforts, delivering better software more quickly and efficiently, making your software as reliable as a trusty boomerang.</p>
<h2 id="heading-putting-it-all-together-test-faster-test-smarter">Putting It All Together: Test Faster, Test Smarter</h2>
<p>Rapid Software Testing offers numerous benefits by focusing on speed, flexibility, and risk-based testing through exploration, experimentation, and adaptable heuristics. This approach ensures efficient resource allocation and optimised testing efforts, leading to higher-quality software and shorter development cycles. On the other hand, Context-Driven Testing provides a practical and adaptable framework that enhances software testing by leveraging contextual understanding, teamwork, and responsiveness to changing project conditions. Both methodologies emphasise the importance of adapting to unique project circumstances and utilising the skills and expertise of the testing team to deliver the best possible outcomes.</p>
<p>Here are a few tips to help you improve your approach using Rapid Software Testing and Context-Driven Testing practices:</p>
<ol>
<li><p><strong>Know Your Context:</strong> Understand your project's unique requirements and constraints, like knowing the rules of a game of footy, and tailor your testing approach accordingly.</p>
</li>
<li><p><strong>Focus on Risk-Based Testing:</strong> Prioritise testing efforts based on potential risks and the impact of defects, like sizing up a croc before jumping into the water. Identify high-risk areas and critical functionalities, and allocate more time and resources to deeply test those components. Apply shallow testing or skip testing altogether in low-risk areas depending on your risk appetite – or how brave you are when facing a drop bear.</p>
</li>
<li><p><strong>Use Heuristics and Experimentation:</strong> Apply rules of thumb and experience-based techniques to guide your testing efforts, like following the Southern Cross to navigate the night sky, enabling you to make faster and more effective decisions. Explore and experiment, combine learning, test design, and test execution in a single activity. This allows you to uncover defects and adapt your testing strategy in real-time, enabling more efficient testing.</p>
</li>
<li><p><strong>Test in Parallel with Development:</strong> Collaborate closely with developers and work in parallel to ensure that testing is ongoing throughout the development cycle. This can help identify and fix defects earlier and faster.</p>
</li>
<li><p><strong>Leverage Automation Wisely:</strong> Use automation to handle repetitive tasks, like a shearing machine in a busy woolshed, allowing human testers to focus on more complex and creative testing activities. Remember that automation is not a one-size-fits-all solution and should be used in conjunction with manual testing.</p>
</li>
<li><p><strong>Foster Collaboration and Communication:</strong> Work closely with developers, product managers, and other stakeholders to ensure a shared understanding of requirements, expectations, and risks. Share findings, discuss challenges, and brainstorm solutions together, like a good ol' yarn around the campfire. This helps align testing efforts with project goals, highlights risks and makes identifying and addressing potential issues easier.</p>
</li>
<li><p><strong>Continuous Learning and Feedback:</strong> Stay curious and invest in your professional development. Regularly share findings, insights, and feedback with the team to enable faster iteration and continuous improvement, just like tuning up your trusty ute. This helps the team identify issues more quickly and refine their testing approach accordingly.</p>
</li>
<li><p><strong>Prioritise Test Activities and Embrace Change:</strong> Focus on the most valuable testing activities and be prepared to make trade-offs, like choosing between a sausage roll and a meat pie at the footy. Consider the context and constraints of the project and be ready to adapt your testing approach as the project's context evolves. Stay flexible and open-minded, and remember that "best practices" are not one-size-fits-all solutions.</p>
</li>
<li><p><strong>Embrace Session-Based Test Management (SBTM):</strong> SBTM structures your work into time-boxed sessions focused on specific objectives; you can focus on targeting specific areas of the application, resulting in more productive testing sessions. Furthermore, organising your testing efforts into manageable sessions allows you to quickly adapt your testing strategies as new insights emerge, like how we adjust our BBQ techniques to accommodate that surprise vegan guest.</p>
</li>
<li><p><strong>Foster a Culture of Continuous Improvement:</strong> Encourage a continuous improvement mindset within your team by regularly reviewing and reflecting on testing processes, practices, and outcomes. Emphasise the importance of learning from your successes and failures as a team and adapting your testing approaches based on feedback and new knowledge. By fostering a culture that values feedback, learning and improvement, you will empower your team to identify and implement optimisations to accelerate your testing efforts, just like a swift wind through the sails of a yacht in the Sydney to Hobart race.</p>
</li>
</ol>
<p>With these tips, you can speed up your testing game. You'll embrace speed, adaptability, and teamwork to make your software testing process as smooth as a cold beer on a scorching Aussie arvo. Cultivate a continuous improvement culture to keep your team on their toes, ready to face whatever challenges the project may throw their way. And remember, there's no one-size-fits-all solution in software testing – it's all about grasping your project's unique ins and outs, adapting on the fly, learning, and working together as a team.</p>
]]></content:encoded></item><item><title><![CDATA[No Worries, Mate: Coping with Redundancy and Keeping a Positive Attitude]]></title><description><![CDATA[G'day mates! So, you've just received the dreaded news: you're redundant. Just like that, you're out in the cold, feeling like a kangaroo caught in the headlights. But fear not, fellow Aussies! We've all been there, and the good news is, there's life...]]></description><link>https://contextdriven.coach/no-worries-mate-coping-with-redundancy-and-keeping-a-positive-attitude</link><guid isPermaLink="true">https://contextdriven.coach/no-worries-mate-coping-with-redundancy-and-keeping-a-positive-attitude</guid><category><![CDATA[Redundancy]]></category><category><![CDATA[layoff]]></category><category><![CDATA[job search]]></category><category><![CDATA[networking]]></category><dc:creator><![CDATA[John Coleman]]></dc:creator><pubDate>Wed, 05 Apr 2023 00:25:33 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/u16Kx7q2Loo/upload/ea5da2cde6b07cb2704ccf299795da30.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>G'day mates! So, you've just received the dreaded news: you're redundant. Just like that, you're out in the cold, feeling like a kangaroo caught in the headlights. But fear not, fellow Aussies! We've all been there, and the good news is, there's life after redundancy. So grab a cold one, sit back, and let's talk about how to cope with redundancy and keep a positive attitude (with a bit of a chuckle along the way).</p>
<h2 id="heading-dont-take-it-personally-youre-not-vegemite">Don't take it personally (you're not Vegemite)</h2>
<p>Redundancy can be a real kick in the guts. It can happen for various reasons, like budget cuts, restructures, business slowing down due to lower sales, and many other curveballs life throws, including Russia's illegal invasion of Ukraine. The global instability created by this conflict has affected international relations and many industries worldwide. Vladimir Putin's actions haven't been a barrel of laughs for anyone unless you count his <a target="_blank" href="https://www.youtube.com/watch?v=9sw3fjLvNiU">holiday snaps</a>; they are comedy gold and the gift that <a target="_blank" href="https://media.tenor.com/YTzC7JIb1GcAAAAC/putin-bear.gif">keeps on giving</a>.</p>
<blockquote>
<p><em>Whatever the cause, it's important to remember that redundancy is not a personal attack on your skills or value as an individual.</em></p>
</blockquote>
<p>It's just business, mate (said in my finest Aussie accent). It doesn't mean you're as divisive as Vegemite (which, let's be honest, is the true-blue Aussie brekkie hero). Redundancy constantly happens in the tech industry, especially as businesses transform, priorities change, and the market takes a spin. Embrace it as a chance for a new beginning, and remind yourself of all the unique skills and accomplishments you bring to the table. Just remember, you're not alone in this.</p>
<h2 id="heading-embrace-the-initial-shock-and-have-a-cheeky-rant">Embrace the initial shock (and have a cheeky rant)</h2>
<p>When you first hear the news, it's natural to feel like a prawn on the barbie: stunned and cooked. You might feel a whole gamut of emotions, from shock and confusion to anger, sadness, and anxiety. That's perfectly normal. Let yourself feel those emotions, and have a good rant to your mates, cat, or even your favourite potted plant, our office plant was called Robert Plant (do you see what we did there), but someone had forgotten to water him for the past few weeks, so he wasn't too happy either. As the old saying goes, "a problem shared is a problem halved," so talking it out can be incredibly therapeutic. Remember not to make a scene at the office – I almost threw my Vegemite toast across the room when I was made redundant. But I didn't because that would have been a waste of good Vegemite and a clean wall.</p>
<h2 id="heading-family-matters-ride-the-redundancy-rollercoaster-together">Family matters; ride the redundancy rollercoaster together</h2>

    <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1683590710427/aeb9ffb5-2a5b-41ea-98f2-00be5c94a1db.png" alt="The Round the Twist family kneeling in front of a lighthouse" />
    Round the Twist: The quirky Aussie family that made us believe anything can happen in a lighthouse!


<p>Dealing with redundancy is a family affair. You're all in it together – it's like playing a high-stakes game of Monopoly where everyone's on the same team, but the bank's gone bust. The impact on your family's mental health and stress levels can be substantial, especially if you're the primary breadwinner, and some of the signs that your family is not coping as well as you are can go unseen. But don't worry, just like a family game night, it's possible to find a way to support each other through this challenging time without flipping the table.</p>
<blockquote>
<p><em>Communication is crucial to help your family make sense of the situation and manage their stress and anxiety levels. Chat with them openly, allow everyone to express their concerns and fears, and brainstorm strategies together to conquer the challenges ahead.</em></p>
</blockquote>
<p>Keep them in the loop about your job hunt progress so they know where things stand. Be open and honest about the redundancy, but also keep a sense of humour in the mix (you know, like how you'd handle landing on Park Lane with a hotel for the third time in a row).</p>
<p>On top of that, remind your family that they're not alone in this adventure. Just like a trusty Vegemite sandwich, they're your support crew, and you're part of theirs. Keep communication flowing, stay positive, and remember – every dark cloud has a silver lining. By tackling this challenge as a team, your family will emerge stronger, more resilient, and ready to take on whatever the future throws at you. Plus, you'll have a stash of new inside jokes to chuckle about when reminiscing about these days!</p>
<h2 id="heading-channel-your-inner-steve-irwin-crikey">Channel your inner Steve Irwin (Crikey!)</h2>
<p>I remember growing up watching Steve Irwin on the Discovery Channel, and one of the things that left a lasting impression on me was how Steve tackled life with such contagious enthusiasm and a relentless sense of adventure; Now that the initial shock has passed, it's time to tap into your inner Crocodile Hunter! You can tackle this new chapter with a can-do attitude. Embrace the challenge, learn from the experience, and remember that life is about rolling with the punches and adapting to change.</p>
<h2 id="heading-trim-the-budget-but-dont-skimp-on-the-tim-tams">Trim the budget, but don't skimp on the Tim Tams</h2>

    <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1683590834728/da671f72-7276-425a-91d0-d189e3187e3d.png" alt="White chocolate, milk chocolate and dark chocolate Tim Tams" />
    Tim Tams: Australia's crown jewels – fuelling our sweet tooth and the Tim Tam Slam


<p>It's a hard truth, but redundancy often means tightening the purse strings. It's time to review your spending habits and identify areas where you can save. You might need to cut back on the avo toast and flat whites, but don't forget to keep a few small treats in the budget. A life without Tim Tams is un-Australian and might make the process a bit too gloomy.</p>
<h2 id="heading-rekindle-your-passion-for-the-industry-and-maybe-learn-a-new-skill">Rekindle your passion for the industry (and maybe learn a new skill)</h2>
<p>Redundancy can be an excellent opportunity to reignite your love for the industry or take a look at something completely new. Take the time to explore new areas of interest or learn new skills – coding, design, tools, or the latest cybersecurity trends. You might find a unique speciality that makes you even more of an asset in the job market.</p>
<h2 id="heading-network-like-youre-at-a-sausage-sizzle-minus-the-snags">Network like you're at a sausage sizzle (minus the snags)</h2>

    <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1683590932467/bcbc1341-b9f8-4f51-9873-7b2567c192c7.jpeg" alt="People at a sausage sizzle outside Bunnings" />
    Sausage sizzle: the unofficial Aussie national pastime, right after cricket and footy!


<p>Networking is a crucial part of finding new opportunities in the tech industry. Don't be shy to reach out to former colleagues, attend industry events, or even strike up a conversation with a fellow tech enthusiast in the supermarket aisle; those people are easy to spot; they usually walk around in t-shirts from a tech conference. Treat networking like you're at a good old Aussie sausage sizzle: be friendly, share your story, and listen to others. Just don't forget the onions (or your business card, in this case).</p>
<h2 id="heading-keep-your-job-search-as-energised-as-a-caffeinated-kangaroo">Keep your job search as energised as a caffeinated kangaroo</h2>
<p>When you're hunting for a new role, persistence is key. Approach your job search with the energy of a kangaroo on a double-shot flat white. When searching for new opportunities, keeping an open mind is also essential. Don't limit yourself to the same industry or job title. Set a daily schedule for scouring job boards, updating your CV, and reaching out to contacts. But remember, it's essential to strike a balance: don't burn yourself out by job-hunting 24/7. Give yourself time to recharge and enjoy life outside the search too.</p>
<h2 id="heading-nail-your-interviews-like-youre-trying-to-impress-dame-edna">Nail your interviews like you're trying to impress Dame Edna</h2>

    <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1683591001566/b54b384a-5d39-4b19-9051-edd5a0e43141.jpeg" alt="Dame Edna Everage in a gold dress" />
    Dame Edna Everage: Turning every royal wedding into an Aussie extravaganza, possums!


<p>Interviews can be as nerve-racking as trying to impress Dame Edna at a dinner party. The key to success is preparation. Research the company, practice your responses to common questions, and come armed with a few anecdotes that showcase your skills and personality. And, just like winning over Dame Edna, a little charm and a good sense of humour can go a long way.</p>
<h2 id="heading-embrace-the-art-of-positive-thinking-channel-your-inner-kylie-minogue">Embrace the art of positive thinking (channel your inner Kylie Minogue)</h2>
<p>As the fabulous Kylie Minogue once sang, "I should be so lucky," and with the right mindset, you can be too! Maintaining a positive attitude during your redundancy journey is essential. Surround yourself with uplifting people, indulge in activities that bring you joy, and remember to celebrate the small wins along the way. Remember, believing in yourself is half the battle.</p>
<h2 id="heading-dont-be-afraid-to-seek-professional-help-no-not-from-dr-karl-kennedy">Don't be afraid to seek professional help (no, not from Dr. Karl Kennedy)</h2>

    <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1683591072662/0656ad15-cd6f-49ed-ac45-a8858bfb1a0b.png" alt="Dr. Karl Kennedy playing guitar" />
    Dr. Karl Kennedy: The only doc who can cure any ailment in Ramsay Street and still rock the guitar!


<p>If you're struggling to cope with redundancy, don't be afraid to seek help from a professional, like a career coach, redundancy support advisor or an Employee Assistance Program (EAP) if your company has one available. They can provide guidance and support tailored to your specific situation. Just ensure you seek help from a qualified expert, not the Ramsay Street doctor.</p>
<h2 id="heading-and-thats-a-wrap-cobber">And That's a Wrap, Cobber</h2>
<p>In conclusion, redundancy can be a rollercoaster of emotions but also an opportunity for personal growth and new beginnings. Keep your chin up, your Vegemite handy, and your sense of humour intact. Embrace change, network like a pro, rekindle your passion for the industry and maintain a positive attitude. With the right mindset and approach, you'll emerge from this more robust and resilient than before – you've got this, mate!</p>
]]></content:encoded></item></channel></rss>