The purpose of this post is to make you aware of an automated regression testing and sample data creation framework for iDempiere, Open Source ERP. iDempiere is rich in functionality; however, it has been historically void of traditional testing. There are two testing frameworks integrated with iDempiere; however, the tests are seldom used or maintained.
Automated Testing and Data Population Introduction
There are two goals of this framework:
- Create automated regression testing
- Create sample data
Please be aware this framework is available to all current and past ERP Academy members. If you wish to use this framework, simply join the ERP Academy. If you are a current or past subscriber, simply send me an email via the academy mailing list asking for access to the repository. The ERP Academy includes much more detail training videos describing and demonstrating how to install, use and deploy this plug-in.
Automated Testing and Data Creation Goals
- Needs to support both data population and testing
- Needs to be easy – entry level developer friendly…
- Needs to use existing tools – already documented and already used…
- Most things should be “one line of code”
- Create BP, Product, PO, MR, Inv, SO, Ship…
- Ancillary tasks should be hidden but editable (Price List creation)
- Should be “run in any client”
- Finds or creates alternate Organizations, Warehouses, Fiscal Periods, etc…
- Make test executable by humans and machines
- Humans: log into any client and execute a normal iDempiere process
- Machine: deploy and execute as Jenkins steps during the iDempiere build and release process
- Make test results persist (pack out, export, etc…)
- Make tests self documenting and readable by non-developers
- Make tests loop – yielding massive amounts of data
Automated Testing and Data Creation Picture of Success
This videos demonstrates how you can create simple code to test complex, multi-step business logic. The above class (less than 200 lines of code) would have been over 3,000 lines of code without the framework, assuming you have the knowledge to do so.
What is the best way to Learn iDempiere and ADempiere?
I teach an on-line class that covers how to learn, configure and audit open source ERP. It uses iDempiere as the reference ERP. Here are the course frequently asked questions. I have learned much over the last fourteen years, and I have much to share. I look forward to seeing you there!!
Why consider Open Source ERP?
Open source ERP gives you every opportunity to prove or disprove its ability to support your company’s ERP needs on a timeline that satisfies your organizational needs. With open source ERP, you do not face the same financial constraints nor do you face the same conflicts of interest as with commercial ERP. Instead, you invest in the appropriate skills and knowledge for your people and processes. Best of all – if open source ERP cannot solve your company’s needs, you can safely justify spending the additional $2K to $5K per person per year for life of your commercial ERP to help drive your organization’s success.
Open Source ERP Round Rug Effect
Open Source ERP has what I call a “Round Rug Effect”. If you were to liken the ERP evaluation process to a 10′ x 10′ room, the story would go something like this:
- Oracle, SAP, and Microsoft are a 10′ x 10′ ERP rug in a ten by ten foot room. They cover the room nicely. You will be hard pressed to find a feature or a use case that they do not cover.
- Open Source ERP is like a 10′ round rug in a ten by ten foot room. It will cover the vast majority of the room; however, it will leave the corners bare. The questions are: “Do you live and operate in the corners?” or “Is open source ERP good enough?”. For most, the answers are “sometimes” and “yes”.
If you are in the ERP evaluation mode, you should ask yourself “Should I include open source ERP in my evaluation process?” If you are less than $300M USD revenue, your answer should probably be yes! This answer comes from these concepts:
- Pillars of Cost – Since open source ERP is free, that means that all the cost of proprietary ERP should be allocated to the corners. If you use height to illustrate this allocated cost, the corners turn into tall pillers of cost.
- Cost of Innovation – At first look, the price tag of free open source ERP is the most appealing benefit; however, this benefit soon becomes overshadowed by the flexibility of open source ERP. If organizational leaders take just some of the cost that would otherwise be spent on Oracle or SAP, and they invest it back into the organization’s skills and knowledge of how ERP works, operational efficiency will never look the same again. If you know how to change the system for the better, and you know it will work. Why would you not?
- Monday to Monday Cycle – Business leaders drive innovation in a company. This innovation is no more apparent than in the traditional Monday morning business meeting where a CEO comes in and paints a picture of the next greatest thing. His or her next comments are “Will it work?” and “Make it happen!”. Open source ERP helps your business and IT teams say yes more often. You are no longer completely dependent on a high-priced Oracle Integrators. You are no longer dependent on spending 18% every year to Oracle for software that you have little control over. Your team applies its knowledge of the system and the knowledge of its world-wide resources to create a proof of concept that paints the real picture the following Monday.
- Right Pay Grade – Open source ERP puts the right tools in the right person’s hands at the right pay-grade. there is little more wasteful that paying a $150/hr integrator for something a Jr IT professional should be doing. Open Source ERP removes the artificial barriers that exist in proprietary ERP.
- ERP for Everyone – User licenses/seats are no longer a consideration. This point cannot be stated strongly enough. At first look, you might think this point is about saving money. It is much more than that. You now have the freedom and flexibility of allowing everyone in your company to interact the system that drives your operations. You simply assign the right roles to the right people to give them access to the appropriate information.
ADempiere vs iDempiere vs Openbravo vs Compiere
The ADempiere, iDempiere, Openbravo and Compiere environments are amazingly similar. iDempiere came from ADempiere. ADempiere and Openbravo came from Compiere. Compiere came from Jorg Janke. Jorg came from Oracle. As a result, iDempiere and ADempiere have much in common with Oracle’s ERP in terms of the financial feature set.
This is both good and bad. Good because iDempiere and ADempiere are quite capable to help a company grow beyond $500M USD. Bad because they tend to be more complex in that they account for multiple languages, accounting schemas, currencies, calendars, costing types, costing methods, etc…. If you are a growing organization, and you need a system that will grow with you, and you have the right internal talent/resources, iDempiere or ADempiere will be a big asset for you.
The biggest difference between these products is that ADempiere and iDempiere are pure open source. ADempiere and iDempiere make all feature available for free. Compiere and Openbravo hold back features behind a commercial or paid license.
Here is an article that discusses the differences between iDempiere and ADempiere.
iDempiere and ADempiere vs Odoo
iDempiere/ADempiere (iD/AD) and Odoo (formerly OpenERP) approach ERP from two very different directions. Odoo comes out of the box with very simple options. If you are coming from QuickBooks, and you need a simple ERP system help you manage your business, Odoo will look and feel comfortable.
iD/AD comes out of the box with every feature installed and configured to run a $200M+ USD business. If your business is growing rapidly, and you are willing to invest the time to learn an enterprise accounting system, then iD/AD will give you confidence.
Which one is best for you depends on your internal talent, growth and business complexity. Here is a post to help you learn more.