A well-constructed test sheet not only helps the instructor evaluate the learning status of the students, but also facilitates the diagnosis of the problems embedded in the students' learning process. This paper addresses the problem of selecting proper test items to compose a test sheet that conforms to such assessment requirements as average difficulty degree, average discrimination degree, length of test time, number of test items, and specified distribution of concept weights. A mixed integer programming model is proposed to formulate the problem of selecting a set of test items that best fit the multiple assessment requirements. As the problem is a generalization of the knapsack problem, which is known to be NP-hard in the literature, computational challenge hinders the development of efficient solution methods. Seeking approximate solutions in an acceptable time is a viable alternative. In this paper, we propose two heuristic algorithms, based upon iterative adjustment, for finding quality approximate solutions. Extensive experiments are also conducted to assess the performances of different solution methods. Statistics from a series of computational experiments indicate that our proposed algorithms can produce near-optimum combinations of the test items subject to the specified requirements in a reasonable time.