The Little Book of Website Quality Control pdf pdf

  O’Reilly Web Platform

  The Little Book of Website Quality Control Jens Oliver Meiert

The Little Book of Website Quality Control

  by Jens Oliver Meiert Copyright © 2017 Jens Oliver Meiert. All rights reserved. Printed in the United States of America. Published by O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 95472. O’Reilly books may be purchased for educational, business, or sales promotional use. Online editions are also available for most titles ( . For more information, contact our corporate/institutional sales department: 800-998-9938 or

  corporate@oreilly.com.

  Editor: Meg Foley Production Editor: Shiny Kalapurakkel Copyeditor: Octal Publishing, Inc.

  Interior Designer: David Futato Cover Designer: Karen Montgomery October 2016: First Edition

Revision History for the First Edition

  2016-09-20: First Release The O’Reilly logo is a registered trademark of O’Reilly Media, Inc. The Little

  

Book of Website Quality Control, the cover image, and related trade dress are

trademarks of O’Reilly Media, Inc.

  While the publisher and the author have used good faith efforts to ensure that the information and instructions contained in this work are accurate, the publisher and the author disclaim all responsibility for errors or omissions, including without limitation responsibility for damages resulting from the use of or reliance on this work. Use of the information and instructions contained in this work is at your own risk. If any code samples or other technology this work contains or describes is subject to open source licenses or the intellectual property rights of others, it is your responsibility to ensure that your use thereof complies with such licenses and/or rights. 978-1-491-96633-4 [LSI]

Foreword

  Website quality is often an overlooked and underrated web development topic. I could go on about my personal philosophy, but what matters most is the person who shaped and guided my website quality ideology perhaps more than any other developer with whom I’ve ever worked: Jens Oliver Meiert.

  Over the years, I’ve followed Jens through his ideas, blog posts, and books. When I finally got the chance to work closer with him, I began to really understand his philosophy behind developing and maintaining websites alongside his relentless focus on quality. We spent lots of time debating the merits of what quality meant, championing its importance, and making it work in fast-paced environments in which quality is more commonly a convenience rather than a requirement.

  He was first to begin promoting the positive impact of quality on development, performance, collaboration, and overall maintenance in large web development teams. To operate at scale, the focus switched from policing to advocating for quality while centering efforts around establishing value behind tools and automation. For Jens, quality became a benchmark of professionalism and symbol of craftsmanship that still holds true today.

  This little book is a glimpse into the world of website quality from the perspective of a passionate developer who strives to educate other developers and improve websites. You will learn everything from topics related to website quality, putting it in practice, and the tools to help with the process.

  

Acknowledgments

  Quality, as this book aims to show, is such an important matter that it would be surprising if I, writing about the very subject, could not name the people to whom I’m indebted. Lars Röwekamp and Jens Schumann, executives of

  n Oldenburg, Germany — where I learned to

  improve my code — are the first to come to my mind. Yet, as an important goal and a sign of professionalism, the mindset of quality comes close to ideas like “if something’s worth doing, it’s worth doing well,” too. This little book would not exist were it not for old role models and old sayings, as well as for all the people who have made it reality. For that, I want to thank very much my former colleague, manager, and good friend Kevin Khaw for the Foreword. Finally, I want to recognize the entire O’Reilly team for their swift, competent, and kind help. When this book turns out well, it will have been because of them. Thank you all.

  

The Little Book of Website

Quality Control

Introduction

  There’s always something professional about doing a thing superlatively well. Colonel Pickering, in George Bernard Shaw’s Pygmalion

  What is a good website? For us web professionals, this is a most important question. Building good websites is part of our professional ethics, stemming from a code of honor that asserts that we can be professionals only if our work is good.

  But how do we know that our work — that our websites — are good? Many criteria and examinations come to mind, but there is actually an entire field dedicated to informing us: quality management. Quality management, which can be broken down into quality planning, quality control, quality assurance, and quality improvement, comes with a host of methods to not just identify (control) and fix (improvement) defects, but to avoid them systematically (planning, assurance).

  This little book, which is the third in a series of books that cover important

  

  what’s wrong, we won’t fix or plan to avoid what’s wrong. Still, it’s going to share advice on how to tie quality to our processes, for it is more useful to learn how to fish than to hope to be fed every day. The book will do all of this in a loose and relaxed manner, however, and not to the extent ISO standards would cover quality. Finally, and although this should matter only in few instances, the book hinges more on websites rather than web apps. That is usually relevant when it comes to standards and development best practices, but there are some differences in how one should go about quality checking of sites as opposed to apps. What follows will work slightly better and allow for more complete quality control of websites.

What Is Quality Control?

  Wikipedia defines quality control (often, but rarely in this book, abbreviated as “QC”) as “a process by which entities review the quality of all factors involved in production.” ISO 9000, also through Wikipedia, is said to define quality control as “a part of quality management focused on fulfilling quality requirements.” Google, without offering attribution, understands quality control to be “a system of maintaining standards in manufactured products by testing a sample of the output against the specification.” We want to use a definition that is stricter on the one end and more lenient on the other: “Website quality control entails the means to determine (a) whether they meet our expectations and (b) to what degree our websites meet professional best practices.” “Means,” then, will refer largely to infrastructure — that is, tools. Also, as stated a moment ago, we’ll look at some processes and methods useful to improve, not just measure, the quality of our work.

Why Is Quality Control Important?

  Quality control is — for that decisive reason — important, because without it we have no robust way of determining whether what we do and produce is any good. Quality control, therefore, is a key differentiator between professional and amateur work. Consistent quality is the mark of the professional.

  Quality control, finally, saves time and money and sometimes nerves, particularly in the long run. But what are our options to control the quality of our websites? We’ll look at that now in more detail.

The Great Website Quality Control Rundown

  When you think about the quality of websites, what comes to your mind? How would you test — and what would you test for? Take a moment to ponder this question.

  We should readily recall some tools and tests known to us from our everyday work. Some of us might remember validators; some might think of linters; and for others, security suites pop into their minds. What do we test for? Not only spec compliance as with validation, or code formatting with linters, we can — and should, as professionals — test for everything we can get our hands on. Going through what we can get our hands on and showing what tools we have at our disposal is the purpose of this section. For each area, in descending order of importance, we’ll go over why quality control matters and look at available tools and automation options. The tools are mostly web-based; applications have been left out, and exceptions noted. The idea was not to shoulder the probably impossible task of listing and evaluating all tools, but to give the interested reader a starting point to evaluate production sites instantly. (Note that despite all diligence exercised in retrieving and evaluating these tools, neither the author nor O’Reilly Media assumes responsibility for the usefulness, reliability, or accuracy of the tools listed.)

Security

  Security can be considered the most important thing to test for because whatever it is we and our users are doing, if the security of it is compromised, we and our users are compromised and can be harmed in a number of ways, from losing data (and privacy) to losing the service itself, and possibly much more. We stand and fall with the security of the services that we offer. Security is critical, but it’s also tricky in the light of website quality control. For one, websites — rather than apps — might or might not deal with any personal and sensitive information or even ask their users to provide such information. For another, security is not trivial to test and not necessarily to be evaluated all from the outside. This leads us to the situation in which, although security is so crucial, there’s not that much to add outside the context of dedicated information security.

  Let’s go over some tools that are available to us (again primarily with a focus on web-based tools). The responsible website owner should — and will — employ additional, notably inner-organizational means to ensure that his services and the data those services gather are secure.

  

  

  

  

  

  

  

  

Accessibility

   , accessibility “refers to the design of products, devices,

  services, or environments for people with disabilities”; “the concept of accessible design ensures both ‘direct access’ (i.e., unassisted) and ‘indirect access,’ meaning compatibility with a person’s assistive technology (for example, computer screen readers).” Accessibility is one of the most important ideas to understand, for the Web is all about accessibility — accessibility is, in fact, the Web’s biggest promise. Accessibility has often been linked to making data available to machines — like search engine bots — but it is, first and foremost, about making information available to people.

  Legislation exists in many countries — like in the United States,

   in France — that supports and presses for

  

  

3C)

  have gone through two versions and are, though not perfect, robust. There are a good number of tools, as we shall see. And still, accessibility remains one of the industry’s stepchildren. Independent of whether we would be held accountable legally, accessibility is one of the most important things that we should cater to on our sites.

  

  

