Quality Assurance and Problem Reporting Guidelines
Quality in ADempiere
Quality is defined by the expectations of the people assessing it. For ADempiere, providing a quality product means providing a software application that is stable, extendable, won't crash unexpectedly and, most importantly, won't corrupt the valuable data in the database. Quality does not mean that the product has to be free of bugs. While that is a noble goal, it is unrealistic to expect perfection in any software package. Rather, if bugs are to be expected, quality dictates that they should be identified, known, assessed as to their severity and with work-arounds available. Further, quality demands that the known bugs be prioritized and fixed with new releases having fewer old bugs and perhaps a few new ones.
Quality also includes expectations of functionality and that the functionality will continue to exist and work as expected in new releases. The addition of new features and extensions should not break anything unexpectedly. Where product development demands that functionality be discontinued, quality demands that there be choice and information prior to the change. It should never be a surprise.
Ensuring the quality of the application requires the combined efforts of a large group of people - the community. To make these efforts complete, efficient and effective, there is a process that the community must follow. In doing so, the community will generate the necessary information to assure potential users of the quality of the product. In short, there is a process, we follow it and we can prove we did.
The following sections describe the quality assurance process in detail and how you can get involved to help improve the quality of the product.