Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [hyades-dev] Meeting minutes for discussion on proposed extensions to the existing Hyades testing resources (org.eclipse.hyades.tests).

Hi everyone,

I wasn't able to attend this meeting but here are my 
comments/suggestions. 

I am generally in agreement with these suggested changes but I have a 
few comments in one or two areas:

> Several proposed organizational extensions:
> 
> -Provide a root-level /org.eclipse.hyades.use.cases/ directory for
> functional test suites for use cases.
> -The current organization at the plug-in level does not account for
> functional test cases that cross plug-in boundaries.
> -Hierarchical test suite definitions (e.g. AllTests.testsuite) for
> fine-grained test suite execution and results reporting.
> -Reflect the subdirectory organization of the JUnit and 
> manual test suite
> directories in the JUnit and manual results directories.
> -Internally organize the lowest level JUnit and manual 
> results directories
> by platform (e.g. Windows, Linux, AIX, AS/400, HP-UX, Linux 
> 390, OS/390,
> Solaris) to persist multi-platform test execution results in CVS.
> -Provide a /dependencies/ subdirectory for test suite 
> dependencies such as
> common utility classes, required JARs and datapools.
> -Utilize a standardized namespace (e.g. plug-in ID) when naming and
> identifying test resources.
> -Eclipse Java project configuration files (e.g. .project and 
> .classpath)
> identifying dependencies and the source trees to compile and 
> run JUnit Java
> code.



The hierarchical testsuite definitions are there to a certain extent as 
we have AllTests.testsuite for the whole of Hyades and an 
AllTests.testsuite for each plugin.  To gain better granlarity, the 
plugin provider could organise their own hierarchy of tests which their 
plugin's AllTests.testsuite is the root node for but I'm open to 
suggestions of more mandated structures.  I'm not sure I entirely 
understand this suggestion.

I think reflecting the subdirectory organisation of the JUnit tests and 
manual tests is not necessarily a good idea.  The JUnit tests 
subdirectory organisation might naturally have a different focus to the 
manual test subdirectory organisation.  The JUnit tests will probably be 
organised based on the implementation whereas the manual tests will be 
based more on the UI organisation.  I'm saying this because I can't see 
any obvious benefit from requiring matching folder structures for 
different test types but again if we gain something from this then I'm 
open to the possibility.



> Several proposed procedural extensions:
> 
> -A terse but effective formal test process documentation 
> specifying how
> Hyades plug-ins and functionality are to be tested by 
> utilizing the Hyades
> testing resources.
> -A standardized structured manual test case description 
> including context,
> dependencies, ordered steps of execution and expected results 
> (see Appendix
> A).
> -Utilize formal software quality metrics in measuring test coverage by
> providing documentation on how to execute test suites with 
> the necessary
> code coverage profiling and filter set.
> -Persist test execution reports (e.g. summary and coverage 
> statistics) at
> the highest directory level containing all of the test suite execution
> results.
> -Committers are responsible for generating and checking-in 
> test execution
> reports for their components at predetermined milestones in 
> the test pass.
> -Each committer provides a summary test execution report for their
> components to be used in a web project accessible from the 
> Hyades site.
> -Committers are responsible for checking-in test execution 
> results to CVS
> for their components.
> -Multi-release test suite execution results organized in CVS 
> by release
> branches (e.g. v3_1_0) with HEAD containing the current release.
> 
> Discussion: 
> ...
> -Bruce was concerned with checking-in all the execution 
> result files into
> CVS would be costly especially if the entire source tree is 
> extracted at
> build time.
> -Paul offered the solution that only execution result files for a
> particular release would be associated to a particular branch 
> in CVS.  This
> still left the outstanding issue of the HEAD stream in CVS with no
> alternatives offered.
> ...



All this sounds OK to me.  I strongly agree with Joe that the standard 
structural test case description components should be part of the model.

As far as checking in results files into CVS, I can see we have a 
potential bloat problem and having results files associated with a 
particular release seems like a good idea.  I don't see what the problem 
with the HEAD stream is here though.  I would think people would run 
tests and store the results in HEAD as they ran them, then when a branch 
was created, a branch of the results files would also exist.  Then after 
each branch people could delete the old results files from their 
workspace and check the changes into HEAD (thus keeping them in the 
pertinent branch of CVS but removing them from HEAD).  This would mean 
we'd have only the latest up to date results files all the time in HEAD 
but also have only the results files for a particular release under a 
particular branch.



> Future considerations for Hyades Test:
> 
> -A preference pane or extension point (e.g. wizard pane) for users to
> provide an organization-specific template for manual test case
> descriptions.
> -Capture contextual execution information such as tester, platform and
> build driver in the test suite execution results.
> -Provide additional verdict classifications such as n/a (not 
> applicable)
> and n/r (not ran).
> -Stopping and restarting of test suite executions by providing
> functionality to execute test suites with partially completed 
> execution
> results.
> -Simple summary results reporting for one or more execution result(s).
> -More complex statistical analysis on test suites execution results.
> 

I again agree with Joe here that the extra contextual information should 
be part of the model.

Other than that, everything looks good.  Hopefully we can get some 
discussion going about these issues over hyades-dev.


cheers

Antony



Back to the top