Localization
XStudio is entirely localized. There are currently 4 languages supported:- English
- French
- Italian
- Spanish
- German
- Chinese

At the next login, the application will show up appropriately localized:

You can also override this setting during login by forcing a specific language:

Internationalization
A user is given a language (localization) which is used to display the application with a specific language but is also associated with a location (internationalization) which is used to know which public holidays and week-ends this user will benefit from.Each country can be easily configured: public holidays can be added, edited and deleted. In addition, each country is associated to some week-ends settings. Hence, most of the countries in the world are using Saturday and Sunday for the week-ends but some others (such as Israel, Qatar, Algeria etc.) are using Friday and Saturday and again some others (such as Saudi Arabia) Thursday and Friday.
The default settings are supposed to be correct but it's good to let the administrator of the system customizes it if necessary. These settings are accessible through the Settings menu entry.

Hence, all the calendars are affected by this change as each user may have different week-ends.
Absences are also included in the calendars so you have a complete picture of the projects or the staff workload, status are then easier to figure out.

Week-ends and holidays are easily identifiable as they are in black and grey
Note that the calendar tree is still expandable as usual. This greatly facilitates the reading i.e. when you want to know the details about why a user is overloaded in a certain time frame.
A legend (including some gradient colors for the workload) has been added to help the reading.
Change Tracking
XStudio allows tracking any changes on the database. This feature is particularly useful to track modifications that occurred on:- requirements
- specifications
- tests/testcases
- bugs

Note: You can edit directly the details of a user by clicking on his name in the changes table.
Testing Coverage/Traceability Matrix
One of the major interests in using test management tool is the ability to track the coverage of your testing. As you’ve already seen in previous chapters, SUTS are linked to requirements, requirements are linked to specifications and specifications are linked to tests. From this data, it is possible to generate some coverage metrics.Those metrics are computed per category and are retrievable from SUTS, requirements, specifications and tests but more importantly from SUTs.
Global SUT traceability matrix
To get global SUTs traceability matrix:- switch to the SUTs tab on the left panel
- in the tree, select the root folder
- on the right panel, select the Traceability Matrix tab
- the SUT tree appears including in the right column all the requirements covering each SUT.
This traceability matrix is also present in the SUT book (that can be generated from XStudio).
Global requirements traceability matrix
To get global requirements traceability matrix:- switch to the Requirements tab on the left panel
- in the tree, select the root folder
- on the right panel, select the Traceability Matrix tab
- the requirement tree appears including in the right column, all the specifications covering each requirement.

This traceability matrix is also present in the requirement book (that can be generated from XStudio).
Global specifications traceability matrix
To get global specifications traceability matrix:- switch to the Specifications tab on the left panel
- in the tree, select the root folder
- on the right panel, select the Traceability Matrix tab
- the specification tree appears including in the right column, all the tests covering each specifications.

This traceability matrix is also present in the specification book (that can be generated from XStudio).
Detailed SUTs coverage
To get SUTs coverage metrics:- switch to the SUTs tab on the left panel
- in the tree, select a folder
- on the right panel, select the Coverage tab
- two tabs By specifications and By tests are displayed. Each shows useful information such as:
- percentage of the coverage
- the list of requirements covered (at least partly) and not covered by respectively some specifications or tests
Detailed requirements coverage
To get requirements coverage metrics:- switch to the Requirements tab on the left panel
- in the tree, select a folder
- on the right panel, select the Coverage tab
- two tabs By specifications and By tests are displayed. Each shows useful information such as:
- percentage of the coverage
- the list of requirements covered (at least partly) and not covered by respectively some specifications or tests


Detailed specifications coverage
To get specifications coverage metrics:- switch to the Specifications tab on the left panel
- in the tree, select a folder
- on the right panel, select the Coverage tab
- the panel shows useful information such as:
- percentage of the coverage
- the list of specifications covered (at least partly) and not covered by some specifications

Detailed tests coverage
To get tests coverage metrics:- switch to the Tests tab on the left panel
- in the tree, select a category or a folder
- on the right panel, select the Coverage tab
- the panel shows useful information such as:
- percentage of the coverage
- the list of tests covering (at least one) and not covering some specifications

