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

Maintainability vs security


#1

I’m wondering if there is a way to get the best of both for this.
The problem we’re facing is this:
If we want to limit access for some users, we need separate projects so we can assign users access to projects.
However, that requires copying the test suites and cases to the new project which breaks the maintainability of the test case (if we update one, we have to update both projects).
Scalability for several projects doesn’t work well if we have a lot of cases that need to be kept up to date across projects.

Is there a way currently to resolve this?
Two options we could think of:

  1. allow projects to reference (instead of copy) test cases in another project.
  2. allow user rights to be specified at the test suite level.

Any other options we can consider to get what we’re looking for?


#2

Hello Tony,

Thanks for your posting. Sharing/Linking test cases between projects is planned/already on our todo list and it’s one of the things we would like to look into. It’s quite a complex feature under the hood so it needs to be designed carefully and this may take some time.

User permissions at the suite level are currently not planned because this would complicate the application too much and we recommend using the test case copy functionality in the meantime. It would be possible to automate the synchronization between multiple projects via the API. Have you already looked into using the API for this?

http://docs.gurock.com/testrail-api/start

Regards,
Tobias


#3

I had not thought of that. does get_cases return a timestamp of the last update to the case?
That would make it easier to sync.

Do you have a published roadmap or estimate when the sharing/linking feature might get implemented? It would help in determining if we should spend the time developing the automation, or be patient in waiting for the next release.


#4

Hello Tony,

get_cases does not return a timestamp of the last update currently but you can also extend the API or add custom methods as needed (that would query the database and then return the data with the same calling conventions and formats as the built-in API). Please note that this is only supported for read-only methods. I’m happy to explain how to do this if this would be of interest.

We currently don’t have a public roadmap. Sharing/linking test cases is an often requested feature actually so it’s high on our wish/todo list. But as I’ve mentioned this is a very complex feature as it impacts many parts of the application so we don’t have an expected release date for this feature currently. I would suggest using the API in the meantime.

Regards,
Tobias