We present an analysis of expert reasoning in the domain of computer hardware diagnosis. The methods used in the study include directed interviews, observation and techniques of protocol analysis. The task investigated was the diagnosis of a complex piece of computer hardware. The initial symptoms are usually insufficient to determine the cause of a fault, requiring the acquisition of more data. Many thousands of pieces of data may be sought, but there is only enough time to obtain a few. We found that the experts use strategies to focus and obtain only the most relevant of this data. In addition, they use models of the hardware containing the diagnostically useful information. The strategies used are both powerful and efficient. Although they are specialized and save time and effort in performing the task, they are also general enough to apply to the majority of the problems encountered, including novel faults. As a test of these ideas, a prototype expert system was implemented. It is a model of problem solving and serves as a test of the adequacy of the knowledge described to perform diagnosis.