1. A computer-implemented method for selecting test items from an item bank for a test, the method comprising: accessing a plurality of test items in an item bank, wherein each test item includes a multi-attribute discrimination index, wherein a multi-attribute discrimination index includes an attribute value for each of a plurality of tested attributes, wherein an attribute value identifies an ability of a test item to assess a particular tested attribute; identifying one of the tested attributes; selecting a first test item for a test from the item bank based on the identified attribute and the multi-attribute discrimination indexes of the test items, remaining unselected items from the item bank being unselected test items; identifying a least tested attribute based on the multi-attribute discrimination indexes of selected test items; assigning a weight to each tested attribute based on the identified least tested attribute; for an unselected test item, evaluating the test item using a processing system to determine whether one or more first constraints would be satisfied if the test item were selected for the test in combination with the first test item selected and any other previously selected test items; selecting a next test item for the test from the unselected test items that satisfy the one or more first constraints using a weighted sum based on the multi-attribute discrimination indexes and the assigned weights; repeating the evaluating and the selecting a next test item for the test until one or more second constraints are satisfied; and storing selected test items for the test on a computer-readable memory.