Usability

  Usability is one of the most critical areas to focus on when running a website, hence it deserves special mention here. Because it is not a technical concern, however, it’s only mentioned in passing. If you are interested in this and not already familiar with designing and keeping a usable website, you might want to check out some key resources for further information, like

Performance

  

  

or

  good reason! Speed is a key factor for a positive user experience — so crucial, in fact, that it’s one of the determinants for customer satisfaction and conversion. There are many studies that back performance up as important for quality websites, and Six Revisions (with , Impressive Webs (with , and

  Today, test tools abound for performance measuring. Here are some of them:

  

  

Functionality

  Another user-centered matter concerns site functionality and workflows: can we get from A to B? Fortunately, even though this is important to ensure, it’s easy to verify — so easy in fact, that most of the time functionality testing is “implied.” How so? What have we just said? Essentially, that we’d know whether when building and extending our sites and their functionality, we can’t get to what we just built and extended. Whether we’d add a new registration page or post a new press release, we typically notice as part of the testing and launch process whether it actually made it live and can be found. Thus, it’s advantageous to tell by other means whether everything’s where we expect it to be, and whether it works as we expect it to work. Here are some tools to do that:

  

  

Maintainability The first, rather technical item to watch out and test for is maintainability

  Maintainability? Yes, the degree of our ability to efficiently make changes to our design and code. This degree, this efficiency, makes for one of the most crucial aspects of web development — and at the same time it’s regularly among the most neglected ones.

  What is maintainability, what does this ability and efficiency really refer to? That is a valid question in light of the fact that many long years of neglect have yielded little documentation and few best practices pertaining to maintainability and maintenance — that is the “law” I’ve coined in despair. One cannot not maintain originates in the fact that anything we produce must at some point be dealt with again, whether by us or by others.

  (As for tools, only sadness seems to be available as of yet.)

   (bookmarklet)

Semantics

  Semantics was one of the hot topics of the last decade, when the field of web development went through its first stage of maturation and developed a better sense for how HTML markup should be written. This awareness was motivated in part by a higher and closer regard for web standards — mostly in relation to the underlying specifications — and in part by stronger emphasis on the need for websites to be more accessible.

  Today, the hype has long moved on to web apps, and tolerance has stretched a bit again to “anything goes.”s grown and matured as both tool and excuse. ve, so far, also done their share to allow a mindset of “semantics is not important anymore” to flourish.

  Is this all justified? No. But the situation is complex. To make a bit more sense of it, we should break things apart. For semantics, we should look at where it’s coming from and what people mean when they talk about it refers to authority — and consensus-based meaning. The W3C or the WHATWG — the authorities — define in specifications what each element and attribute means. Vendors and the web development community buy into these definitions. Sometimes, as for consensus, they disagree (voiced in standard controversies) or they add their own solutions (as wit ). ID and class names represent the most minimal form of consensus on meaning, sometimes just brought forth by a single developer. For new technology and techniques, we find ourselves in a conflict. The standards community has given in to a form of arms race against itself. After years of slow progress, low output, and seeming indifference to the user and vendor community, suddenly those involved in standards want to micromanage everything. This has led the specifications to grow in number and size, and we’ve still not been able to take inventory of everything we’re now capable of doing. With that growing complexity, we risk losing it all,

  

, or so I feel. But with respect to semantics, we’re right

  at the seam, and things have become loose there. No one focuses any longer on the meaning of what documents and templates describe anymore. Semantics will make it back to our agendas for the following reason: we can only get the most out of code and information within code, ensure best access to that code, and work best together on code if the code has meaning, or is used according to the meaning it had been assigned.

  There are a number of semantics checks and generators for enriched markup available:

  

  (Some accessibility and validation tools cover aspects of semantics, too; to avoid repetition and not distort the view on the “purely semantic” testing options, these have not been duplicated here.)

Validation

  Validation as a measurable priority had peaked, too, before falling from grace. But popularity does not correlate with validity (hah!), accuracy, or quality, and one can argue well how validation is a relevant factor for website quality. It is such an important factor for that reason that only validation ensures we’ve been coding according to the different specs — a condition that corresponds with professionalism, or at least professional ethics.

  Although this is almost all there is to say about validation, the web development landscape begs to differ, most notably when it comes to HTML and CSS. HTML is more stable and used in more places than CSS. CSS is under heavier development and occasionally experimental, yet style sheets live in relatively few places (CSS being “orthogonal” to HTML makes for its relevance in maintainability). That means that validation for HTML is far more important than for CSS. Because HTML is stable, it is easier to validate, and because it’s so prevalent — all over the place in templates and documents — it’s also much more critical to validate. We are in the envious situation of having a great many, good-quality validators at our disposal:

  

  

  

  

  

  

Layout and Design Consistency

  Normally filed under other categories, consistency-checking is also a key factor in website quality control. What is it normally filed under? Browser- testing. That is, as we’ve just noticed, a misnomer: we’re not testing browsers, we’re testing the layout and design of our websites for consistency across browsers and devices. Making this little differentiation makes clear what tools we can use: browser and device emulators, of which there are plenty. The testing landscape has changed significantly over the years, and although it’s become a big issue to test for the slew of devices, web-based tools that allow quick comparisons have matured to the extent that we have to install fewer user agents than we used to. (The normalization and unification of rendering engines has contributed to improvements, too, considering thats now by far the most common engine.) To test layout and design, we can use tools and services like the following:

  

  

Typography

  Typography is not what the common website owner will connect to website quality — and, sadly, neither might every designer — but it is, of course, an important aspect of every website. Typography is all the more important, as the amount of content a website actually has increases — we remind ourselves of Robert Bringhurst, who taught us that “typography exists to honor content.” But why test? Obviously, for the reasons that typography matters — and so we’re not just running into William Bruce Cameron’s (and apparently not Albert Einstein’s) famous statement, “Not everything that counts can be counted, and not everything that can be counted counts.” Typography can be counted — the surprise of this section, perhaps — and typography does count. Not many tools are available to test for good typography, but still there are some that make our typographic jobs easier:

  

Code Quality

  Venturing again into the realm that’s invisible to the users of our sites, code quality has many attributes, some of which we’ve already addressed. Here, code quality will touch on general overall checks, as well as on linting — that is, analyzing code for potential programmatic and stylistic errors (which we’ll focus on separately in the next section). Linting comes out of computer programming, something we don’t file web development under, but linters are by now available for pretty much anything, including CSS. Some general quality-related tools include the following:

  

  

Coding Standard Compliance

  Last but not least and not to be missed: we want to and can measure the conformity and consistency of our code. For that — and you might remember

  

(or want to check it out) —

we look at common coding practices, and, notably, our coding guidelines.

  The listed quality checks, now, simply look at compliance, comparing code strings against a predefined catalog of rules. Only lowercase element names in HTML? Only single quotes in CSS? No global variables in JavaScript, if the more experienced scripter fancies? No BOM in text files? This is done by website quality checks against code standards, such as the following:

  

  After we have properly formatted our code and made it consistent, however, we might still want to make it production-ready by compressing and minifying it. Our work files should be easy (to understand) for us and our production files should be easy (to parse and transfer) for others. For this there are additional tools.

  

Quality Control in Practice

  With the overview and tools we’ve now gathered, what does quality control of websites look like in practice? Is this all we need? What pitfalls are there? What do we need to watch out for? There are indeed a few things to consider.

Training

  Training is a first, very important step toward successfully implementing quality control practices. Training should be understood very generally here, for any professional training that teaches people how to produce better work will at the same time help quality. In that sense, training will not be elaborated on here. However, training can also be offered and attended specifically to establish a quality mindset, to improve the associated skills, and to promote tools that measure and improve quality. (As such, training will also be linked to the following points, but not be called out again.)

  Mindset The most important factor when it comes to practical quality is the mindset.

  The greatest quality initiative is not worth much if it’s not clear to the team and enterprise why quality matters, and how quality is beneficial for them. The key to a conducive mindset is communication; a potential trap is rewards.

Communication

  Communication is the primary way to spread and instill a mindset of quality, with quality as the goal and guiding principle. This communication should sporadically repeat, but doesn’t need to consist of overt reminders on why quality matters and how it benefits everybody. If we want to repeat the essence of both answers here, then: quality is important to deliver work that is good by professional standards and benefits everyone, because products of quality are easier and more pleasant to consume and work with. Communication is, for that reason, important because we all benefit from being reminded of our priorities. Based on this, communication can now range from bylines in regular company and team communications, thanking everyone for the vigilance to produce good work, to dedicated emails emphasizing the goal and importance of quality.

  Rewards Rewards, then, are no key for a quality mindset. We should avoid rewards.

  Rewards might compel people to participate in quality-related events — see

   — but they don’t necessarily compel people to embrace quality

  (in fact, they rarely do). They seem to distract from, rather than point to the message. I’ve had some such experiences with international teams, whereby rewards better understanding of, or a higher motivation, for more quality. What was more effective was communication, notably through managers. Hierarchy and authority can, of course, be great facilitators in our quest to improve the quality of our work.

Automation

  Insist on automation. Insist — on automation. Of course, we’re inclined to say — once we’ve automated all quality-relevant tasks and processes, what’s there to be missed, how could we get anything wrong? But we haven’t progressed quite yet to the point that we’re able to automate everything. Our reality is that not enough is being automated, and sensitizing for that is what this very practical recommendation aims at. We must automate as much as we can; we must insist on automation. We have discussed many tools so far and are going to summarize them again (it follows a section listing all our tools) — some of those are very easy to implement and automate, but for others, per our now-defined goal to automate and insist to automate, will require a bit of an effort. A discussion on how to write and run automation scripts on different platforms is beyond the scope of this little book, but if you’d like to see what that can look like,

  

Enforcement

  In the context of coding guidelines, we’ve learned to differentiate between descriptive or positive guidelines and those that are prescriptive or normative (see ). The difference is mostly practical — when code quality is at a high level, we merely document (describe) what everyone’s already doing; when code quality is low, we tell everyone what to do (prescribe). However, as it pertains to much of what we’ve discussed so far, this requires some way of enforcement. How do we enforce quality? This is still a difficult question; so difficult, in fact, that in practice we often see it dodged. Why? Because enforcement easily upsets people, and we don’t want to upset people, not even — or especially — when they report to us. But we’re on the right track here.

  Enforcement happens top-down. Executives and managers are to be looked at to emphasize and live quality, to reward good quality, and to — in one way or another — discourage poor quality. How? By doing what we surprisingly forget frequently: measuring quality and tying related metrics to performance evaluations. Two anecdotes illustrate that approach. There’s one tale of a manager who has, despite efforts of his team to up the ante and increase quality in his department, never endorsed, let alone supported or encouraged those team members’ efforts in team communications or goals. That quality initiative’s efforts, witnessed at one point at a major corporation, suffered a significant blowback.

  At the same firm at another time, managers called out the importance of quality and used available data points, like performance scores as measured

  se to

  performance evaluations, that precise step was on the table as to have strong encouragement and — ultimately enforce — higher quality.

Logistics

  In broad terms, our efforts around quality require logistics. These might consist of the following, listed briefly for inspiration:

  Standards and guidelines documentation

  No quality effort can succeed without standards and guidelines. These can be external, but wherever they can be found, they must still be documented.

  Meta documentation What our quality efforts entail and require must also be documented.

  That…

  Internal websites or wikis

  …is best done on some internal website or wiki. Here, we should gather everything we want, know, do, and plan.

  Dedicated contacts

  Quality stands and falls with people. At least one among them should serve as a primary contact, and that person must not just be responsible and accountable (and laudable), but also discoverable and available.

  Mailing lists

  To coordinate quality efforts, communicate new and updated documentation, and so on, mailing lists are a crucial tool. There might be lists for quality-related teams to lists for the entire enterprise.

  Events

  Google has a practice to host “fix-its” or “fixlets,” events that let the company or departments clean up and improve their work and code base, but quality events can really range from a toast on quality at the daily scrum meeting to external conferences (with company representation) talking about quality. The more a quality initiative grows and matures, the more tools and methods basic items that we can turn to.

Tools

  The following serves as an index of a range of web-based tools, browser extensions, command-line tools, scripts, and bookmarklets. It is not complete; it might lack some important tools; but many tools come with my endorsement, and the promise to also serve others well.

  (By the way, my ite is a hub for web-based testing tools, generators, and anything else web-based that’s useful for web developers and designers. You can find many of the tools listed in this book and more there.)

  Accessibility Analysis (Gecko browser extension) ( ) Accessibility Check (AATT; Automated; command-line tool) ( Accessibility Check (FAE) ) Accessibility Check (WAEX) ( Accessibility Check (WAVE 3.0) Accessibility Developer Tools (WebKit browser extension) ( ) Accessibility, HTML, and Link Check (WebKit and Gecko browser extension) Accessibility Linter ) Accessibility Visualization (script) ( ) AES Encrypter ( ) Android Emulators )

  ARIA Validator (WebKit browser extension) ) Availability Check (CurrentlyDown.com) ( Availability Check (Is It Down Right Now) ( ) Availability Check (Regional; InternetSupervision.com) ( Availability Check (Regional; Site24x7) ) Bandwidth Speed Test

  

  Browser Screenshots (Windows, Mac OS, Android, iOS) ( ) Browser Screenshots (Windows, Mac OS, Linux) ( ) Browser Test Automation (Sahi; browser extension) ( ) Browser Test Automation (Selenium; browser extension) ( Browser Test Automation (Squish) ) Browser Test Automation (Watir; browser extension) ( CMS Detector ( ) Code Formatter (Code Beautifier) )

  Code Formatter (Pretty Printer) ) “Cognitive Walkthrough for the Web” Tools Colorblind Web Page Filter ( Color Contrast Analysis (Jonathan Snook) ( Color Contrast Analysis (WCAG Contrast Checker; Gecko browser extension) ) Color Contrast Analysis (WebAIM) ( ) Color Deficit Emulation ( ) Color Selector ( Cookie Editor (WebKit browser extension) ( CSR Decoder ( CSS Accessibility Analysis ( ) CSS Analysis ( CSS Compressor ( CSS Formatter (CSS Portal) CSS Formatter (Lonnie Best) ( CSS Linter ( CSS Optimizer and Formatter (CSS Beautifier) CSS Optimizer and Formatter (CSScomb) (

  CSS Validator (W3C) ) CSS Validator (WDG) DAML Validator ) Design Responsiveness Test ) DNS Analysis ( DNS Propagation Check ( Download Time Calculator ( ) Edge Compatibility Test Email Blacklist Check ( ) Font Combinator ( Font Comparis Font Determiner (WhatFont; WebKit browser extension) ( ) Font Determiner (WhatTheFont) ( Font Fallback Determiner (bookmarklet) ) FTP Server Test ( Golden Ratio Typography Calculator ( Google Webmaster Guidelines Check ( hCard Generator .htaccess Validator ( HTML Compatibility Check for XHTML ( ) HTML Compressor HTML Compressor (html-minifier) ( ) HTML Formatter HTML, CSS, and Conformance Validator ( ) HTML, CSS, and JS Formatter HTML Outline Extractor ) HTML Validator (W3C) ( HTML Validator (WDG) ) HTML 5 Validator ( ) HTTP Header Editor (Request Maker; WebKit browser extension) ( ) HTTP Header Editor (Tamper Data; Gecko browser extension) ( ) HTTP Header Test ( ) HTTP Header Test (Advanced) ) Image and Link Analysis ( )

  Internationalization Chec ) Internet Explorer Viewer (IE NetRenderer) ( Internet Explorer Viewer (URL2PNG) ( )

  IP Address Trace (

  IP Determiner (DSLReports) (

  IP Determiner )

  IP Spam Chec ) JavaScript Compressor ) JavaScript Linter (JSHint) JavaScript Linter (JSLint) JSON Formatter ) JSON Validator ( ) Layout Bug Test (script) ( Link Analysis Link Check (LinkTiger) ( Link Check (Site Valet) ) Link Check (W3C) ( Load Time and Object Chec Load Time Check (

  Lynx Viewer ) Malware and Security Scanner ) Markup Validator ( MD5 and SHA Hash Generator ( MD5 Encrypter Microformat Extractor and Transformer ( ) Mobile Emulator ( ) Mobile-Friendliness Chec MX L ) Network Intrusion Prevention and Analysis (Kismet; command-line tool) ) Network Intrusion Prevention and Analysis (Snort; command-line tool) ( Open Graph and Semantics Extractor ( ) Opera Mini Emulator ( Password Generator (Arantius.com) ( Password Generator (GRC) ) Password Generator (Packetizer) ) Password Security Check Password Security Check (GRC) ( )

  Performance and Scalability Test (Pylot; command-line tool) ( ) Performance and Scalability Test (Tsung; command-line tool) ( ) PGP Decrypter ( ) PGP Encrypter PGP Key Generator ( ) Ping Tool Ping Tool (Regional) ) P3P Validator ) QA Style Sheet (bookmarklet) ( ) RDF Validator Reputation and Safety Chec ) Responsiveness Test Reverse IP Lookup ( ) Rich Pin Validator ) RSS and Atom Feed Validator ( SADiC Validator SBML Validator ( ) Schema Generator ( )

  Section 508 Chec ) Section 508 and WCAG 1.0 Check (Site Valet) ( Section 508 and WCAG 2.0 Check (Cynthia Says) ( ) Section 508, WCAG 2.0, and BITV 1.0 Check ( Security Breach Victim Chec Security Analysis (OWASP Mantra; browser extension) ( Semantics Check (Gecko browser extension) ( Semantics Extractor ( Semantics Parser and Extractor ( SHA-512 Hash Generator Sitemap Validator SPDY Implementation Check ( SQL Injection and Database Check (command-line tool) ( SQL Injection Scanner (command-line tool) ( ) SQL Validator ) SSL Certificate Check (DigiCert) (

  SSL Client Chec ) SSL Scanner (command-line tool) ( ) SSL Server Test ( Traceroute Tool (

  

  Structured Data Test (Yandex) ( SVG Validator ) Traceroute Tool (Visualized) ( ) Trustworthiness Chec Twitter Card Test Type Diff ) Type Live Test Type Scale ( ) Type Scale (Modular) ) UI Test Automation (Ghost Inspector; browser extension) ( UI Test Automation (Screenster) ( ) Universal Validator ) User Agent Detector ( )

  User Identity Generator Viewport Size Determiner ( Virus Scanner Wake-on-LAN Service ) WCAG 1.0 Check (SIDAR) ( ) WCAG 1.0 Check (TAW) ( WCAG 2.0 Check (BOIA) ) WCAG 2.0 Check (Evaluera) Web Application Security Analysis (Canoo; command-line tool) ( ) Web Application Security Analysis (OWASP; server application) ( ) Web Application Security Analysis (Skipfish; command-line tool) ( ) Web App Test Automation (command-line tool) ( ) Web Font Generator ( Website Analysis (Alexa) ( ) Website Analysis (Nibbler) ( Website Analysis (RankFlex) Website Analysis (Site Analyzer) ( ) Website Analysis (StatsCrop) ( )

  Website Analysis (UITest.com) Website Blockade Check for China ) Website Blockade Check for Engla Website Browser and Location Speed Test ( Design Diff (script) ( ) Website Design History (DomainTools) Website Design History (Screenshots.com) ( ) Website Fingerprint Chec ) Website Grader Website Monitoring Service ( ) Website Performance Analysis (GTmetrix) Website Performance Analysis (IISpeed) ( Website Performance Analysis (Page Performance; WebKit browser extension) ) Website Performance Analysis (PageSpeed) ( Website Performance Analysis (Pingdom) ( Website Performance Analysis (WebPagetest) ( ) Website Performance Analysis (YSlow; browser extension)

  Website Review ) Website Technology Analysis ) Website Timer )

  XHTML 1.0 Schema Validator

  XML Schema Validator ( )

  XML Validator )

  XML Well-Formedness Check and Validator )

Summary

  This was a brief treatise on the subject of website quality control. What have we learned? Quality management consists of quality planning, quality control, quality assurance, and quality improvement, and it comes with a number of methods to identify (control), fix (improvement), and avoid defects (planning, assurance). Website quality control entails the means to determine (a) whether websites meet our own expectations and (b) to what degree our websites meet professional best practices. Quality control is important because otherwise we would have no way of knowing whether what we do and produce is any good. Quality control is professional; quality control saves time and money and sometimes nerves. Quality control entails and must include a great number of tests, covering security, accessibility, usability, performance, functionality, maintainability, semantics, validation, layout and design consistency, typography, (general) code quality, and coding standard compliance. In practice, quality control requires training, depends on our mindsets, stands and falls with automation, and needs enforcement. And, finally, there are a gazillion tools for quality control and assurance. Quality management is important, and no website should go without a plan for quality control.

About the Author

  Jens Oliver Meiert is a German philosopher and developer. Jens, who has

  written seven or so nonbestselling books about a variety of topics (the most recent bei, is currently deepening his philosophy studies at the Universität Hamburg. He is an invited expert and working group member at thend has been a technical lead at companies like

  

. Between coding and thinking, Jens has traveled the world

  (18 countries on 5 continents in 2012, 48 countries on 6 continents from 2013–2015) and run a number of art-political campaigns (the most recent bei. He loves good coffee, men’s fashion, and Werder Bremen. Online, he lives at ay hello.