How to Manually Test Low-Code / No-Code Systems

Despite resorting to low-code/no-code automations, our IT infrastructure in My Amazon Guy is diverse and integrated, revolving around platforms such as Zapier, HubSpot, Slack, and Asana. This complexity necessitates a well-defined process to navigate our Quality Assurance (QA) tasks efficiently. So, our team developed system testing procedure that is specifically tailored for thorough testing of integrations and automations in our low-code/no-code environments. Here are some key insights and tips from our process that can be beneficial for anyone looking to conduct manual testing.

Phase 1: Business Requirement Analysis

The initial phase in My Amazon Guy's manual testing strategy involves a detailed Business Requirement Analysis. This phase is crucial for understanding the needs and expectations of the project, laying a foundation for all subsequent testing activities.

Understanding Requirements

  • Gather Comprehensive Information: Collect data, documents, and inputs from various stakeholders, focusing on functional requirements, business logic, user interactions, and integration points.
  • Clarify Ambiguities: Engage actively with stakeholders to resolve uncertainties. Utilize platforms like Asana or Slack for effective communication.
  • Assess Feasibility and Scope: Evaluate the practicality of the requirements within the constraints of our IT systems, particularly considering low-code/no-code platform limitations.
  • Setting Expectations: Align understanding among IT and QA specialists, team leads, and end-users about the system’s objectives.

Documentation and Communication

  • Documenting Requirements: Maintain a comprehensive record of all requirements and discussions for reference during testing.
  • Effective Team Communication: Ensure that all members of the testing team have a consistent understanding of the documented requirements.

Bridging to Test Planning

Utilize the insights gained from requirement analysis to formulate an effective test plan, smoothly transitioning to the Test Planning and Case Development phase.

Phase 2: Developing a Test Plan and Test Cases

After a thorough business requirement analysis, the next critical phase in My Amazon Guy's manual testing approach is the development of a test plan and test cases. This phase is essential for organizing the testing process and ensuring that all aspects of the system are adequately tested.

Developing a Test Plan

  • Identify Test Objectives: Clearly define what you want to achieve with the testing. This should align with the business requirements analyzed in the previous phase.
  • Determine Test Scope: Specify the boundaries of testing – which features of the system will be tested and which will not.
  • Resource Planning: Allocate the necessary resources, including personnel, tools, and time, for the testing process.
  • Define Test Environment: Establish the environment in which the testing will take place, ensuring it replicates the production environment as closely as possible.
  • Risk Assessment: Identify any potential risks or challenges that may arise during testing and plan for mitigation strategies.
  • Schedule and Milestones: Develop a timeline for the testing activities, outlining key milestones and deadlines.

Creating Test Cases

  • Utilize Gherkin Syntax: At My Amazon Guy, we use Gherkin syntax for developing test cases. This language is structured yet readable, consisting of Given, When, Then statements.
  • Detailing Test Steps: Each test case should clearly state the steps to be performed, expected results, and test data to be used.
  • Prioritizing Test Cases: Rank the test cases based on factors like business impact, criticality, and likelihood of failure.
  • Peer Review: Have test cases reviewed by peers to ensure thoroughness and accuracy.

Documentation

  • Maintain Clear Documentation: Keep a detailed record of all test plans and test cases for future reference and for use by other team members.
  • Version Control: Use version control systems to manage changes and revisions to test documents.

Tips for Effective Test Case Development

  • Be Specific: Each test case should be clear and concise, leaving no room for ambiguity.
  • Focus on User Experience: Include test cases that cover user interaction and usability aspects of the system.
  • Incorporate Different Scenarios: Consider various user behaviors and scenarios, including edge cases.
  • Continual Update: Regularly revise and update test cases to reflect changes in the system or business requirements.

Phase 3: Setting Up the Test Environment

The third phase in My Amazon Guy's manual testing methodology involves setting up an appropriate test environment. This phase is crucial as it ensures that the tests are conducted under conditions that closely mimic the actual operational environment.

Establishing the Test Environment

  • Replicating the Production Environment: Aim to create a test environment that closely resembles the live production environment to ensure realistic testing conditions.
  • Utilizing Tools and Platforms: Leverage the capabilities of platforms such as Zapier, HubSpot, Slack, and Asana to set up and manage the test environment.
  • Data Preparation: Ensure that test data is prepared and loaded into the system. This data should be representative of actual operational data while maintaining confidentiality and security.

Strategies for Test Environment Setup

  • Duplication of Components: Where possible, duplicate existing components to create an isolated testing environment. This includes replicating settings, workflows, and data.
  • Live Environment Testing: In cases where duplication is not feasible, establish protocols for testing within the live environment to prevent interference with ongoing operations.
  • Addressing Limitations: Recognize and document any limitations of the test environment, especially concerning low-code/no-code platforms.

Handling Data in Live Tests

  • Implement Procedures: Establish strict procedures for handling data during live testing to prevent impact on actual operations.
  • Test Data Usage: Wherever possible, use test data instead of actual operational data.
  • Post-Test Cleanup: After testing, ensure that test data and changes made to the live environment are cleaned up and reverted.

Special Protocols for Sensitive Environments

  • Pre-Test Communication: Announce planned tests in relevant channels to inform all stakeholders.
  • Collaboration: Work with oversight personnel to supervise test execution in sensitive environments.
  • Documentation: Document all steps taken during live tests, including screenshots and confirmations of test success.

Final Verification

