What is an Assert Level?

An assert level is the idea to group certain asserts or tests that happen in the functional point into categories like SMOKE, FUNCTIONAL, REGRESSION, and ACCEPTANCE. Then when a test case is executed a property can be set that will only run certain types of tests.

The idea behind this came when we had a bug in an application being tested that caused tests that weren't really testing that bug to fail. So everytime we ran the suite of tests, the test cases with this functional point failed. This bug was considered a low priority bug and was not scheduled to be fixed soon.

After more thought, we decided it would be nice to be able to set assert levels on asserts in our functional points. Then, when we found a bug that our automation missed, we could simply set the new assert or check as a REGRESSION level assert. Then when that test failed we would know it was a regression test that failed.

Test Levels can also be set at the test case level as discussed in the Ant Tasks documentation, giving even more flexibility to execute test suites that match certain criteria.

Using Assert Levels?

Every assert method in the FunctionTag and most plug-ins have an optional assertLevel that may be passed in.

See the AssertLevel javadocs for information on these levels. All that is required to implement Assert Levels into a Functional Point is to use the appropriate assert method. For example, when a functional tests for the title of a page, that test might be considered a SMOKE test. So to do this, would require the following line of code:

assertTitleEquals("Jameleon - Assert Levels", net.sf.jameleon.util.AssertLevel.SMOKE);
That's all there is to it!