PMC:QA
Contents
Overview
The Quality Assurance Group (QAG) is comprised of experienced technical and functional resources within the bazaar. They work together to . The QAG takes a largely tactical role in making sure the processes of testing, CI and bug control runs smoothly. Their foremost responsibility is to provide other PMC groups with an automated testing base.
The QAG will include all the persons and companies within the bazzar interested in keep Adempiere as the most stable and tested Opensource ERP.
Goals
QAG support the goals assigned to the PMC Head according to the PMC_Structure
- Creation and documentation of test code, test data, test scenarios, and test automation
- Build a CI testing environment for Adempiere to support other PMC groups
- Define and conduct tests and quality assurance
- Define the label (status) of a release (i.e. alpha, beta, release candidate, production ready)
- Checking and administering trackers (specially bugs and feature requests)
Responsibilities
Responsibility delegation will be based in agreement of QAG leader and the QAG member assuming such responsibility.
Accountability of QAG leader cannot be delegated - QAG leader is accountable for all the actions and decisions taken by QAG.
- Manage the QAG Roadmap
- Coordinate the QAG Release schedule
- Schedule and conduct a regular QAG session on IRC as a channel for people to escalate and also to discuss their patch or feature request
- Define architecture for new QAG developments
- Establish the development processes and infrastructure needed for QAG to be effective
- Produce “how to get involved” guidelines to help new potential contributors in QAG get started
- Facilitating code or other donations by individuals or companies to QAG
- Working with Committers to ensure in-bound contributions are made in accordance with the ADempiere IP Policy.
- Establish rules and guidelines for QAG
- encourage and breed more skilled developers into QAG
- Manage release policies for:
- New features under development, testing code,etc..
- high risk bug fixes
- oversee merging proven stuff from trunk into release branch, review test code and include it in CI server
- reverting when something goes wrong in testing code
Structure
The QAF is composed by the following key roles:
- QA Leader, is appointed by PMC Head
- Issue Manager,checking and administering trackers (specially bugs and feature requests)
Group Members
The QAG group is composed by the following members :
Key Roles
- QA Leader
- Issue Manager
- PMC Head
Becoming a Member of QAG
QAG doors are open - you can participate in anything you think can be helpful.
To become a QAG member please drop a message in forums expressing your wish, skills and availability. The corresponding QAG leader and/or PMC Head could ask for a chat to know you better.
Member Guidelines
- In the unlikely event that a member of the QAG becomes disruptive to the process or ceases to contribute for an extended period, the member may be removed by vote of remaining QAG members, or banned by PMC Head and QAG leader(following an expected due process).
- QAG members may resign at any time by delivering notice of their resignation to the PMC Head and QAG leader.
- The work of the QAG is shared by the QAG members. All QAG members are expected to contribute actively.
- Active participation in the user newsgroups and the appropriate developer mailing lists is a responsibility of all QAG members, and is critical to the success of the Project. QAG members are expected to monitor some key communication channels as Adempeire forums, wiki, IRC and PMC mailing list.
Appointing for a Key Role
Key roles are filled by PMC Head, by invitation or by examination of people appointing to position.
If you want to appoint to one of the vacant key roles just drop a message to PMC Head expressing your wish, skills and availability. PMC Head could ask for a chat and a "test period" to fill the role.
Tools
Mail List
A mail list was set up for communication between PMC members:
adempiere-p-m-c@lists.sourceforge.net
Link to the Archive of the List
TOPIC: [QA]
Each message sent to the list must be marked [QA].
Calendar
To coordinate meetings a google calendar was set up and QAG members can create events on such calendar.
Documents
Some google documents will be created and shared within QAG members (and published for community review).
Here we can maintain an index of the QAG related documents:
Index of Meeting Minutes
Objetives and Tasks
- Consolidate all QA documentation in a wiki page menu
- Review/complete QA documentation
- Call for help and join in forums
- Review new contirbutions and consolidate a team
- Schedule first meeting
- Review status of fitnesse http://www.testadempiere.com:8082
- Review status and structure of junit test
- Review and research Selenium, Sahi and Windmill
- Review and research load testing tools as Jmeter, Radview, OpenSTA,Grinder
- Try to get community sponsor for a performance CI test environment with millions of records, and multiple tenants
- Setup CI server Hudson with junit test and document
- Setup Fitnesse or Selenium or Sahi or Windmill with Hudson and document
- Setup load testing server
- Create rules for developers to create junit test in any new contribution
- Involve community into creating functional test cases with fitnesse and Selenium, base on a simple tutorial
Design and requirements
- PMC:QA:CI base infrastructure
- PMC:QA:CI testing with reminders and releases
- PMC:QA:CI environment for developers
- PMC:QA:Bug testing
- PMC:QA:Compare testing tools junit,fitnesse,sahi
Research and documentation
CI server
- PMC:QA:integrate adempiere with hudson
- PMC:QA:CI hudson server setup
- PMC:QA:ADempiere Continuous Integration in Production Environment with Hudson
- PMC:QA:CI scripts
Code testing
Functional testing
- PMC:QA:Hudson with fitnesse
- PMC:QA:selenium
- PMC:QA:Hudson with selenium
- PMC:QA:Selenium with ZK Webui POC
- PMC:QA:Research Sahi
- PMC:QA:Sahi with Hudson
- PMC:QA:Sahi_integrate_with_Ant
- PMC:QA:Sahi with ZK Webui POC
- PMC:QA:Sahi POC Product and BP
- PMC:QA:Sahi POC Sales order
- PMC:QA:Sahi for a dynamic fields
- PMC:QA:Junit and Sahi
- PMC:QA:Sahi junit test for Adempiere SO order
- PMC:QA:Improve sales order POC with Sahi
- PMC:QA:Improve sales order POC with Sahi document2
- PMC:QA:Improve sales order POC with Sahi document3
- PMC:QA:MindMap:Adempiere test via Sahi
- Fitnesse
- Test Framework Fitnesse
- Fitnesse use in adempiere
optimization docs of QA
Load testing
References
- http://docs.zkoss.org/wiki/Making_ZK_Functional_Tests_With_Sahi
- http://sahi.co.in/w/
- http://www.getwindmill.com/
- http://www.opensourcetesting.org/performance.php
- http://jakarta.apache.org/jmeter/
- http://grinder.sourceforge.net/
- http://www.webload.org/
- http://opensta.org/
- http://seleniumhq.org/
- http://sahi.sourceforge.net/ant.html
- http://www.semicomplete.com/blog/geekery/xvfb-firefox.html
- http://findbugs.sourceforge.net/demo.html
- http://www.owasp.org/index.php/Phoenix/Tools
- http://code.google.com/p/skipfish/wiki/SkipfishDoc
- http://www.testadempiere.com:8082/