This article will focus on practical uses for the set of tools from Quest called Toad DevOps Toolkit. The Quest people are providing functionality based on Toad that is easily integrated into today’s continuous flow project management environments. Click here to check out my article on including Toad DevOps with Agile Project Management.
Toad DevOps Toolkit allows you to turn your application upgrades into a continuous flow from development, including data and database changes, to QA and again a continuous flow from QA to production.
This might be the perfect set of tools to back port changes in production, such as changes in data, back to a test environment as well.
Let’s review the tools available in Toad DevOps Toolkit and see how they might be used to automate implementation steps in your shop. These implementations can be a flow from test to QA to production or the other way around as well.
PL/SQL Code Unit Testing
Code Tester for Oracle is actually part of the Toad for Oracle Developer Edition. I recently had John Pocknell, Toad Product Marketing Manager, spend some time with me and go through this cool product.
Code Tester allows for you to test one or more PL/SQL units against a series of tests stored in its repository. The repository is installed using Toad for Oracle Developer Edition. These tests are set up and saved by you, the developer, and can be tested with specific data input, or Code Tester can setup tests based on its own parameters. At any rate, the more you test, the better the outcome, as more data and test scenarios will be passed to this module for use in testing. You can set up a series of tests as the code progresses through the development cycle. If you give these test scenarios clever names (they appear by PL/SQL code in alphabetical order), you can not only test your modules as the coding progresses but these same tests can provide regression testing, making sure that you have not broken anything that you thought was previously fixed or had previously tested successfully.
You can also define a series of programs that work together and test as a unit as well.
Where does Toad DevOps Toolkit fit in? It can automatically run these tests and if the modules pass all of the stored tests, it can migrate the code to production automatically. Toad DevOps Toolkit embeds into PowerShell or Visual Basic scripts and products like Jenkins and Bamboo can periodically check your version control system for checked in code, kicking off these scripts that contain Toad DevOps Toolkit calls. This mix of features allows for an automated flow to production from making code changes and simply checking the code back into the version control system. There is also a Jenkins plugin that simplifies adding PL/SQL unit testing to your build process.
Toad Code Analysis is a programmatic PL/SQL code review tool found in Toad for Oracle. Click here to check my blog on Code Analysis.
Toad Code Analysis reviews your code or series of code; you define what is reviewed. There are several metrics, including complexity of the code and complexity of the SQL within the code. There are three industry standard reviews used in this review process as well. Toad Code Analysis can spot dead code, or code that is not accessed. Toad Code Analysis can spot code that contains errors. Toad Code Analysis can spot variables that are not being used. Toad Code Analysis can spot obsolete coding styles as well. Toad also includes its own simple score.
If I were a programming manager, I’d use this Code Analysis (the code complexity part anyway) to make sure the right people were assigned to the project based on the complexity of the PL/SQL programs included in the project. I would also insist that the PL/SQL code meet standards set up by Code Analysis.
Where does Toad DevOps Toolkit fit in? It has pass/fail status notifications based on predefined thresholds of the code analysis review that will allow or stop code from moving forward in the automated process. Toad DevOps Toolkit can also stop code where errors might be detected. This allows for Oracle code to meet a minimal programming standard set by your shop by automatically passing the code through Code Analysis as part of your application lifecycle. The Jenkins plugin simplifies the process of running code reviews to your build process.
Database/Schema/Data Compare and Script Execution
Toad allows for the compare of database features, schema changes, and differences in data. Toad can then produce a script that can place the two environments back in sync with one another. These compares can be between test and QA and even test and production environments. These reports show which object has differences and you decide which object is to match the other (i.e., the direction of the synchronization).
Synchronization scripts can be produced that will make the two environments match.
The data compare can be used to move new production data to QA and test environments as well.
The database compare can compare database-level objects such as tablespaces (including assigned database files), roles, users, and more.
The schema compare compares schema-level objects such as table/indexes, all types of PL/SQL code, sequences, views, materialized views, database links and directories, grants, queue tables and even Java source.
The data compare compares two table objects and can compare the data by row or by column, identity columns, and even virtual columns.
Where does Toad DevOps Toolkit fit in? It can compare database, schema, and data between two database environments, and then produce scripts that synchronize the two environments error-free. Toad DevOps Toolkit can report on the differences discovered or go ahead and implement the differences using these scripts.
Click here to see the Toad DevOps Toolkit Technical Brief.
Toad DevOps Toolkit contains modules common to Toad for Oracle that pass this same functionality to your continuous-flow application management environments. These tools bring necessary and useful code testing, code review, schema change management, and script execution based on successful technology. available in Toad today, to your Oracle RDBMS application environments.
I hope you can use these quality Quest tools in your day-to-day use of the Oracle RDBMS.