Join 34,000+ subscribers and receive articles from our blog about software quality, testing, QA and security.
 

How to efficiently organize Test Cases in ERP projects?


#1

Hello,

I’m Hieu from Bloopark. Currently I’m using TestRail to manage Test Cases for Odoo ERP projects. Here are some ideas I’ve discussed with my colleagues, but still it would be great if we have more better ideas from the community

My goals are:

  • How to reuse Test Cases efficiently.
  • How to organize Test Suites efficiently.
  • What are the best practices to manage Test Cases in ERP projects, in this case, with Testrail

You know in ERP, normally we have a workflow go through different modules, for instance:
create Customer (CRM module) —> create Sales Order (Sales module) —> generate Invoices (Account module) —> generate Delivery Orders (Warehouse module) …

Idea 1: one Test Suite for a whole Project, one Test Case for each step of a full workflow

But I think the limitation in Testrail is:

  • (1) Test Case sequence in a Test Run / Test Plan. There is a feature request, but Testrail has not implemented yet … Feature Request: Allow user ordering of tests in Test Run
  • (2) Cannot create an Instance of a Test Case in Test Run. When we edit Test Cases in Test Runs, they will be also updated in the original Test Case …
    So if I write 1 Test Case for each step of the workflow, in Test Run, I cannot decide which Test Case should run first because of (1). And sometimes I want to add some specific steps in my Test Cases for only some Test Run, I cannot, because of (2). But I see PractiTest https://www.practitest.com/ supported this.

Idea 2: one Test Suite for each workflow, one Test Case for each step of a full workflow
The limitation is the same as in Idea 1, plus I have to duplicate the Test Case for different Test Suites. For instance,

  • Test Suite 1: Manager create and confirm Sales Order. There are specific steps that need to be done by user Manager.
  • Test Suite 2: Employee create and confirm Sales Order. There are specific steps that need to be done by user Employee.
    In general, the step ‘Login’ is the same for both. But I have to duplicate it here …

Idea 3: one Test Case for each workflow
This is the most suitable one I can do now. Write 1 Test Case for each full workflow. And maybe one Test Suite for each Application. Again, we have the problem of Test Cases duplication although there are just small differences between Workflows as below. And a Test Case go through different Apps, I don’t know which Suite should I put the Test Case in haha


#2

I can only add 1 image because im a new user. So I post them here
Idea 1:


#3

I can only add 1 image because im a new user. So I post them here
Idea 3:


#4

I can only add 1 image because im a new user. So I post them here
Idea 3:


#5

Hi Hieu,

Thanks for your posting. Happy to help with your questions:

Order: do you need a different workflow/order of tests per test run?

Versioning: by default, TestRail will only have a single repository but it’s possible to use a more explicit way of managing multiple versions at the same time. This feature is called baselining and allows you to track different “branches”:

This may also be a good approach or solution to implement a different sort order per test run. For example, every time you would like to start a new test run or plan, you create a fresh baseline copy and can change the order of the cases according to your workflow requirements. You would then start a new test plan/run for this baseline and a) have a custom order and b) changes to the master case repository wouldn’t propagate to the test plan/run. You would still manage your cases only in one location (the master repository) and create baselines just for new test runs based on the current repository snapshot. Would this be an option?

Cheers,
Tobias


#6

Hi Tobias, thanks for your suggestions! I will double check that.


#7

You are welcome, Hieu, happy to help :slight_smile:

Cheers,
Tobias