Sample application
This sample application should allow to create all possible data constellations for the sensors in order to allow for easy and quick manual testing of the application. The current samples (calculator) are focussing on the usage of inspectIT. The dvdstore application is quite big thus to cumbersome to use.
The application should use a predefined workthrough without any randomness when it comes to testing features (timings can vary).
Structuring
We decided that we use testng for structuring of the test. So we have a Test class for each feature. As the tests also need additional configuration for inspectIT, we will put a configuration file with the test and integrate it in the inspectit.config via $include.
Features to test
The testdata should be diverse, that means that for example the session parameters should not only just be a String, but also a Collection/Map or a <null> value, and empty String or the like.
Status | Sensor | Detail | What does this mean for the data | Which package tests that | Which test |
---|---|---|---|---|---|
HTTP | Session parameters |
| HttpFeatures |
| |
HTTP | Parameters | HttpFeatures |
| ||
HTTP | Headers | HttpFeatures |
| ||
HTTP | URL aggregation |
| HttpFeatures |
| |
HTTP | Use case aggregation |
| HttpFeatures | httpUsecaseHeaderAggregation | |
HTTP | in invocation sequence | HTTP is always within invocation sequence | InvocationSequence | invocationSequenceSensortests | |
HTTP | Regular expression matching | Define a group that matches the URI. Comes with 1.5 | |||
HTTP | Regular expression matching | Define a regex in a way that only some of the URIs matches and some do not match. Comes with 1.5 | |||
SQL | prepared statement | SQLFeatures | preparedStatement | ||
SQL | unprepared statement | SQLFeatures | unpreparedStatement | ||
SQL | prepared statement bind values | SQLFeatures | preparedStatementWithBindParameters | ||
SQL | SQL in invocation sequence | SQLFeatures | preparedStatementInInvocationSequence | ||
Timer | Timer with charting |
| Timer | timerWithCharting | |
Timer | Timer without charting | Timer | timerWithoutCharting | ||
Invocation Sequence | All sensors without an invocation sequence | InvocationSequence | noInvocationSequenceSensortests | ||
Invocation Sequence | All sensors within an invocation sequence |
| InvocationSequence | invocationSequenceSensortests | |
Invocation Sequence | MinDuration setting |
| InvocationSequence | testMinDurationInvocationSequence | |
Invocation Sequence | Stepping Feature |
| InvocationSequence |
| |
Context capturing | Return value | Currently context capturing is only shown in invocation sequences, so we need an invocation sequence for that | ContextCapturingTest | contextCapturingTest | |
Context capturing | Field value | Currently context capturing is only shown in invocation sequences, so we need an invocation sequence for that | ContextCapturingTest | contextCapturingTest | |
Context capturing | Parameter value | Currently context capturing is only shown in invocation sequences, so we need an invocation sequence for that | ContextCapturingTest | contextCapturingTest | |
Context capturing | Navigation in fields, parameters and return values | Currently context capturing is only shown in invocation sequences, so we need an invocation sequence for that | ContextCapturingTest | contextCapturingTest | |
Context capturing | Multi-line string parameter value | Currently context capturing is only shown in invocation sequences, so we need an invocation sequence for that | ContextCapturingTest | contextCapturingTest | |
Exception sensor | Make exception class hierarchy | Make sure we monitor exception that is extended from other monitored exception | ThrowExceptions |
| |
Exception sensor | Cause exception | Make cause exception also set | CauseException | throwCauseException | |
Exception sensor | Provide a hierarchy of created, passed and handled | Provide a testcase in which an exception is created, passed by some other exception and handled by a third method. | ThrowExceptions | passingExceptions | |
General | Class in the default package | DefaultPackagesTestFile | SimpleOutput | ||
General | Class that is exluded by the exclude filters |
| NotExcludedLevel1 | callExcludedClass | |
General | Instrument Java Core classes | CoreClassTest | coreClassTest | ||
Plattform Sensors | Have all enabled | Just enable them in the basic configuration file | |||
Storage | Have all data that the other tests produce once in a storage and once without a storage | ||||
Storage | Have the different states of storages available | A storage in open, closed, ... |
Key:
minor bugs | major bugs or non-existing | work in progress | finished task |