The Ranorex test suite enables you to easily manage your test cases, as well as build robust data-driven tests. Your test automation modules can be shared, adopted, and used within your team. Learn why Ranorex module projects are the best way to group your test modules and reuse them in different test suite projects within your teams.
- Different Views
- Separation of Modules
- Multiple Projects, One Solution
- Execution on Runtime Machines
- Working on the same solution with different users
In order to perform professional testing of an extensive software product, it can be beneficial to separate the views of the testing process.
On the one hand there might be a team consisting of e.g. a Test Automation Engineer and some testers. This team is responsible for covering all conceivable work flows and dividing these workflows into small, reusable modules.
On the other hand there might be a tester. The tester, for his part, is responsible for testing specific work flows processed by the software under test. As the team already has provided all necessary modules, the tester only has to put the desired modules together, to fulfill the required work flow.
Separation of Modules
As mentioned before, it is useful to separate specific work flows in small self-contained modules in order for them to be reused in different scenarios.
These modules can either be recordings or user code modules which will be prepared by a team to allow the tester a rapid generation of different workflows.
To allow a more general approach the team can add variables to the particular modules. The tester only has to provide values by parameters or a data source and to bind the specific columns of this data source to the specific variables.
For more details about data driven testing and parameter usage please have a look at following chapter in our user guide: Data-Driven Test Automation
Multiple Projects, One Solution
DLL Type Projects
To allow collaboration of a team and the tester, the team has to provide the generated modules to the tester.
This can be established by providing Ranorex Test Suite libraries holding specific test modules.
These libraries can be referenced in the Test Suite project of the tester and all modules held by these libraries will be available for the tester to add to his specific test cases.
These libraries include all recording and user code modules generated by the team as well as the repository holding the elements the modules are accessing.
Let’s have a look at Ranorex Studio and how such a test project with several Test Suite libraries would look like.
First of all the Test Suite libraries have to be referenced to make them reusable for the tester.
This can be done by opening the .Net Assembly Browser“ tab at the Add Reference” dialog (Project->Add Reference) and simply adding the generated DLL files. After this step the DLLs should be viewable in the reference list in the project view pad.
The referenced Test Suite libraries are also viewable in the Ranorex Module pad with all their modules and variables.
The tester can now simply drag and drop the individual modules from the module browser to his Test Suite to construct the specific test cases.
EXE Type Projects
To handle different test scenarios you can add several Test Suite configurations for your Test Suite.
By modifying the Test Suite configurations, different test cases or folders in your Test Suite can be selected to be executed.
Have a look at following chapter of our user guide to learn more about Test Suite configurations: Running a Test Suite
If modifying the Test Suite configurations does not fulfill the requirements, it’s also possible to add several Test Suite projects to one solution.
Each of these Test Suite projects in a solution will then generate an executable.
Additional to the automatically generated ones you can add other project relevant files to your projects, like your application under test or files holding the test data provided by your data connectors.
To ensure that these files will be available within the test project by distributing it on other machines – as described in the next chapter – you have to open the properties tab of the added file and set the “Copy to output directory” option to “Always”.
Execution on Runtime Machines
The generated test projects can be distributed to every machine, which has at least the Ranorex Runtime License installed.
To execute a test project on a runtime machine, you have to copy the executable (*.exe), the Test Suite file (*.rxtst) and the used libraries (*.dll) to a folder on the machine.
These files are by default already in the output folder of your project.
There are two different methods of executing a test project on a runtime machine:
- Executing the test project via command line as described in following chapter in our user guide: Running Test via Command Line
- Executing the test project via the Ranorex Test Suite Runner as described in following chapter in our user guide: Ranorex Test Suite Runner
Working on the same solution with different users
As illustrated in this article, using libraries it is possible to share a whole Ranorex Solution between the team and several testers. The team provides libraries in form of DLLs which are referenced by the tester in the Test Suite project.
That means everybody (testers and team) is working on the same Ranorex Solution.
To make this scenario work comfortable, it’s recommended to use a source versioning system like SVN (which integrates in Ranorex Studio), having the advantages of
- making the history of all changes made on your project visible
- providing backup functionality
- preventing security issues on network shares (source code checked out locally)
to name some of them.
You can find some hints regarding Ranorex and SVN settings at this blog post.
By following the mentioned approaches it will be easy for you to organize a professional testing environment for your extensive software project.