TestCocoon Presentation Qt Summit 2011: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
No edit summary
 
No edit summary
Line 1: Line 1:
=Project name and goals=
[[Category:Community::Sponsored]]


Presentation of TestCocoon at the “Qt Contributor’s Summit” in June 2011.
= Project name and goals =


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


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:
= Description of TestCocoon =


* Finding untested code sections.
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:<br />* Finding untested code sections.<br />* 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.<br />* Finding dead code trough displaying the code parts which are never executed.<br />* Specially useful for manual testing: TestCocoon is able to calculate the optimal execution order of tests which maximize the overall coverage after each run.<br />* Also, TestCocoon is able to perform its analysis on a difference of two applications.
 
* 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.
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<br />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:<br /># CoverageScanner, which analyzes, instruments and generates the C/C++ or C# application.<br /># CoverageBrowser, which displays and manages the results of the coverage analysis. black box interactive tests.<br /># 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®.


# CoverageScanner, which analyzes, instruments and generates the C/C++ or C# application.
= Relationship with Qt =
# 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®.
 
=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 25:
# 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.<br />Sandbox repository: &quot;Qt-Creator instrumented using TestCocoon on Gitorious&amp;quot;:https://gitorious.org/~billking/qt-creator/qt-creator-testcocoon-wip
 
=Planed deliverables=
 
Presentation of TestCocoon:


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


Open discussion with Qt-stakeholders:
Presentation of TestCocoon:<br />* General presentation of code coverage technique.<br />* Features and design of TestCocoon.<br />* How to instrument Qt applications.<br />* Live demonstration of Qt-Creator instrumented with TestCocoon.


* Integration in build systems (qmake, cmake, . . . ).
Open discussion with Qt-stakeholders:<br />* Integration in build systems (qmake, cmake, . . . ).<br />* Integration in Qt-Creator.<br />* Integration in continuous build server (Hudson, Pulse, . . . ).<br />* New idea, or features.<br />* …
* Integration in Qt-Creator.
* Integration in continuous build server (Hudson, Pulse, . . . ).
* New idea, or features.
* …


=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<br />sebastien.fricker<code>gmail.com<br />http://www.testcocoon.org
** [[:Category:Community::Sponsored|Sponsored]]

Revision as of 11:13, 24 February 2015


Project name and goals

Presentation of TestCocoon at the "Qt Contributor’s Summit&quot; 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:
# 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.
# 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&quot;:https://gitorious.org/~billking/qt-creator/qt-creator-testcocoon-wip

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.frickergmail.com
http://www.testcocoon.org