TestCocoon Presentation Qt Summit 2011: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
No edit summary
 
m (Categorize)
 
(8 intermediate revisions by 3 users not shown)
Line 1: Line 1:
=Project name and goals=
{{delete|reason=Outdated information}}
{{Cleanup | reason=Auto-imported from ExpressionEngine.}}
[[Category:QtCS2011]]
= Project name and goals =


Presentation of TestCocoon at the “Qt Contributor’s Summit” in June 2011.
Presentation of TestCocoon at the "Qt Contributor’s Summit" in June 2011.


=Description of TestCocoon=
= Description of TestCocoon =


TestCocoon is a complete code coverage tool chain for C/C++ and C# programs available under AppleMac OS X, Linux™ or Microsoft® Windows. It analyzes the performance of a software validation and permits to measure the performance and optimizes the testing process of a C/C++ or C# applications:
TestCocoon is a complete code coverage tool chain for C/C++ and C# programs available under AppleMac OS X, Linux™ or Microsoft® Windows. It analyzes the performance of a software validation and permits to measure the performance and optimizes the testing process of a C/C++ or C# applications:
* Finding untested code sections.
* Finding untested code sections.
* Reducing the amount of tests by finding redundant tests.
* Reducing the amount of tests by finding redundant tests.


With TestCocoon it is possible to find which portion of the source code is covered only by one execution of a test, and to detect if a new test does not cover more source code line than existing tests.
With TestCocoon it is possible to find which portion of the source code is covered only by one execution of a test, and to detect if a new test does not cover more source code line than existing tests.
* Finding dead code trough displaying the code parts which are never executed.
* Finding dead code trough displaying the code parts which are never executed.
* Specially useful for manual testing: TestCocoon is able to calculate the optimal execution order of tests which maximize the overall coverage after each run.
* Specially useful for manual testing: TestCocoon is able to calculate the optimal execution order of tests which maximize the overall coverage after each run.
Line 18: Line 19:
This permits to find which tests are impacted by a source code modification and permits to measure the test quality of a patch or a hot fix.
This permits to find which tests are impacted by a source code modification and permits to measure the test quality of a patch or a hot fix.


TestCocoon can be uses for every testing steps and methodologies (unit tests, automatic tests, manual<br /> white box tests, black box tests, etc. . . ), and permits to collect and merge the execution reports together.
TestCocoon can be uses for every testing steps and methodologies (unit tests, automatic tests, manual
white box tests, black box tests, etc. . . ), and permits to collect and merge the execution reports together.


It is composed of 3 tools:
It is composed of 3 tools:
# CoverageScanner, which analyzes, instruments and generates the C/C++ or C# application.
# CoverageScanner, which analyzes, instruments and generates the C/C++ or C# application.
# CoverageBrowser, which displays and manages the results of the coverage analysis. black box interactive tests.
# CoverageBrowser, which displays and manages the results of the coverage analysis. black box interactive tests.
# An optional Microsoft® Visual Studio® 2005 &amp; 2008 Add-In which permits to generate code coverage configurations from every C/C++ projects created by Microsoft® Visual Studio®.
# An optional Microsoft® Visual Studio® 2005 & 2008 Add-In which permits to generate code coverage configurations from every C/C++ projects created by Microsoft® Visual Studio®.


=Relationship with Qt=
= Relationship with Qt =


* All tools except CoverageScanner are generated using the Qt framework.
* All tools except CoverageScanner are generated using the Qt framework.
Line 34: Line 35:
# instrument the emission of a signal, but not the engine code generated my the moc compiler.
# instrument the emission of a signal, but not the engine code generated my the moc compiler.


