Get Involved/Quality

From KDE Community Wiki
Revision as of 10:07, 6 April 2012 by Mamarok (talk | contribs) (→‎Existing testing tools: added project neon)

[Category:Testing]

Becoming a KDE Tester

Testing
Testing

In the early 2000's there was a specific team at KDE which was focused on finding loose ends in KDE applications and tying them together. This was a task of user case studies, writing articles, documentation, creating missing artwork for consistency, and other miscellanea. Ultimately, this team contributed patches of code and documentation that really rounded out the KDE experience.

Communicating with the team

Early 2012 this team was revived and now has a mailing list as well as a channel called #kde-quality on irc.freenode.net.

What exactly does testing mean?

Testing is part of the overall Quality Assurance of software. More information about the exact definition can be found here: http://en.wikipedia.org/wiki/Software_quality_assurance and here: http://en.wikipedia.org/wiki/Software_testing

Initial steps

Since this is a new start we need to define the exact goal of this team. There is a Brainstorming page where ideas are gathered.

Wiki work

The basics is of course to establish a useful wiki resource. We currently use https://trello.com/kdetesting to avoid duplicate work. Please ping Anne-Marie (annma) or Myriam (Mamarok) in #kde-quality on irc.freenode.net to be added to the group.

Existing testing infrastructure

Continuous Integration (Jenkins)

KDE already runs a build server with Jenkins: http://build.kde.org/ Please ask the KDE sysadmins if you would like to use it for your project.

Unit tests

Tutorial for unit tests in KDE: http://techbase.kde.org/Development/Tutorials/Unittests

UI tests

We will need to evaluate what tool would be the best for KDE. A list can be found here: http://en.wikipedia.org/wiki/List_of_GUI_testing_tools (incomplete) and here: http://www.opensourcetesting.org

Code (syntax) tests

A static code analyzing tool is provided by the EnglishBreakfastNetwork.

Another static code analyzer is cppcheck which can be integrated with Jenkins.

Existing testing tools

An non-exhaustive and maybe not up-to-date list of testing tools can be found here: http://www.opensourcetesting.org/ See also http://techbase.kde.org/Development/Tools#Quality_Assurance

QtTest

Qt provides a testing module that can be used for unit testing: http://qt-project.org/doc/qt-4.8/qttest.html There also is a possibility to do basic UI testing.

Valgrind

A tool to analyze memory leaks: http://techbase.kde.org/Development/Tools/Valgrind

Piglit

A tool to test OpenGL drivers: http://people.freedesktop.org/~nh/piglit/ might be useful to test parts of KWin and other OpenGL applications.

Gamma Ray

A dynamic code analyzer: http://www.kdab.com/kdab-products/gammaray/

Trunk testing

Trunk testing can be done with Project Neon: http://techbase.kde.org/Getting_Started/Using_Project_Neon_to_contribute_to_KDE

Beta testing

Links