How to start
Find something to start with
You can either add a new test case that you think is missing in an existing plan, or you can develop new automated test for a feature or its aspect that is not covered yet.
Some tips as to what tests would come in handy can be found on this Trac page listed under "Tests" component.
You can also create a test plan for a new feature - to do that, just pick an RFE ticket and check whether new test plan is needed. To check this, there are test related fields that indicate the status:
- Test case - links to a test plan/case in case it is already done
- Test by - QA contact the issue is assigned to
- Test coverage - can have four values:
- yes - the test is already completed, the Test case and Test by fields should already be filled
- no - the test is deemed unnecessary or unreasonably laborious to create (but you can still create it, if you really want to)
- wanted - the test is deemed necessary, but not done yet. Check the Test by field - if it's filled, the test plan is in progress, if it's empty, it's free to take
- empty field - this issue needs review
Update Trac ticket
Should you choose to contribute a test with an existing ticket, click Modify ticket and select accept in box Action. The owner of a ticket will be changed to your name and next status of the ticket will be assigned.
If you're working on yet unassigned test for RFE ticket, simply fill out the Test by field.
If you prefer to work on a test with no existing ticket, create a new ticket for the purpose.
Get the source
See Contribute code section.
Design a test or a test plan
The first step to create a new test is designing a test plan. Prepare a test plan proposal using the test plan template. If the test plan is designed for a new feature (RFE ticket), publish the test plan on www.freeipa.org/page/V4/feature_name/Test_plan, where feature_name is the name of the new feature you're testing. Then send the test plan for comments and approval to freeipa-devel mailing list.
Create a test or test plan
The test should be written in Python and using pytest.
When creating a test, you can follow
Submit a patch
When the test is completed, submit a patch much the same way as when contributing code. Then the patch goes through code review process. If the changes in the patch are approved, they get pushed to the source repository.