Detailed campaign coverage
Since a test campaign is by definition a group of test, it is possible to get some coverage metrics as well.To get campaigns coverage metrics:
- switch to the Campaigns tab on the left panel
- in the tree, select a campaign
- on the right panel, select the Coverage tab
- the panel shows useful information such as:
- percentage of the coverage
- the list of specifications fully, partially or not covered by the campaign
- the list of requirements fully, partially or not covered by the campaign

Scheduling test execution
When some tests are aimed at being executed completely automatically (using some specific automatic launcher), you can schedule a campaign to be executed on a regular basis. To do this, you need to create a Schedule. Then, at the right time, a campaign session will be automatically generated and started by XSTudio.To create a schedule:
- in the tree, select a campaign
- on the right panel, click on the create schedule button
- a dialog box including seven tabs is displayed
- fill the Details tab with the name and the description of the schedule
- in the Scheduling tab, select the days and the time when you want the sessions to be created and executed. Don’t forget to check the Enabled checkbox. A disabled schedule will not generate any test execution
- (opt.) select the Test operator tab and pick the user who will (virtually) run the sessions
- select the Agent tab and pick the agent on which the sessions will be run. This agent needs to have XAgent installed and running
- select the SUT tab and pick the SUT on which the sessions will be run
- select the Configuration tab and pick the configuration you which for each category involved in this schedule. Once a schedule is created, it is impossible (by purpose) to change the configurations associated. If no configuration are available you will need to create one
- (opt.) select the CC Emails tab and check some users to receive a notification when the campaign sessions will be completed
- click on submit
- immediately, the schedule appears in the tree








When the time will come for an agent to execute the tests, the agent will create the campaign session and then execute it. >From any station hosting XSTudio, after a refresh, the campaign session will appear under the schedule node in the tree.
Tracking the Test Implementation
As already seen, when adding a test in the system, you can specify if the test is implemented or not. This parameter is tracked so that some reports can be generated. This helps in knowing exactly what the status about the automation development.To control the progress of the test implementations:
- switch to the Tests tab on the left panel
- in the tree, select a category
- on the right panel, select the Statistics tab

The panel is split in two different areas:
- a table displaying:
- for each date, the number of tests and testcases implemented
- for each date, the percentage of tests and testcases implemented
- a serie of graph displaying:
- the evolution of the number of tests and testcases implemented
- the evolution of the percentage of tests and testcases implemented
Bugs Reporting
A bug tracking system is good only if it provides a simple and efficient way of retrieving information about them. XStudio generates extensive reporting on bugs.To get those reports,
- switch to the Bugs tab on the left panel
- in the tree, select a category
- on the right panel, select the Statistics tab
- choose a range of dates using the date pickers
- on the active bugs (New, Assigned, Ack)
- per user (Assigned to or Reported by)
- Status, Severity or Priority trends
- major bugs trends (Blocking, Major)
- minor bugs trends (Minor, Cosmetic, Enhancement)
- high priority bugs trends (High)
- low priority trends (Normal, Low)
- on the passive bugs (Resolved, Closed)
- idem
- on all the bugs
- idem
- submission/resolution rates trends
Per-user reports
To get per-user reports,- select the tab corresponding to the desired group of bugs:
- Active Bugs (New, Assigned and Ack)
- Passive Bugs (Resolved and Closed)
- All Bugs
- select if you want some data about bugs Assigned to or of Reported by a specific user
- select a name in the user list
- select which kind of information you’re interested in:
- Status
- Severity
- Priority
- The report will display the corresponding trends and an additional pie chart representing the current status

Per-severity reports
To get per-severity reports,- select the tab corresponding to the desired group of bugs:
- Active Bugs (New, Assigned and Ack)
- Passive Bugs (Resolved and Closed)
- All Bugs
- select if you want some data about
- Major bugs (Blocking, Major)
- Minor bugs (Minor, Cosmetic, Enhancement)
- The report will display the corresponding trends and an additional pie chart representing the current status

Per-priority reports
To get per-priority reports,- select the tab corresponding to the desired group of bugs:
- Active Bugs (New, Assigned and Ack)
- Passive Bugs (Resolved and Closed)
- All Bugs
- select if you want some data about
- High Priority bugs (High)
- Low Priority bugs (Normal and Low)
- The report will display the corresponding trends and an additional pie chart representing the current status

Submission/Resolution rates
To get submission/Resolution rates reports,- select the Resolution Rates tab

