Testing
Inkscape is an old project with many different contributors over the years. It depends heavily on contributions from non-developers to test the program during development in order to find and resolve problems and maintain stability for everyone.
The most important part of ‘Testing’ is simply to use Inkscape for normal work — confirming that Inkscape has reached this level of maturity, exercise the new features and verify that the application works as expected.
Report a bug if you find anything that does not behave as it should. A bug report should include at least a step-by-step description of how to trigger the bug and/or a test file that demonstrates the bug (the smaller/more focused the test file the better).
Users
Users can file bug reports for their issues and we encourage users to stick to their issues and follow through when developers or bug testers ask follow up questions.
We use the gitlab issues platform to track issues. Users should always make issues in the Inbox section as this is designed to allow us to receive unconfirmed issues from the widest possible audience without needing to set any restrictions on who can contribute a bug report or a feature request.
The tasks a user should do for testing involve:
- Use the up to date, stable version of Inkscape for their operating system.
- Creating bug reports directly in the issues tracker.
- Provide example svg files that cause issues,
- Attach screenshots showing issues.
- Be aware of potential copyright and privacy, your files will be public on the internet.
- Follow up with questions from developers if possible.
- Abide by all the regular rules for the code of conduct.
- Do NOT ask when or if a bug is being fixed or otherwise pressure volunteers to perform work.
Inkscape Testers
Users who enjoy working on bugs can become Inkscape Testers. This isn't a role that is restricted to developers or even technical users specifically; but can be anyone who wishes to help Inkscape improve it's stability and make the process of fixing bugs more efficient for developers.
The full guidelines for testers can be found on our gitlab inbox repository. The role of a tester involves, but does not require:
- Installing unstable versions of Inkscape
- Confirming other people's issues they have reported.
- Attaching examples, tagging and adding context to issues.
- Moving issues into the correct sub-project.
- Attend testing team meetings.
- Prioritising issues and adding to milestones.
- Running test suites and regression tools.
- Testing against older versions to find when an issue first appeared.
- Help organise old issues and retire issues that have been fixed but forgotten.
Programming and Automating Testing
The inkscape code base includes code which tests inkscape without a user needing to test every part of the functionality directly. Programmers are required to make tests to cover core functionality and over time improve the coverage of these automated test processes.
Developers should:
- Run the test suite locally when developing a fix or a new feature.
- Write new unit tests (C++) code which covers the changes they are making
- Add new rendering tests where needed to the collection of existing tests.
- Add new cli tests that covers changed functionality for end-to-end testing.
- Interact respectfully with users and the testing team and keep communication professional.
- Use the milestone and tagging infrastructure to prioritise what they are working on.