Copyright ©2002 W3C ® (MIT, INRIA, Keio), All Rights Reserved. W3C liability, trademark, document use and software licensing rules apply.
This document defines a set of common guidelines for conformance test materials for W3C specifications. This document is one in a family of Framework documents of the Quality Assurance (QA) Activity, which includes the other existing or in-progress specifications QA Framework: Introduction,QA Framework: Operational Guidelines, and QA Framework: Specification Guidelines.
This section describes the status of this document at the time of its publication. Other documents may supersede this document. The latest status of this document series is maintained at the W3C.
This document is a W3C Working Draft (WD), made available by the W3C Quality Assurance (QA) Activity for discussion by W3C members and other interested parties. For more information about the QA Activity, please see the QA Activity statement.
This version is the second published Working Draft. It is expected that updated WD versions of this document will be produced regularly, along with other members of the Framework documents family. Future progression of this document beyond Working Draft is possible, but has not yet been determined.
This part of the Framework document family will eventually have an informative accompanying QA Framework: Test Examples and Techniques document. It will illustrate ways in which the guidelines and checkpoints of this document might be satisfied.
The QA Working Group Patent Disclosure page contains details on known patents related to this specification, in conformance with W3C policy requirements.
At this time, the QAWG (QA Working Group) has addressed the contents of the document at a high level, agreeing to the concepts and principles as well the coverage of the guidelines. The QAWG has not, at this time, addressed and achieved consensus of the priority levels. A future version of this document will be accompanied by a "Specification Examples & Techniques" document, which will illustrate the guidelines and checkpoints with case studies, and explain how to satisfy the checkpoints.
Please send comments to www-qa@w3.org, the publicly archived list of the QA Interest Group [QAIG]. Please note that any mail sent to this list will be publicly archived and available, do not send information you wouldn't want to see distributed, such as private data.
Publication of this document does not imply endorsement by the W3C, its membership or its staff. This is a draft document and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use W3C Working Drafts as reference material or to cite them as other than "work in progress".
A list of current W3C Recommendations and other technical documents can be found at http://www.w3.org/TR/.
The scope of this specification is a set of requirements for Test Materials (TM) that if satisfied, will enhance the useability and clarity of the test materials. It covers the analysis and coverage of specifications, the prioritization and management of test cases, test frameworks and result reporting.
The goal is to help W3C Working Groups (WGs) and test material developers in developing test materials that provide consistent, reproducible results with in a well defined and clear scope.
The class of product or target this specification is conformance test materials including conformance test suites, validation tools, conformance checklists, and any other materials that are used to check or indicate conformance.
The intended audience for these guidelines is developers of conformance test materials for W3C specifications, however it is applicable all W3C Working Group members as well as the testers of implementations.
While it is optimal that the development of test materials begin early in the process, these guidelines are intended for newly chartered and existing Working Groups alike. Working Groups who may already be doing some of these activities should review the document and incorporate the principles and guidelines into their test materials as much as possible.
The development of quality test materials helps enhance the quality of specifications by identifying aspects of the specification that are ambiguous, contradictory or un-implementable. By helping to improve the clarity of the specification, the quality of implementations is also improved.
Quality test materials also help improve the conformance of implementations by providing methods of checking conformance to well defined criteria in a consistent way. By providing a consistent way to check the conformance of implementations, test materials also lead to more interoperable implementations.
This document is part of a family of QA Framework documents designed to help the WGs improve all aspects of their quality practices by solidifying and extending current quality practices found within the W3C. The QA Framework documents are:
The QA Framework documents are interrelated and complement each other. For example, there is a close relationship between producing and maintaining test materials and the tracking of errata. Hence there is interrelationship between this document and the Operational Guidelines. The reader is strongly encouraged to be familiar with the other documents in the family.
The guidelines are intended for all Working Groups as well as developers of conformance materials for W3C specifications. Not only are the Working Groups the consumer of these guidelines they are also key contributors. The guidelines capture the experiences, good practices, activities, and lessons learned of the Working Groups and present them in a comprehensive, cohesive set of documents for all to use and benefit from. The objective is to reuse what works rather than reinvent and to foster consistency across the various Working Group quality activities and deliverables.
This specification applies the WAI (Web Accessibility Initiative) guidelines model to Working Group quality practices and the development of conformance test materials. See, for example, Web Content Accessibility Guidelines. Each guideline includes:
The guidelines in this document begin with the analysis of the specification and the identification of priorities and goals of the test materials (GL1-2). The guidelines then focus on test case management and development (GL3-4). They then proceed to cover useability and result reporting (GL5-7).
The checkpoint definitions in each guideline define test material aspects and systems that need to be implemented in order to accomplish the guideline. Each checkpoint definition includes:
Each checkpoint is intended to be specific enough so that someone can implement the checkpoint as well as verify that the checkpoint has been satisfied. A checkpoint will contain at least one, and may contain multiple individual requirements, that use RFC2119 normative keywords. See the Conformance section for further discussion of requirements and test assertions.
Two separate appendices to this document [TEST-CHECKLIST] and [TEST-ICS] present all checkpoints in a tabular form sorted in their original order and sorted by their priorities, for convenient reference. The latter is an Implementation Conformance Statement ( ICS) pro-forma for this specification.
Some checkpoints are more critical than others for the timely production of high-quality, highly usable test materials. Therefore each checkpoint has a priority level based on the checkpoint's impact on the quality and timing of the test materials produced by a Working Group.
The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" are used as defined in RFC 2119 [RFC2119]. When used with the normative RFC2119 meanings, they are all upper case. Occurrences of these words in lower case comprise normal prose usage, with no normative implications.
Unusual terms in this framework document are defined when first used, and most generally useful QA-specific terms will eventually be in the QA Glossary [QA-GLOSSARY].
Conformance requirements: The test suite MUST define it scopes, goal, and intended purpose.
Rationale: When writing test suites it is critical to understand their primary purpose and scope. The scope describes the areas covered by the test suite, thereby indicating the applicability of the test suite, the motivation and objectives, and coverages. For example, the goals, intended purpose, and coverage of tests for a CR document may be different than those for Rec. Note, a WG may have multiple test suites for different parts of a specification (e.g., profiles or modules) or for different applications of the specification (e.g., bindings, things like CSS in MathML CSS with WCAG etc)
Conformance requirements:
Rationale:
Conformance requirements:
Rationale:
Conformance requirements:
Rationale:
Extract assertions/normative language and tag according to category - Using catagories provided by patrick In other words rather than having explicit checkpoints for each required, optional, depreciated, discressionary, under defined, etc asserts, have a checkpoint that has all asserts or normative language extracted and then grouped by category. It's the same basic idea but it takes 4 checkpoints into one.
Conformance requirements:
Rationale:
Conformance requirements:
Rationale:
Conformance requirements: The test management system must be designed such that any tester, given a set of criteria, will use the same set of tests and the same set of results from those tests.
Rationale: Test cases must be un ambiguous. The test management system must allow the selection of test cases based on a set of well defined criteria. If the test management system allows for different testers to determine differing criteria for the same target or if test cases are not clear and un ambiguous, different testers may derive different results and different levels of conformance for the same target implementation.
Conformance requirements: Develop a test harness that allows for some or all of the tests to be automated. The test harness should be useable by the widest audience possible.
Rationale: Reasonably complete test suites may contain a significantly large number of test cases. In order to allow for the widest possible coverage, automation is helpful. Automation frameworks should not be designed such that it may be used with a wide number of platforms and systems.
Conformance requirements: The test management system must allow for tests to be filtered and sorted based on a well defined set of criteria. @@ this will relate to what ever Patrick is doing with GL1-2 and the metadata stuff... @@@. Filtering must support criteria like profiles, levels and modules, optional and required tests, and associations to asserts or normative language in the specification.
Rationale: By allowing testers to sort and filter test cases based on these criteria, testers can quickly identify and run only the tests associated with the specific target that the tester is covering. By associating test cases back to the test assertion, testers can identify what is being tested and what the correct result should be.
Conformance requirements: The test management system must allow for the results of run tests to be associated with the test.
Rationale: By providing a way for testers to associate the results of a test they become one more criteria by which tests may be grouped. By identifying tests that pass, testers do not need to recover the same ground.
Discussion. Providing support for results helps to fulfill part of the requirement of Guideline 6 as well.
One of the entrance criteria for a Proposed Recommendation (PR) is that each feature of the technical report has been implemented, preferably by demonstrating two interoperable implementations of each feature. Providing a standardized result reporting mechanism helps facilitate these interoperability tests. A second goal of the WG should be to encourage vendors to report testing results for their products. In order to do that, a WG needs to provide vendors with the results format, necessary style sheets, and any other tools needed to facilitate reporting.
Conformance requirements: Test Materials must support a method of recording the pass/fail state for each test.
Rationale: In the case of interoperability test suites required for verifying two implementations, providing a system for result reporting allows implementors to submit uniform sets of results which helps ease the process of comparison and the determination of what features are in danger of being cut due to their lack of support.
Conformance requirements: The result reporting framework should allow for uses to export or otherwise generate a self contained report that may be published on the web.
Rationale: In order to encourage vendors to publicly publish their results on the web it is desireable to make the process of publishing as easy as possible so that the process is not an impediment to publishing. By producing a unified web page or package of pages vendors do not need to convert the results from one format to another in order to publish.
Conformance requirements: The result reporting framework must indicate what tests have passed and what tests have failed. For failed tests, some indication of the reason for failure should also be included in or referenced by the report.
Rationale: The whole purpose of a result reporting framework is to be able to determine the result of each test. If the framework does not indicate if tests are passing or failing then it is not doing it's primary job. In order to improve an implementation, the implementors must know what is failing and how in order to fix it. The more details that are provided about the failure, the easier it is for the implementors to locate and fix the problem.
Conformance requirements: The result reporting framework should support filtering on the same metadata criteria as the Test Management System.
Rationale: Results should be filterable based on criteria just as test cases should be. This allows for implementors to only focus on tests and the results of tests that relate to the particular target criteria of the implementation while being able to filter out tests and the results for tests that are not applicable to a given implementation.
Checkpoints of this guideline aim to ensure that the Working Group has a plan for getting interested parties involved in the development and use of conformance materials.
Conformance requirements: Document a plan to engage vendors of implementations to participate in conformance testing activities.
Rationale: The conformance testing of various implementations tends to help improve the interoperability of various implementations.
A common practice is to support public discussion group dedicated to the test suite and organize face-to-face meetings for vendors and other interested parties.
Conformance requirements: Provide a special space where information pertaining to test results of their products can be maintained.
Rationale:
It may be possible for the W3C to have a special space where information pertaining to test results can be given, if not explicitly, then using links to those pages where the information can be found (in order not to have to provide disclaimers).
This section defines conformance of Working Group processes and operations to the requirements of this specification. The requirements of this specification are detailed in the checkpoints of the preceding "Guidelines" chapter and apply to the Working Group QA-related documents and deliverables required by this specification.
This section defines three levels of conformance to this specification:
A Working Group conforms to the "QA Framework: Test Guidelines" at Level X (A, AA, or AAA) if the Working Group meets at least all Conformance Level X requirements.
To make an assertion about conformance to this document, specify:
Example:
The Test Suite for X module, version 2.1 of this Working Group, conforms to the W3C's 'QA Framework: Test Guidelines' version 1.0, available at http://www.w3.org/TR/2002/qaframe-test/, Level AA as determined on January 1, 2003.
The checkpoints of this specification present verifiable conformance requirements about the quality of the test materials developed or adopted by the Working Group. As with any verifiable test requirements, users should be aware that:
This section contains the definitions for all the critical terms used in the guidelines below. This does not substitute the QA Glossary [QA-GLOSSARY], but rather focuses on the most important terms for the Testing guidelines. Some terms in this section have been borrowed or adapted from other specifications.
The following QA Working Group and Interest Group participants have contributed significantly to the content of this document:
Moved the definitions section to it's new location and updated it.
Started work on new introduction using the same format as the other framework documents.
Added new outline to document commented out a number of sections that need editing.
Edited, improved the Introduction(goals, motivation, document's structure
Updated the definition of the checkpoint's Priorities
corrected abstract, SOT
Changed the goal of the document and wording of the checkpoints/guidelines to focus it on testing strategy, moving all the tips on tactics to be EX-TECH
Added examples to most of the checkpoints
incorporated all the editors comments
Rewrote several checkpoints in the Gd 5 - defined results verification and reporting as part of the test framework to remove redundant checkpoints
Rewrote guideline 6 and 7 to focus on strategy of test development and testing, rather then on tactics.
Updated the conformance section
Expanded introduction, added motivation, etc...
Added examples to the checkpoints in the Gd1,2,3
[MS] Changed the text of many checkpoints to make them verifiable
[DD] First pass on Introduction, added more text to the checkpoints in the Gd 3-5
Fixed definitions of priorities
Fixed the glitch with the "Test Areas" guideline
Added clarification to Ck 1.1, 1.2, 1.5 (removed "vague"), 1.6
Added short prose to each checkpoint
First draft outline