[jboss-as7-dev] Requirements and Design Proposal: AS7 TestSuite
Jaikiran Pai
jpai at redhat.com
Fri Mar 18 07:10:24 EDT 2011
On Friday 18 March 2011 12:51 PM, Andrew Lee Rubinger wrote:
>
> I suspect this breaks down into two categories, which may be modelled as
> separate modules under the existing "testsuite" aggregator parent:
>
> * Specification
> * AS-specific APIs
On a slightly different categorization, we also have to come up with
tests for stress testing. They can either be for "Specification" related
tests or even for "AS-specific APIs". Perhaps test "profiles" (need
_not_ be Maven profile) within those 2 modules would be better instead
of a separate module?
>
> [End Goal]
>
> 1) No compile-time dependencies in the module except for what's
> absolutely necessary.
>
> For the spec suite, this means: JDK and EE Spec APIs only in the
> compilation classpath.
We might also have to include JBoss specific APIs which are exposed to
the users (for ex: org.jboss.ejb3.annotation which currently isn't there
but might be introduced soon in AS7).
> Testable asset sources and resources (ie. EJBs,
> Servlets, etc) would live under src/main/* to enforce that. Only the
> tests themselves would be located under "src/test/*".
Sounds fine. Although, do we want to end up with all tech specific tests
(like for EJB3, web, etc...) all in one source path? i.e.
spec-tests/src/main/org/jboss/spec/<ejb3, web, jsf>....? Or should we
plan to have different maven modules under the "Spec" tests for each
individual tech?
>
> 2) Every single new test created is to have an associated JIRA.
I'm not quite sure that this will work out. I'm not against it, but it
might not be practical.
>
> By linking to JIRA we get history of intent, which acts as a
> nice record even in the case that the test isn't so well-documented.
> I'd argue that tests are a bigger asset than our code, and we should be
> thinking about these in terms of long-term maintenance to outlive any
> specific impl.
I agree about the well-documented tests, but JIRA linking shouldn't
always be an absolute necessity.
>
> 3) Documentation
>
> Alongside the JIRA reference, a quick note about we're looking to
> accomplish is something I find very helpful. I don't personally buy the
> argument that code is self-documenting if written well. It gets
> refactored and stale over time.
+1000. A simple brief explanation on what the test is supposed to test
is really useful.
>
> 4) Run-mode profiles
>
> Arquillian provides a wonderful abstraction such that we can get
> coverage for AS in both remote managed *and* embedded modes without
> changing the test itself. To certify that everything is working as
> advertised no matter the runtime, we should be able to run the same
> suite in standalone, domain, and embedded modes (generally speaking).
Are these container specific modes that we are talking about? Or are
these more of test profiles (a.k.a groups) wherein we could perhaps add
a test under a "stress-test" profile?
-Jaikiran
More information about the jboss-as7-dev
mailing list