|
|
(27 intermediate revisions by 7 users not shown) |
Line 1: |
Line 1: |
| [Category:Testing]
| | #REDIRECT [[Quality_Assurance]] |
| | |
| [[Image:testing.png|Testing|left]]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.
| |
| | |
| | |
| | |
| Early 2012 this team was revived and now has a [https://mail.kde.org/mailman/listinfo/kde-testing 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 [http://community.kde.org/Getinvolved/testing/Brainstorming 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.
| |
| | |
| === 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 ===
| |
| | |
| Please see [http://community.kde.org/Getinvolved/Testing/Beta/ the Beta subpage] for more information.
| |
| | |
| === Links ===
| |
| | |
| *http://techbase.kde.org/Contribute/Quality_Team needs to be updated
| |
| | |
| | |
| == Existing testing infrastructure ==
| |
| | |
| === Continuous Integration (Jenkins) ===
| |
| | |
| KDE already runs a build server with [http://community.kde.org/Sysadmin/Jenkins Jenkins]: http://build.kde.org/ Please ask the KDE sysadmins if you would like to use it for your project.
| |
| Who gets the results? Who fixes them? This tool needs to be really used.
| |
| | |
| === Unit tests ===
| |
| | |
| Tutorial for unit tests in KDE: http://techbase.kde.org/Development/Tutorials/Unittests
| |
| | |
| === Code (syntax) tests ===
| |
| | |
| A static code analyzing tool is provided by the [http://englishbreakfastnetwork.org/ EnglishBreakfastNetwork].
| |
| | |
| Another static code analyzer is [http://sourceforge.net/apps/mediawiki/cppcheck/index.php?title=Main_Page cppcheck] which can be integrated with Jenkins.
| |
| | |
| More information can also be found here: http://techbase.kde.org/Development/Tutorials/Code_Checking
| |
| | |
| === Debugging ===
| |
| | |
| KDE already has an extensive wiki for debugging: http://techbase.kde.org/Development/Tutorials/Debugging
| |
| | |
| == 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 All apps should be ran through Valgrind on a regular basis, part of the Quality Assurance.
| |
| | |
| === 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/ It is more a tool for developers to help them track down problems than a QA tool.
| |
| | |
| === Testopia ===
| |
| | |
| Testopia provides a test case management together with Bugzilla. This is currently evaluated by the KDE sysadmins: http://www.mozilla.org/projects/testopia/ please be patient
| |
| | |
| === Testability Driver ===
| |
| | |
| Quote from the website: "Testability Driver is generic driver which provides access to Qt software for test automation harnesses." http://projects.developer.nokia.com/Testabilitydriver/
| |
| | |
| === 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
| |
| | |
| == ATP Examples ==
| |
| | |
| The following are examples for application testing procedures:
| |
| | |
| [http://websvn.kde.org/trunk/KDE/kdesdk/umbrello/test/ATP.txt?revision=1244714&view=markup Application Test Procedure for Umbrello]
| |