morgand 01/08/13 16:10:18
Added: latka PROPOSAL.html
Log:
added batch scipt and sample test suites for Taglibs (w00t!) and Commons (aww!)
Revision Changes Path
1.1 jakarta-commons-sandbox/latka/PROPOSAL.html
Index: PROPOSAL.html
===================================================================
<html>
<head>
<title>Proposal for Latka Package</title>
</head>
<body bgcolor="white">
<div align="center">
<h1>Proposal for <em>Latka</em> Package</h1>
</div>
<h3>(0) Rationale</h3>
<p>Testing websites is a pain. Many regression tests for a website can be verified
automatically, speeding up the quality assurance process and
allowing the engineers to focus on the more important issues. Additionally
developers may want to
monitor their development, QA and production environment, so that they can be sure
that everything
is running as they expect.</p>
<p>Latka is an HTTP functional testing suite for automated QA. Latka suites are XML
documents, which
can be written and/or modified without writing Java code. Latka tests can be
created quickly
and modified easily, even by engineers without Java experience.</p>
<h3>(1) Scope of the Package</h3>
<p>The <em>Latka</em> project shall develop an XML-based syntax for HTTP-based
functional tests. Latka will support, at the least, SSL communication and
cookies.</p>
<p>Included within Latka are classes that simulate a user agent. While the backend
HTTP communication is handled by the HttpClient Commons component, the Latka
interfaces simulate some of the behaviour of an actual web browser, including
automatically passing cookies from request to request in a session. We hope
to integrate these classes into a "useragent" package in HttpClient at some point,
since they are a useful abstraction and not tied to Latka in any way, nor do they
modify the core
HttpClient classes.</p>
<p>Latka also includes several validations that can be performed on the HTTP
responses, including checking the status code, byte length, or request timing.
In addition you will be able to customize Latka with your own validators by writing
a couple of simple classes.</p>
<h3>(1.5) Interaction With Other Packages</h3>
<p><em>Latka</em> relies on:
</p>
<ul>
<li>Java Development Kit (Version 1.3 or later)</li>
<li>A JAXP 1.1 implementation</li>
<li>A SAX 2.0 parser conforming to the JAXP 1.1 APIs</li>
<li>An XSLT parser conforming to JAXP 1.1</li>
<li>HttpClient from Commons - for HTTP communcation</li>
<li>Logging component from Commons (not yet implemented)</li>
<li>JUnit - for testing</li>
<li>JSSE - SSL support (optional at runtime)</li>
<li>Jakarta-Regexp - regular expression tests and XML preprocessing (for variable
support)</li>
<li>JDOM - for building XML reports</li>
</ul>
<h3>(2) Initial Source of the Package</h3>
<p>The initial source has been committed to the Sandbox, and includes almost all of
the
functionality described above.</p>
<h3>(3) Required Jakarta-Commons Resources</h3>
<ul>
<li>CVS Repository - New directory <code>latka</code> in the
<code>jakarta-commons</code> CVS repository.</li>
<li>Mailing List - Discussions will take place on the general
<em>[EMAIL PROTECTED]</em> mailing list. To help list
subscribers identify messages of interest, it is suggested that the
message subject of messages about this component be prefixed with
[Latka].</li>
<li>Bugzilla - New component "Latka" under the "Commons" product
category, with appropriate version identifiers as needed.</li>
<li>Jyve FAQ - New category "commons-latka" (when available).</li>
</ul>
<h3>(4) Initial Committers</h3>
<p>The initial committers on the Latka component shall be:</p>
<ul>
<li>Morgan Delagrange</li>
<li>TBD</li>
</ul>
</body>
</html>