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

Restructuring Projects Advice


#1

Hi there,

I’m looking at restructuring our TestRail projects to encompass a new product and see if I can reduce duplication.

I’m not sure how to best do this so I thought I’d put it forward to the community/TestRail for ideas.

Current Project Structure:

  • Product1

  • Product2

  • Other Project

  • Product1 is the original. It is an active product (bug fixes, releases to existing customers) but will become a legacy product (eventually!). Technology is slowly being migrated.

  • Product2 is the same product as 1, but unreleased and being developed in new technology. Functional goals are the same but achieved in new better ways. E.g. Validate doing x is the same for Products 1 and 2, but some test steps may be different depending on implementation improvements.

  • Other Project currently contains a Licensing Server suite, which touches ALL products. And a new suite for a new product that relates to Products 1 and 2. Mainly because I needed to put it somewhere and I wasn’t convinced where.

My problem: I feel like I need to be able to share Test Suites and results between Projects to avoid duplication and make maintenance easier. I’m not sure that TestRail Projects are designed for “Product Suites” - products that interrelate under an overarching brand. Rather, projects only seem useful for independent Products. Either that, or be able to have “grouped” test suites… Or a tagging option that allows me to go “show me only test suites that relate to x product”… My developers (when they do testing) also complain not knowing where to put things or where to find suits/cases and having to navigate between projects. I want to make it easier for them too.

Product1 and Product2 share: Product licensing cases, some config apps, some integrated functionality, and the same installer.
The Licensing Server (in Other atm): Touches everything.
The new Product (in Other atm): Is part of the same Product suite as Products 1 and 2. Is essentially an Add-On product. Uses data from Products 1 and 2, but can then be tested separately.

When I originally organised the products, we didn’t have a “product suite” just the core Product 1, which was going to be replaced with Product 2. That is no longer the case.

I feel like my best solution at the moment is to dump everything into one project and prefix test suites with the product. However this then means I have loads of test suites and the naming gets very long.

Anyone with any advice? (Can clarify if I haven’t explained sufficiently).


#2

Hello BEustace,

Thanks for the detailed request and background information, this makes it much easier to provide advice. In general we recommend keeping the number of test suites small, so that it’s easier to start test runs, filter cases, manage your tests etc. With TestRail 4.x we even started to add a one-suite mode to projects by default so that the test suite entity is hidden completely.

I agree that having a single project in TestRail for similar products that share a large number of test cases can make sense. In your situation you could reduce the number of suites to e.g. one suite per product or major app module that you would use for both products. You can then start test plans to actually run your tests and include the suites/cases relevant for this test plan.

We have many customers using a large project to manage products/solutions that share many of their cases and this approach can work very well. It’s just important to understand the consequences of moving test cases between projects etc. (i.e. losing result in any active test runs) before doing so. It can make sense to experiment in a staging environment first.

I hope this helps!

Regards,
Dennis