Discussing about a methodology to test PL/SQL frameworks and libraries seems too long and technical to be done in one article. So I decided to split the article in seven parts (one by category to evaluate) to give you something more digest and let you give your feedback on a limited number of subjects. You will have a weekly “pill to take” and talk about the effects.
We start the series with this article.
Introduction
- Testing PL/SQL frameworks and libraries demands a lot of work and a method is necessary to evaluate multiple tools with different features and different approach of the development. 
- As developers, we all have different sensibilities and each people has to find his own comfortable path to develop. With these tests, I just want to highlight the strengths and weaknesses of the tools to let you choose which one better fits your needs with a maximum of information. 
- That is why I publish the methodology and ask you to help me to build the most "objective" one. 
Information on frameworks and libraries
- In this article I define a library as a collection of functions and procedures on a specific topic and a framework like a collection of libraries. And of course, one of the greatest interests of a framework is the compatibility between its libraries. 
- I will use here the word of library to indicate a library or a framework. 
- To have an overview of each library, I will provide the following information on each one : 
- Type (framework or library) 
- Type of release (alpha, beta, production...) 
- Version of the release 
- Start date of the project 
- Date of the last version 
- Translations available 
- Number of developers 
- Web site 
- when they are known. 
General principles of the notation
- As it is difficult to compare numerous libraries that does have not the same features and documentation, I will note all the features or documentation present in each one. 
- The features and documentation will be group in categories. 
- The note for each feature or documentation will be summed to give a note to their category. 
- If a feature or documentation only exists in a library, only this one will be noted. Others libraries will have 0 for that feature or documentation. 
- It means that the notes of the categories are not limited, it is an open notation. 
- Moreover some extra points can be given in some conditions (if no DBA action required for example). 
- Anyway, a notation reference is detailed before the each evaluation of a category. 
The main categories to evaluate
- I have identified seven categories than should be evaluated : 
- Install/uninstall and upgrade 
- Ownership and support 
- Development features 
- Documentation 
- Interoperability 
- Code quality & architecture 
- Performances 
Install/Uninstall and upgrade
Notation
Prerequisites :
- 0 point if several prerequisites 
- 1 point if one prerequisite 
- 2 points if no prerequisite 
Scripts :
- 0 if it does not work (>15 min to use it) or it is not present or if the results are not reproducible 
- 1 point for >10 min to use it 
- 2 points for >5 min and <10> 
- 3 points for <5> 
Bonus :
- 1 more point if no DBA action is required. 
- 1 more point if the number of objects created by library is less or equal to 10 
Features to evaluate
- Installation or upgrade : 
- Install script : from scratch 
- Upgrade script : from a previous version of the library 
- Example : a script or package is given as example to verify immediately that the library works correctly. 
- Prerequisites : dedicated schema, administrator rights, others. 
- Number of objects installed : Packages, tables, views, sequence... 
- Uninstall : - Uninstall script : from the last version of the library 
- Cleaning of the installed objects. 
 
This is the end of the first article of our serial. I am waiting for your feedback, ideas and contributions. It is up to you now !  
And see you next week for the second article...
 
 

 
 Posts
Posts
 
