From: "Robert Neff" 1. Your experience in the areas covered by the Workshop scope (W3C technologies testing, etc) rob> Implemented Web Life Cycle Development model both in the Government and Commerical sector. This inlcuded hi-end e-commerce and static pages using multiple technologies (HTML, CSS, Flash, JavaScript, ColdFusion and other). Built CM, QA and Test Teams using various technologies to include functional, performance and stress testing. Trained in the Carnegie-Mellon's Software Engineering Institute Capabilty Maturity Model, http://www.sei.cmu.edu/ 2. What are the needs of your company/organization in the field of Web/W3C QA. rob> Reduce rework and time to market using the W3C and our technologies and guidelines. Ensure compliance to such standards. 3. What are your general expectations on the final outputs of the workshop? rob> synergy and understanding 4. What are your potential contributions to the discussion, related ideas, and suggested solutions? A well-defined technical contribution may accompany the position paper as an appendix. rob> real world experience in both client-server and hi-end e-commerce. very familiar with the players and solutions. 5. PAPER TITLE: WEB PROJECT DEVELOPMENT (DRAFT - 4 March 01) Web sites are becoming more complex and connecting to critical back-end and legacy systems. When building a web page, web site or web application, rework can be greatly reduced before it is released. Unfortunately, production delays can be caused by rework associated with code bugs, inaccessible information, poor usability, missing content, scope creep, as well as increased costs and rework. Management must have a process in-place to meet schedule, control costs and to provide metrics for analysis. When a web project has a defined process, the opportunity for public embarrassment, loss of sales, increased volume to customer service, and negative write-ups by Wall Street analysts that may impact your stock value will be greatly reduced. Web designer, coder, content manager, graphic artist or other team members must understand their roles and responsibilities. These factors will contribute to a web project not being released on-time and on-budget. One requirement should be to build a Universally Accessible web site. This will ensure the widest possible audience can access the information and is a key part of the process to release a site on-time and on-budget with no errors. Web project development revolves around a high-level model that includes project plan, business and operational requirements, detail design, life cycle development. Any of these can be adapted to meet your own needs. The project plan document should at least include objectives, resources, specifications, infrastructure, dependency/constraints, assumptions/risks, budget, and timeline. If a contract is written, this must specify standards and compliance metrics. For example, many contracts do not mention design requirements such as HTML. The project plan should also include the first draft of the taxonomy or site architecture. The business and operational requirements must be documented and include internal and external requirements, as well as business and operational functional needs. This is the requirements document or project definition plan and must be documented and modified as the scope changes. The detail design document is the technical solution and specifications as required by the business and operational requirements. This will address integration, hardware, software, application and infrastructure solutions. Development occurs as based upon the detail design documentation and there must be consideration for meshing the content design and technical solution to reduce rework. Life cycle development process or web process is the structure for building, testing, accepting, and managing the web site or application. The key foundation for any universally accessible web site is the guidelines and production checks. The guidelines can include the W3C's Web Content Accessibility Guidelines, government requirements or your own standards and style guides. Production checks can be applied to check (as a minimum) the concept, syntax and code; layout, navigation, and graphics; and acceptance testing on multiple browsers and users. As a minimum, this should include configuration management, quality assurance, unit testing, acceptance testing, see Figure 1 Life Cycle Development. Appendix A describes the Flowchart. CONFIGURATION MANAGEMENT. This is the process by which you manage the development process of the concept to production and any changes that may occur. This may include code and content development, release from development to test and production, servers and server software, and the infrastructure. This also includes error or bug tracking. UNIT TESTING. The developer checks their work to the specifications for compliance to the business and operational requirements. Multiple browsers should be used to ensure the information is conveyed and there are no navigation or site usage problems. For example, test to ensure the e-mail functions and the message is received by the recipient, forms are tested and data checked, links are tested. If the design uses queries or updates to modify or retrieve information from the database, then this will need to be tested and verified. The developer can develop scenarios using a spreadsheet to document the process, more commonly referred to as a script. There are also automated testing tools that will record your script and play it back anytime or simulate different browsers. These tests serve as a baseline for the design criteria and also can document the expected results. QUALITY ASSURANCE. The QA analyst would then conduct a Quality Assurance review by using Bobby; and a HTML or CSS code validator and one or a combination of the following tools or methodologies: content review; preview on Lynx, a text based browser; multiple browsers and versions (Internet Explorer 3 and 4, Netscape Navigator 3, 4.x, and Opera); voice-based web browser (pwWebSpeak), and screen readers (IBM Home Reader, WIN Vision and Jaws For Windows), Palm devices, Pocket PCs, wireless devices, StarBase's StarSweeper and WebSite Garage. For example, StarBase's StarSweeper can check for ALT Tags, Title's, Height and Width, build an image library from the web site and other quality assurance functions. StarTeam, Mercury's Astra Site Manager and Webtrends all perform link analysis. Other items that can be checked are, does the page print properly in black and white and color? Can the all print and graphics be read as the screen is resized? Basically, this incorporates internal or external reviews or peer reviews, and applying third party tools. As we speak more and more tools are being developed for the web quality assurance. VENDOR OR CUSTOMER ACCEPTANCE TEST. This is formal acceptance by the vendor/customer as based upon customer requirements and a test plan. This procedure can be either a simple checklist or a more formal test plan. Usability testing can also be used and can be either a simple or more formal. Users who are not associated with the design can conduct this or an independent third party can provide a review of the design concept. Design Reviews should also be conducted with the customer to ensure the design is what they envisioned. Design reviews should not occur when the site is delivered, rather using an iterative approach. Automated test tools can be used here to reduce costs and scripts can be reused during functional, performance and stress testing. CLOSING COMMENTS: Requirement management and traceability of requirements are the cornerstone of any successful project. Each time there is a change to the requirement or there is a schedule slippage, then the dependencies and constraints must be reviewed. ---------------------- APPENDIX A The visual flowchart is described here in text. The keys to any project using the life cycle development approach are the business rules, the technical and functional design reviews, and tracking the project using a scheduling tool. This flowchart describes the major tasks as identifying the project, requirement definition, test plan, site design, quality assurance, unit test, and acceptance testing is started. Once requirement definition is complete then two tasks can start, requirements definition and the test plan. Before the design is moved between the major tasks, the code can be baselined and submitted to configuration management or an automated configuration management tool could be used to manage the code. At this point the project lead and/or customer also review the design. If the design fails the review, then a corrective action report is issued and rework begins to correct the discrepancy. If the design passes and the customer is satisfied, then design moves to the next task. When the unit test and the test plan are complete, then acceptance testing can begin. If the acceptance test fails, then a corrective action report is issued and rework begins to correct the discrepancy. If the project passes and the customer is satisfied, then project is promoted to production, which can involve alpha or beta test. Each major task has inputs that can be used as a metric or requirement and the inputs to: Requirements definition are business rules; scope and definition; allocation of resources, timeline and budget; design requirements, guidelines, and flow chart; database design and schema: and, security. Site Design which includes web applications and database are content, usability, graphics, layout, HTML or CSS, web application development, email, forms, and banners. Quality Assurance are content review; Bobby; layout; code validator; view on lynx, pwWebSpeak, multiple graphical browsers and versions; review and use email and forms; print in black and white, and color; and spell check. Unit Test are use cases, test scripts, test web applications and database. Test Plan are test environment involves use cases, test criteria, and test scripts; and test such as usability, performance, functional, regression, and/or load, which incorporates concurrent users.