Garden Project Lifecycle: Validation & Verification Phase

Software testing goals include:

  • ensuring that developers built the correct product. (For example, if the requirements describe a movie theater, make sure the developers did not create a bowling alley)
  • confirming that the product was built correctly. (For example, ensure that the movie projector begins at the correct time and plays the correct expected movie)

Given a set of inputs into the software, testing requires checking what is output by the software for those inputs. With software testing, we ask, “Do the actual results match the expected results”? If the answer is ‘no’, then there are issues that need to be addressed. If the answer is ‘yes’, then there should relatively high confidence that the software works correctly.

For garden projects, we are not testing that something works correctly. Instead, we focus on validation & verification. First, we validate that we produced the correct output based on the goals of the project. For example, if we wanted to create a butterfly pollinator garden, we would not want a pond filled with aquatic plants. Next, we verify that all of the requirements for the project are fulfilled as expected. All features are present; all qualities are correctly incorporated/addressed; and all constraints were met or addressed.

Garden Test Plan

Software testers must always have a documented plan for testing their software. A software test plan outlines sample inputs, expected outputs, and a test procedure to follow. A test procedure includes descriptions of what buttons to click, which menu options to select, etc. For garden projects, your requirements from the beginning of the project become the basis for your garden test plan.

Imagine your requirements are a checklist, and for garden project validation & verification, you must check off each requirement as being satisfied or not. Ideally, every requirement has been addressed as expected! For any requirements that cannot be checked-off the list as completed, then you must decide how to resolve the discrepancy. Perhaps you move some of the features to a future iteration of your project (that’s much easier with agile gardening!). Maybe you changed your mind. For example, though you initially wanted a yellow flowering plant, perhaps you are satisfied without a yellow flowering plant at this point.

Regression Testing

Software developers must repeatedly perform regression testing check that they haven’t unintentionally broken functionality from previous code, or regressed. For example, for a calculator software, testers must ensure that new features for multiplying numbers does not break the functionality of adding numbers. In a garden project that has multiple iterations, or in a project that involves improving or modifying a previous project, you want to make sure you haven’t unintentionally ‘broken’ a requirement from the previous iteration or previous project.

For example, last year I created a pollinator garden — I outlined features, qualities, and constraints that were all met with my project last year. This year, I may want to add a water feature within that pollinator garden. As I complete my water feature project this year, I need to check to make sure I have still satisfied my features, qualities, and constraints for my pollinator project from last year. For example, if my pollinator garden required a perennial lantana, then I don’t want to accidentally remove that lantana as I install the water feature. Perhaps that means I need to move the lantana first to satisfy the requirements from last year’s project.

Acceptance Testing

You will likely need to perform acceptance testing during garden proejct validation & verification, especially if you were not the only stakeholder for this garden project. For example, if you were completing a garden project for a family member or friend’s yard, then you would need the family member or friend to review your work to determine if you met the requirements they helped outline. In other words, the family member or friend needs to give approval that the outcome of the project is acceptable.

Security Testing

Depending on your requirements, you may also need to perform security testing. Think about malicious actors for a garden project — insects, diseases, or wildlife. If one of the requirements involved keeping deer out of the garden, then perhaps you had to install deer fencing. For testing, you need to ensure the deer fencing is adequately installed with no holes or gaps that would allow deer to damage the plants or materials within the garden. Or, maybe you installed an expensive piece of yard art in your garden. To reduce the risk of the yard art being stolen, perhaps you secure the yard art using a chain to a permanent fixture in the garden. For security testing, think like an attacker and ensure you have addressed risks associated with the project.

Scroll to Top