Contact person by Nokia: Bill King.<br /> Sandbox repository: [https://gitorious.org/~billking/qt-creator/qt-creator-testcocoon-wip Qt-Creator instrumented using TestCocoon on Gitorious] ''[gitorious.org]''
Contact person by Nokia: Bill King.
Sandbox repository: [https://gitorious.org/~billking/qt-creator/qt-creator-testcocoon-wip Qt-Creator instrumented using TestCocoon on Gitorious]


=Planed deliverables=
= Planed deliverables =


Presentation of TestCocoon:
Presentation of TestCocoon:
* General presentation of code coverage technique.
* General presentation of code coverage technique.
* Features and design of TestCocoon.
* Features and design of TestCocoon.
Line 46: Line 47:


Open discussion with Qt-stakeholders:
Open discussion with Qt-stakeholders:
* Integration in build systems (qmake, cmake, . . . ).
* Integration in build systems (qmake, cmake, . . . ).
* Integration in Qt-Creator.
* Integration in Qt-Creator.
Line 53: Line 53:
* …
* …


=Amount of support required=
= Amount of support required =


820 Euro for hotel and fly ticket.
820 Euro for hotel and fly ticket.


=Timeline=
= Timeline =


Answer required before the 1st June 2011.
Answer required before the 1st June 2011.


=Contact person=
= Contact person =
 
Sébastien Fricker<br /> sebastien.fricker@gmail.com<br />http://www.testcocoon.org
 
===Categories:===


* [[:Category:Community|Community]]
Sébastien Fricker
** [[:Category:Community::Sponsored|Sponsored]]
sebastien.fricker@gmail.com
http://www.testcocoon.org

Latest revision as of 17:55, 6 January 2017

This article is nominated for deletion. Reason: Outdated information
Please raise your support/opposition to this nomination in the article's discussion page.
This article may require cleanup to meet the Qt Wiki's quality standards. Reason: Auto-imported from ExpressionEngine.
Please improve this article if you can. Remove the {{cleanup}} tag and add this page to Updated pages list after it's clean.

Project name and goals

Presentation of TestCocoon at the "Qt Contributor’s Summit" in June 2011.

Description of TestCocoon

TestCocoon is a complete code coverage tool chain for C/C++ and C# programs available under AppleMac OS X, Linux™ or Microsoft® Windows. It analyzes the performance of a software validation and permits to measure the performance and optimizes the testing process of a C/C++ or C# applications:

  • Finding untested code sections.
  • Reducing the amount of tests by finding redundant tests.

With TestCocoon it is possible to find which portion of the source code is covered only by one execution of a test, and to detect if a new test does not cover more source code line than existing tests.

  • Finding dead code trough displaying the code parts which are never executed.
  • Specially useful for manual testing: TestCocoon is able to calculate the optimal execution order of tests which maximize the overall coverage after each run.
  • Also, TestCocoon is able to perform its analysis on a difference of two applications.

This permits to find which tests are impacted by a source code modification and permits to measure the test quality of a patch or a hot fix.

TestCocoon can be uses for every testing steps and methodologies (unit tests, automatic tests, manual white box tests, black box tests, etc. . . ), and permits to collect and merge the execution reports together.

It is composed of 3 tools:

  1. CoverageScanner, which analyzes, instruments and generates the C/C++ or C# application.
  2. CoverageBrowser, which displays and manages the results of the coverage analysis. black box interactive tests.
  3. An optional Microsoft® Visual Studio® 2005 & 2008 Add-In which permits to generate code coverage configurations from every C/C++ projects created by Microsoft® Visual Studio®.

Relationship with Qt

  • All tools except CoverageScanner are generated using the Qt framework.
  • TestCocoon provides a specific code coverage analysis for Qt applications which permits:
  1. not instrument the contain of Q_OBJECT, Q_EXPORT_PLUGIN, Q_DECLARE_METATYPE, . . . macros.
  2. instrument the emission of a signal, but not the engine code generated my the moc compiler.

Contact person by Nokia: Bill King. Sandbox repository: Qt-Creator instrumented using TestCocoon on Gitorious

Planed deliverables

Presentation of TestCocoon:

  • General presentation of code coverage technique.
  • Features and design of TestCocoon.
  • How to instrument Qt applications.
  • Live demonstration of Qt-Creator instrumented with TestCocoon.

Open discussion with Qt-stakeholders:

  • Integration in build systems (qmake, cmake, . . . ).
  • Integration in Qt-Creator.
  • Integration in continuous build server (Hudson, Pulse, . . . ).
  • New idea, or features.

Amount of support required

820 Euro for hotel and fly ticket.

Timeline

Answer required before the 1st June 2011.

Contact person

Sébastien Fricker sebastien.fricker@gmail.com http://www.testcocoon.org