Junior Staff and Interns: Require a formal sign-off from senior IT QA specialists or responsible personnel to confirm that the test environment is set up correctly and ready for testing.

Tips for Effective Test Environment Setup

  • Accuracy and Thoroughness: Ensure the test environment accurately reflects the production environment.
  • Documentation: Keep detailed records of the test environment setup, including any limitations or deviations from the production environment.
  • Communication: Maintain open lines of communication with all team members involved in the testing process.

Phase 4: Executing and Documenting Tests

Phase 4 in My Amazon Guy's manual testing process is all about the execution of test cases and documenting the findings. This stage is critical as it directly impacts the quality and reliability of the IT systems we develop and maintain.

Executing Test Cases

  • Adherence to Test Plans: Execute each test case as per the detailed test plan, ensuring that every step is followed as specified.
  • Behavior-Driven Testing: Focus on the behavior-driven aspects of the system, evaluating how the system behaves under various conditions.
  • Monitoring Progress: Keep track of each test case's progress, ensuring that all planned tests are executed within the set timelines.

Documentation of Findings

  • Detailed Records: Document the outcomes of each test case, noting whether the test passed or failed, and any deviations from expected results.
  • Use of Evidence: Include supporting evidence in the documentation, such as screenshots, links to run history, and video recordings, especially for complex scenarios.
  • Systematic Storage: Organize all documentation systematically for each test case, ensuring easy accessibility and traceability.

Emojis for Quick Reference

Utilize emojis to indicate the status of each test case:

  • ✅ for scenarios that meet success criteria.
  • ❌ for scenarios that do not meet success criteria.
  • ⚠️ for scenarios that meet success criteria but have issues that may need resolution.
  • ⁉️ for scenarios where the outcome is unclear and requires further clarification.

Quality Assurance Best Practices

  • Complete Coverage: Ensure that all aspects outlined in the test plan are tested.
  • Revisiting Uncovered Areas: Identify and test any areas that were not adequately covered in the initial rounds.
  • Feedback Loop: Maintain a feedback loop with the development team to improve the testing process based on findings.
  • Learning from Outcomes: Use insights from the test outcomes to refine future test cases and testing methodologies.

Tips for Effective Test Execution and Documentation

  • Attention to Detail: Pay close attention to the details in each test case, ensuring nothing is overlooked.
  • Accuracy in Reporting: Ensure that the documentation of findings is accurate and reflective of the actual test outcomes.
  • Efficient Use of Tools: Leverage tools and platforms effectively for documenting and sharing test results.
  • Open Communication: Keep the lines of communication open with the development and QA teams for efficient resolution of identified issues.

Phase 5: IT QA Reporting

The final phase in My Amazon Guy's manual testing process is reporting on the QA activities. This phase involves compiling and presenting the findings from the testing in a structured and informative manner. Effective reporting is key to understanding the system's readiness and areas that require improvement.

Structure of the QA Report

  • Summary of Testing (optional):
    • Overview: Provide a brief summary of what was tested, including the specific feature or system component.
    • Testing Focus: Highlight the main areas of focus for the testing, such as functionality, integration, user experience, etc.
  • Action Items:
    • Identified Issues: List the primary issues or defects identified during testing.
    • Recommendations: Offer clear recommendations or action items for each identified issue.
  • Errors Identified:
    • Detailed Error Reporting: For each failed test case, detail the specific error or issue encountered.
    • Categorization: Group errors based on their nature – functional, integration-related, user experience, etc.
  • Successful Results:
    • Highlighting Successes: Enumerate the test cases that were successfully passed, emphasizing functionalities that met the requirements.
    • Positive Outcomes: Include any unexpected positive outcomes or observations.

Finalizing the Report

  • Log Details: Include the number of defects, round identification, and other relevant details in the IT QA ticket.
  • Feedback and Queries:
    • Encourage Feedback: Prompt stakeholders to provide feedback on the report.
    • Resolve Queries: Offer avenues for stakeholders to ask questions or seek further clarifications.

Tips for Effective Reporting

  • Clarity and Conciseness: Ensure the report is clear, concise, and easy to understand.
  • Visual Aids: Utilize visual aids like charts, graphs, and emojis for easier interpretation of data.
  • Comprehensive Coverage: Cover all aspects of testing, including both successes and issues.
  • Actionable Insights: Provide clear and actionable insights for improvement.

Conclusion

It's evident that thorough and structured testing is more than just a step in development—it's a culture. Our approach, divided into five distinct phases, ensures that every aspect of our IT systems is scrutinized for quality, functionality, and reliability.

From the initial phase of understanding business requirements to the final steps of reporting and feedback, each phase plays a crucial role in shaping the end product. We emphasize the importance of detailed planning, systematic execution, meticulous documentation, and clear communication throughout the process. Our use of tools and platforms, coupled with a collaborative team effort, ensures that our testing is not only thorough but also efficient and adaptable to the evolving needs of our systems.

Key takeaways from our process include a structured approach, effective communication, and continuous improvement. By sharing our practices, we hope to provide valuable insights into the world of manual testing and quality assurance. Whether you're part of a small team or a large organization, incorporating these principles can lead to higher quality products and a more robust approach to software development and maintenance.

Remember, quality assurance is not just a task to be completed; it's a mindset that should permeate every aspect of IT development and operations. At My Amazon Guy, we've woven this mindset into our everyday practices, and it's this dedication to excellence that sets us apart.