Although expert systems have been in use for many years, evaluation techniques are neither frequently applied nor widely known. Our research group has been investigating techniques for evaluating expert systems since 1989, and we have developed a methodology for the systematic design and implementation of expert systems of many different kinds. Our method begins with the preparation of a specification that captures the needs of the application. During the implementation of the expert system, we recommend verification, to detect internal inconsistencies in the knowledge base, and validation, to check that the system is behaving in accordance with the specification. Verification can be partly automated: we review our own tool, COVER, and its application to verification of working expert systems.