This paper describes a process for selecting and evaluating candidates for component based software engineering. The process is aimed at developers sourcing components from third party vendors. Component metadata and a formalised specification of the ideal component, including context information, are used to drive the process. This specification is used to shortlist candidate components from commercial repositories and to generate the tests and adaptations for the candidate components. Metrics from each stage of the selection and evaluation process are then combined to compare and rank components for inclusion in the target application. This approach to component selection, using context information and formal methods, helps address issues with component sourcing, selection and testing of third party components.