Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Overview

This wiki serves as a centralized representation for documenting all test automation efforts, coverage areas, and progress updates. Its primary objective is to track the status of automated tests, provide visibility into test coverage across different components of the application, and ensure quality and reliability throughout the development lifecycle.

Test Automation Framework

Current Focus: Critical Path for MVP

Our test automation repository (openedx-app-test) is designed to efficiently automate the critical paths of our application.
Previously, both Android and iOS apps had around 90% native screen coverage. However, as we are transitioning to new applications and preparing to launch a Minimum Viable Product (MVP), we cannot write automated test cases for the entire app due to its development phase. Therefore, we decided to focus on automating the critical path of the app in the MVP. This path is essential for user navigation from the Landing screen to the course content screen.

Tools and Technologies:

  • Appium: Tool For mobile testing (Android and iOS)

  • Pytest: Page object Model Framework

  • Python: Language

Critical Path Screens:

  1. Landing

  2. Login

  3. Forgot Password

  4. Register

  5. What's New

  6. Main Dashboard

  7. Course Dashboard

  8. My Courses List

  9. Profile

  10. Logout

Testing Approach & Coverage:

For each screen, we ensure:

  • Navigation Testing: Ensures that users can navigate to the targeted page.

  • UI Testing: Validates the presence and correctness of all UI elements, including their values and strings.

  • Functional Testing: Ensures each element on the screen operates correctly (e.g., button clickability and functionality).

Test Execution Results

We generate detailed HTML reports after each test run, which include:

  • Pass/Fail Status: Detailed logs and statuses of each test case.

  • Test Run Duration: Total time taken for each test suite execution.

  • Defects Identified: List of bugs or issues found during testing.

Next Steps

Creating CI Pipeline

Our next major step involves setting up a Continuous Integration (CI) pipeline. This will allow us to run our test cases on every development commit, ensuring that any code changes are immediately validated. Key actions include:

  1. Integrating our test suite with GitHub Actions.

  2. Configuring the pipeline to trigger test execution on every commit.

  3. Automating the generation and distribution of test reports to the development team.

By implementing this CI pipeline, we aim to enhance our testing efficiency, catch defects early, and maintain a high level of quality throughout the development process.

  • No labels