Test design follows test planning. This is where the quality analyst, the tester, and the programmer sit together to figure out a combination of test approaches needed for a particular class, component, or package. For example, GUI classes require a test design with more black box tests, whereas a component that deals with calculating insurance premiums needs many test harnesses and open white box testing. The various test architectures and testing approaches discussed earlier come together in a package test design. While only one test plan is expected in a project, there will be several test designs. Test designs are typically prepared for a subsystem or a component. The test designs are made up of a group of test cases.