Description

    Comes from this OKR: https://liferay.latticehq.com/2/goals/f55925a9-e1f8-4459-8d48-974a7827bd91

    We want our tests both to be more resilient and more efficient, so we need to refactor how our tests are designed so they major on testing the right things.

    Go through each test and make changes based on the following criteria:

    Identify and flag basic UI tests for each component

    • Make sure that at least one Poshi test is still testing basic UI flows. Mark these so we don't convert them as we refactor the rest of our tests
    • Use @uitest as an annotation for this

    Update test setup to use JSON

    • They may all already be doing this, but we should double-check and make any changes if necessary

    Evaluate where we can remove UI steps for CRUD actions

    • View, Delete and Update tests don't need assets to first be added through the UI. Try to simplify the steps here as much as possible

    Set up staging quickly through the backend

    • Ideally, a test would start up and the staged environment is already set up. Currently, many staging tests use JSON to add a group, add a page, then enable staging through the UI. This could be simplified even further. Some ideas:
    • Deploy a test module that has a staged site
    • Extend the current JSONWS API's
    • Find a way to enable staging without having to click through the UI

    Note: Add enableRemoteStaging to remote service to simplify testing

    Replace pauses with something faster

    • We should be reducing test runtime whenever possible. Hard pauses are not ideal to have. This may be done in LRQA-66445 but we should double-check and make any changes if necessary

    Skip logins

    Group test steps into tasks/create logical descriptions for them

    • This is for readability purposes. Think about how quickly someone can understand what your test is doing

    Check the macros we are using in tests

    • Are there any redundancies? Does everything need to go through the UI or can we replace some parts of macros with API calls?

    Check Test names

    • Test names should describe the specific capability of the product in the test and not what the test is performing
      • Actual: Blogs#assertViewBlogsAsNonSiteMember
      • Expected: Blogs#ShouldNotBeViewableWithoutPermissions

      Attachments

        Activity

          People

          Assignee:
          david.gutierrez David Gutiérrez Mesa
          Reporter:
          david.gutierrez David Gutiérrez Mesa
          Recent user:
          Rubén Heras
          Participants of an Issue:
          Votes:
          0 Vote for this issue
          Watchers:
          0 Start watching this issue

            Dates

            Created:
            Updated:

              Packages

              Version Package