Kdenlive quality projects

Eric Jiang erjiang at alumni.iu.edu
Tue Sep 27 03:38:12 BST 2022


Hi all,
I continue to believe that the general quality of Kdenlive releases is
one of the most important areas for improvement. I have some ideas
that I think could help, but only limited time to implement them. I'd
like to hear from you all what would be most valuable and should be
done first.

* UI Automation Testing - We can create some UI tests (click menu
item, click button, etc.) for some common tasks.

Pros: Can run tests without source code, so we can test packaged
releases and check for packaging issues like missing dependencies.
Possible to run tests across platforms. Can test UI that the current
unit tests cannot cover.
Cons: UI tests tend to be flakey, slow, and/or hard to write. No code
coverage data.

* Project test suite - We can create a suite of Kdenlive projects and
test that they render pixel-for-pixel in each Kdenlive version.

Pros: Catches when we accidentally break/remove effects. Catches
regressions when we change timeline behavior and clips are shifted.
Helps ensure that old projects will continue to work in future
versions of Kdenlive. Could catch some rendering crashes (e.g. GPU
accel).
Cons: Slow to run. Requires a lot of sample projects + audio/video
files as test cases. Might require some code changes to be able to
script properly.

* Better crash logging - Many of the bug reports do not have a
backtrace, and it's not currently possible to get backtraces for some
release types (AppImage?).

Krita provides a UI dialog to view its log, which also includes
backtraces. The krita log file is also easy to get on Windows.
https://docs.krita.org/en/reference_manual/sharing_krita_logs.html#getting-backtrace
Other areas for improvement include logging what frame a render job
crashes at along with what effects are used during that time. I'd also
like to know how other KDE projects improve the bug reporting flow.

Pros: backtraces make it easier to fix bugs.
Cons: Users need to be educated on how to find and upload logs. May be
difficult to get backtraces in AppImage, Flatpak, Snap, or for the
renderer. Doesn't help catch bugs before they're released.

I think all are feasible to implement, although all would require some
additional ongoing work to be useful. Any suggestions or comments? Any
other ideas that I should look into?

Thanks,
Eric


More information about the kdenlive mailing list