In general, an experiment is defined as an act or operation for the purpose of discovering something unknown or testing a principle, supposition, etc. In software engineering: a trial that is conducted in order to verify a hypothesis defined beforehand in a controlled setting in which the most critical factors can be controlled or monitored [ISERN]
A formal experiment is a rigorous, controlled investigation of an activity, where key factors are identified and manipulated to document their effects on the outcome. By their nature, since formal experiments require a great deal of control, they tend to be small, involving small numbers of people or events. We can think of experiments as "research in the small".Formal experiments, case studies and surveys are three key components of empirical investigation in software engineering. [Fenton&Pfleeger 1996]