Development project
Development project is a special environment for in-depth database testing, code improvements, and emulating close-to-production database scenarios in a separate project. The derived database improvements can be later applied to production databases for increasing the performance level.
Currently, Development project supports the following databases as the operating platforms:
- Oracle
- PostgreSQL
- Microsoft SQL Server
- Azure SQL Database
The major difference with a regular Migration project is the lack of a target database plus the addition of features for comprehensive database testing.
The additional functionality includes:
- Expected errors.
Manual setup of expected results
Available in the Test organizer module, the Expected Result tab is the last step of the test creation. The feature shows how database objects’ are supposed to perform. It compares these results with the Test suite results to identify how the database will perform in the production environment.
To generate expected results, do the following steps:
- Go through the regular test creation process.
- At the Expected Result tab, press the Generate button. It will automatically generate tests for the affected data objects.
Figure 1. Expected result creation
- Then press Save, and see the test appearing in the Test suite section with the Expected Result tab available for inspection.
Figure 2. A new test in Test suite
Note: if the Generate button hasn’t been pressed before pressing Save, the test will appear with a small yellow mark in the Test suite section. Hovering the mouse over the test will display the “Missing expected result” message.
Figure 3. Missing expected result
- Now run the test and see the Results tab showing comparison result for affected objects and the exact number of matching database objects from a dataset.
Figure 4. Test results
- To see more details about dataset objects test results, users need to proceed to Advanced compare options > check Override parent options > check Equal rows and press Save.
Figure 5. Equal rows setup
- Run the test once again. Now the Result tab contains detailed information about each matching row from a dataset.
Figure 6. Equal rows in the Results tab
Automatic expected results
Users can automatically generate expected errors for groups and categories of database objects in a tree view.
To do that, complete the following steps:
- Navigate to a tree view and select a category of database objects, including tables, views, procedures, functions, and materialized views.
- Right-click on the selected category and click on Auto generate tests.
Figure 7. Test auto-generation
- The selected category will appear in the Test suite section with a yellow mark, indicating that every object in the selected category doesn’t have expected results and displaying the “Missing expected result” message.
Figure 8. Missing expected result for subcategories
- Right-click on the selected object category and choose the Generate expected result option.
Figure 9. Generating expected results for a category
- Once generated, expected results will be applied to every available database object in a category and users can run the test by using the Run option. After finishing the test, users will see test results in the right section of the screen.
Figure 10. Running a test with expected results
- To see rows that match between expected results and the actual test results, users need to expand the Test suite tree view and select an object to inspect. The Results tab will the matching rows after users proceed to Advanced compare options > check Override parent options > check Equal rows, press Save, and run the test once again (as shown in Figure 4).
Figure 11. Inspecting results for a selected object
- Both the tests and expected results function based on pre-selected settings. To modify them, users should navigate to the “triple horizontal line” Main Menu > Project Settings > Test Organizer > Auto-generation settings and check the necessary options for Data objects and Programmability objects behavior.
Figure 12. Auto-generation settings
Didn’t find the answer?
You can report problems, ask questions or share ideas for improvements on our email [email protected].