The top part of the panel shows the progression of the number of Active and Passive bugs as well as the metrics as of now and as of the last record.
The bottom part of the panel shows the submission and resolution rates. These metrics are really essential as they are allowing to determine for instance when the number of bugs submitted per day becomes lower than the number of bugs resolved per day.
Attachments
You have the ability to attach some files (whatever the format is) to some entities managed by XStudio. This is an extremely powerful way of centralizing/sharing documents. Attachments can be created to the following entities:Requirements tree:
- category
- folder
- category
- folder
- category
- folder
- test
- testcase
- campaign session
- testcase execution (only uploadable programmatically by the launcher/test)
- bug
In addition to this, a dedicated document tree is available so that you can share all your documents in a centralized repository.
The GUI is extremely simple:

Whenever it’s possible, two panels are displayed: one for attachments directly attached to the entity and another one for the attachments inherited from the ancestor nodes. This is allowing to avoid duplication and share some document among several objects. It is possible to move directly to one of these parents by clicking on the anchors.
Add an attachment
To add an attachment:- click on the Create attachment button
- a dialog box is displayed
- pick a file and submit
Download/Open an attachment
To download/open an attachment:- select an item in the list
- click on the Download attachment
or Open attachment button
Open and lock an attachment
When a user needs to modify a document, nobody on the network should be able to modify it at the same time. This is the role of the locking system. When the user locks a document, the file is still accessible and readable by the other users but it cannot be commited to the repository. Hence, the locking mechanism prevents any editing conflicts.To lock and modify an attachment:
- select an item in the list
- click on the Open and lock attachment
- the file open using the default program associated to the file extension
- the file can be edited and saved (it's saved only on the local disk in a temporary folder at this point)
Commit and unlock an attachment
When you're done with your modification on a document. You just need to save it and commit it to the repository. In addition, you'll need to unlock it so that someone else can eventually edit it.To commit and unlock an attachment:
- select an item in the list
- click on the Commit and unlock attachment
- the file being edited (and which has been saved locally) is commited to the XStudio database
Generate documentation
Requirements books
It may be interesting to export or to print a list of requirements. With XSTudio you can export partial or complete requirement books.To do so:
- switch to the Requirements tab on the left panel
- in the tree, select a category or a folder
- click on the Create report button
- first select the destination folder for the book
- a dialog box is displayed
- select the extension of the book (HTML or XML). If you choose to generate the book in HTML you can select one type of book. Each type corresponds to one specific XSLT transform (one .xslt file) so that you can add your own if you wish (see later in this document to know how to do that). By default, two XSLT are provided along with XStudio (RawResult - the more detailed - and TraceabilityMatrix):
- provide the filename for the book
- submit
- after it has been generated, the book is automatically opened:




Specifications books
To generate specification books, follow the same instructions than those for generating requirement books (but from the Specifications tab on the left panel).
Projects books
To generate projects books, follow the same instructions than those for generating requirement books (but from the Projects tab on the left panel).
Testplans
To generate testplans, follow the same instructions than those for generating requirement books (but from the Tests tab on the left panel).

Test reports
To generate test reports, follow the same instructions than those for generating requirement books (but from the Campaigns tab on the left panel).

Customizing the documents
All the documents that you can generate from XStudio are customizable. To do this, you just need to check the XSLT files available in theexport/xsl
folder and modify one of them or add your own.
If the files are using the proper naming convention, they will appear in the combobox in the GUI when you select the type of report you want to generate
Changing the logo
All the documents generated from XStudio include a logo on the upper top side of it. This logo can be changed very simply:- copy your logo picture file (i.e. gif, jpg, png etc.) in the
<install path>/export/reources/images
folder (i.e. my_company.gif) - from XStudio menu, select Settings > General
- in the company logo text field, enter the name of the picture file (i.e. my_company.gif) and submit
- After restarting XStudio, all the documents that you will generate will have your own logo in the header:
Customizing the reports
All documents that are generated by XSTudio are first internally generated in XML then possibly transformed into a different format using specific XSLT transforms:
For instance, let’s imagine you want to generate a custom requirement book. You can create your own XSLT file. For example, you can take the file requirementHTML_RawResult.xslt as a basis and modify it as much as you want, rename it requirementHTML_My_Own_Report1.xslt and ensure it is located along with the other .xslt files (in the export/xsl folder – either locally if using only a standalone install or on the Apache/Tomcat server to share this report with everybody connecting to this server).
From now, when you will try to generate a requirements book, the type My_Own_report1 will be available in the combo box:

The internal process is then the following:
- several SQL request are made to the database to get all the necessary information
- a structured XML document including all the required data is generated
- if the user chose XML, the XML is saved on the disk with the name the user provided
- if the user chose HTML, the XML document is transformed using the XSLT corresponding to the selected type before being saved.
- <type> can be:
- "requirement"
- "specification"
- "task"
- "testplan"
- "report"
- "bug".
- <name> can be any name including alphanumeric characters plus underscore and dash signs.
Searching
By name
All the trees in XStudio include an indexing system allowing to search real-time an entity in the tree by his name. To experiment it by yourself just start entering some text in the Search field

To automatically select a searched item in the tree, you can move using the arrows keys within the suggestion list and validate by pressing Enter or just click on the item in the list.
By Id
The data model gives unique identifier for each entity managed by XStudio. The Ids are on the form:Template | Represents |
R_<id> | Requirement |
S_<id> | Specification |
T_<id> | Test |
TC_<id> | Testcase |
C_<id> | Campaign session |
D_<id> | Bug |
TA_<id> | Tasks |
Ids are also available from XStudio’s GUI (in Details tab you have an Identifier field that corresponds to <id> in the templates.
To search for an entity from its Id, just type the Id in the Search Id field

Advanced and plain text search
Searching items such as requirements, specifications, tasks, tests or bug based on a combination of some very specific criteria can be not only very useful but extremely important to control/guarantee the quality of the products.Requirements
Procedure:- in the requirement tree, select the root node
- click on the Search requirements button
- check all the checkboxes (Status and Priority) that match your search criteria
- (opt.) type some text in the Text to search field and press Enter

Note: The results list is updated real-time and you can reach one particular bug by just clicking on it. The results table can be ordered by clicking on the column headers.
Specifications
Procedure:- in the specification tree, select the root node
- click on the Search specifications button
- check all the checkboxes (Status and Priority) that match your search criteria
- (opt.) type some text in the Text to search field and press Enter

Tasks
Procedure:- in the project tree, select the root node
- click on the Search tasks button
- type some text in the Text to search field and press Enter

Tests and test cases
Procedure:- in the test tree, select the root node
- click on the Search tests and test cases button
- type some text in the Text to search field and press Enter

Bugs
Searching bugs based on a combination of some very specific criteria is extremely important to control the quality of the product.To do so:
- in the bug tree, select the root node
- click on the Search bugs button
- check all the checkboxes (Reported by, Assigned to, Found in, Fixed in, Status, Severity and Priority) that match your search criteria
- (opt.) type some text in the Text to search field and press Enter

Importing data
From CSV
If you are migrating from manual test management - using a basic spreadsheet application to XStudio - you may want to import all your tests and testcases from CSV text files (indeed, all spreadsheet programs provide easy way to export to CSV). The source CSV file must use semi-column (‘;’) delimiter.Test and testcases
To import tests and testcases from a CSV file:- from the menu, select File > Import from CSV
- a dialog box is displayed
- pick the Tests and Testcases (without testplan) option
- click on the Open button and select the file you wish to import
- the raw data area displays the content of the file
- click on Submit

After the import task has completed, the tests and testcases appear immediately in the test tree.

If you wish to import tests and testcases including the testplan, the syntax of the CSV file will of course be more complex (a testcase is then defined on several lines and the tabular character is used as well as the semi-column delimiter).
To do so:
- from the menu, select File > Import from CSV
- a dialog box is displayed
- pick the Tests and Testcases (with testplan) option
- click on the Open button and select the file you wish to import
- the raw data area displays the content of the file
- click on Submit

From XML
The XML format used is the same as the one used to export tests/testcase in XML.Requirements
To import tests and testcases from XML:- from the menu, select File > Import from XML
- a dialog box is displayed
- pick the Requirements option
- click on the Open button and select the file you wish to import
- the raw data area displays the content of the file
- click on Submit
Specifications
To import tests and testcases from XML:- from the menu, select File > Import from XML
- a dialog box is displayed
- pick the Specifications option
- click on the Open button and select the file you wish to import
- the raw data area displays the content of the file
- click on Submit
Tests and testcases
To import tests and testcases from XML:- from the menu, select File > Import from XML
- a dialog box is displayed
- pick the Tests option
- click on the Open button and select the file you wish to import
- the raw data area displays the content of the file
- click on Submit
