Skip to main content

Crowdrobot — e-commerce utility on Telegram

620 words·3 mins
NICK
Author
NICK

Role: Manual QA, Automation QA
Domain: E-commerce

                            - Stack -

Python3, PyUnit, Flask-restfull, MongoDB

                       - Project Overview -

This project involved developing a rule-based chatbot service for an e-commerce shop on Telegram. The chatbot allows users to navigate and interact with the shop through an intuitive experience, either utilizing pre-designed templates or creating custom inline buttons. These buttons streamline user interaction, making it easy to browse products, add items to a cart, and complete purchases, all within the Telegram interface.

The chatbot’s rules and logic are constructed to handle various user queries and automate responses. It supports a wide range of e-commerce functionalities, from displaying product categories and managing inventory to handling customer inquiries and order confirmations. For merchants, the system offers a simple setup process, reducing the complexity of managing an online store and integrating sales directly into the chat app.

Overall, the chatbot bridges the gap between convenience and functionality, providing a seamless shopping experience for customers while simplifying operations for merchants.

                      - Responsibilities -

List of my responsibilities in a clear, task-oriented format:

  1. Overall Planning and Requirements Analysis:
  • Analyze project requirements and understand objectives.
  • Develop a plan for the testing process.
  • Establish entry and exit criteria for testing phases.
  1. Test Strategy Development:
  • Design a testing strategy aligned with the system architecture.
  • Determine the types and scope of tests needed (e.g., functional, integration).
  1. Test Case Development and Execution:
  • Write test cases based on requirements and user scenarios.
  • Execute test cases and track results.
  1. Bug Reporting and Documentation:
  • Identify, document, and report bugs.
  • Prepare documentation for the project, including test plans and strategies.
  • Maintain records of test cases, test execution results, and reports.
  1. Development of Automated Tests:
  • Develop and maintain automated test scripts to streamline testing processes.
  • Assist in developing of testing framework for automated chatbot testing.

                  - Challenges & Solutions -

Creating a chatbot testing framework that is both robust and easy to maintain posed a significant challenge. The framework needed to accommodate custom objects and methods tailored to Telegram clients.
The team leveraged the Page Object Model pattern to separate the testing logic from the actual object representations of the Telegram interface.

The development team faced difficulties hosting the chatbots that merchants created. These custom chatbots required reliable hosting solutions that could scale as the user base grew.The team opted for a cloud-based solution.

                  - Reflections & Takeaways -
  1. Balancing Simplicity with Functionality:
  • Reflection: Designing a chatbot utility that is both easy for merchants to use and flexible enough to handle customizations taught the importance of keeping the user experience straightforward without sacrificing essential features. A minimal yet effective design provided value while still enabling expansion as needed.

  • Takeaway: One major takeaway from developing the chatbot e-commerce utility was the importance of balancing simplicity with comprehensive functionality.

  1. Importance of Scalability:
  • Reflection: The challenge of hosting custom chatbots created by merchants demonstrated the necessity of planning for scale from the beginning.

  • Takeaway: The project showed that preparing for future growth is crucial, even when resources are limited or features are in early stages.

  1. Value of a Testing Framework:
  • Takeaway: Using POM pattern for testing brought clear benefits, such as easy maintenance and organized code. This takeaway demonstrated that investing in a well-thought-out testing framework upfront pays off, especially when dealing with complicated or evolving platforms.
  1. Agility in a Start-up Environment:
  • Reflection: Working in a fast-paced startup setting reinforced the significance of being agile and adaptable. The constant need for iteration and adjustment based on user feedback emphasized how quickly priorities can shift and how valuable flexibility is in product development.

  • Takeaway: The project experience underscored the importance of cross-functional collaboration. Close communication between developers, QA engineers, Analytics increasing the project’s chances of success despite the startup’s inherent unpredictability.