Search code examples
javaautomated-testsclearcase

ClearCase Structure for Test Automation


I am new to ClearCase, and I just want to know the best practice to set up ClearCase for test automation.

I have a Java project called TestAutomationCommon. This is a library that will be shared by all automation projects.

Then there is application specific projects. Each application will have two projects. The application library and the application tests and test suites.

For example:

  • Application 1hasTestAutomationCommon,Application1LibandApplication1Tests`.
  • Application 2 has TestAutomationCommon, Application2Lib and Application2Tests.

In ClearCase should I create a project for TestAutomationCommon and then one for each application? The main one I am concerned with, is TestAutomationCommon because multiple projects will share this.

So, for the above example, there would be 3 ClearCase projects, with 3 integration streams. (TestAutomationCommon, Application1, Application2).

Our team is relatively small, (6 people), so should we still have development streams on each Integration stream?


Solution

  • In ClearCase, should I create a project for TestAutomationCommon and then one for each application?
    The main one I am concerned with, is TestAutomationCommon because multiple projects will share this.

    No, you create one per Application, with an integration stream including everything that App needs to work with.

    If you do a modification in the TestAutomationCommon in one app, you can actually deliver it to the other integration stream of the other app, if that modification needs to be visible in the other app environment as well.

    If the development effort is separate enough, all team member can work on UCM views referencing the same integration stream (without having to create development streams and views for each developers).