In manufacturing and design, a mockup, or mock-up, is a scale or full-size model of a design or device, used for teaching, demonstration, design evaluation, promotion, and other purposes. A mockup may be a prototype if it provides at least part of the functionality of a system and enables testing of a design. Mock-ups are used by designers mainly to acquire feedback from users. Mock-ups address the idea captured in a popular engineering one-liner: "You can fix it now on the drafting board with an eraser or you can fix it later on the construction site with a sledge hammer".
Mockups are used as design tools virtually everywhere a new product is designed.
Mockups are used in the automotive device industry as part of the product development process, where dimensions, overall impression, and shapes are tested in a wind tunnel experiment. They can also be used to test consumer reaction.
Mockups, wireframes and prototypes are not so cleanly distinguished in software and systems engineering, where mockups are a way of designing user interfaces on paper or in computer images. A software mockup will thus look like the real thing, but will not do useful work beyond what the user sees. A software prototype, on the other hand, will look and work just like the real thing. In many cases it is best to design or prototype the user interface before source code is written or hardware is built, to avoid having to go back and make expensive changes.
Early layouts of a World Wide Web site or pages are often called mockups. A large selection of proprietary or open-source software tools are available for this purpose.
Mockups are part of the military acquisition process. Mockups are often used to test human factors and aerodynamics, for example. In this context, mockups include wire-frame models. They can also be used for public display and demonstration purposes prior to the development of a prototype, as with the case of the Lockheed Martin F-35 Lightning II mock-up aircraft.
Mockups are used in the consumer goods industry as part of the product development process, where dimensions, human factors, overall impression, and commercial art are tested in marketing research. Mockups helps to visualise how all design decisions play together, they are convincing and closely resemble the final product, it can be easily revised rather than much later in production stage, It also helps in visualisation of package design projects in 3D & speed up approvals.
Mockups are commonly required by designers, architects, and end users for custom furniture and cabinetry. The intention is often to produce a full-sized replica, using inexpensive materials in order to verify a design. Mockups are often used to determine the proportions of the piece, relating to various dimensions of the piece itself, or to fit the piece into a specific space or room. The ability to see how the design of the piece relates to the rest of the space is also an important factor in determining size and design.
When designing a functional piece of furniture, such as a desk or table, mockups can be used to test whether they suit typical human shapes and sizes. Designs that fail to consider these issues may not be practical to use. Mockups can also be used to test color, finish, and design details which cannot be visualized from the initial drawings and sketches. Mockups used for this purpose can be on a reduced scale.
The cost of making mockups is often more than repaid by the savings made by avoiding going into production with a design which needs improvement.
The most common use of mockups in software development is to create user interfaces that show the end user what the software will look like without having to build the software or the underlying functionality. Software UI mockups can range from very simple hand drawn screen layouts, through realistic bitmaps, to semi functional user interfaces developed in a software development tool.
Mockups are often used to create unit tests - there they are usually called mock objects. The main reasons to create such mockups is to be able to test one part of a software system (a unit) without having to use dependent modules. The function of these dependencies is then "faked" using mock objects.
This is especially important if the functions that are simulated like this are difficult to obtain (for example because it involves complex computation) or if the result is non-deterministic, such as the readout of a sensor.
A common style of software design is Service-oriented architecture (SOA), where many components communicate via protocols such as HTTP. Service virtualization and API mocks and simulators are examples of implementations of mockups or so called over-the-wire test doubles in software systems that are modelling dependent components or microservices in SOA environments.
Mockup software can also be used for micro level evaluation, for example to check a single function, and derive results from the tests to enhance the products power and usability on the whole.
At the beginning of a project's construction, architects will often direct contractors to provide material mockups for review. These allow the design team to review material and color selections, and make modifications before product orders are placed. Architectural mockups can also be used for performance testing (such as water penetration at window installations, for example) and help inform the subcontractors how details are to be installed.