Help Test Inkscape
Inkscape has passed through many hands over two decades, and its stability rests largely on people who never touch the source code. Testing during development is how problems surface before a release reaches everyone else.
The most valuable kind of testing is ordinary use: run the editor on real work, push the new features in a genuine project and notice where the behaviour stops matching what you expected.
When something misbehaves, file a report. Include the steps that trigger it, and attach a test file if one is involved — the smaller and more focused that file, the faster somebody can act on it.
If you simply use Inkscape
Anyone can open a report, and the ones that get fixed are usually the ones whose author sticks around to answer the 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.
Joining the testing team
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.