Estimating the Number of Test Workers During Software Testing Process Using Artificial Neural Networks Alaa F. Sheta, Sofian Kassaymeh and David Rine Abstract—On time and within budget software project devel- opment represents a challenge for software project managers. Software management activities include but not limited to: estimation of project cost, schedules development, meet require- ments and complies with standards. Recruiting development team members is a sophisticated problem for software project manager. Since the utmost expense in software development effort is manpower, software models for estimating the effort required to complete a project. This effort estimate can then be converted into dollars based the proper labor rates. An initial development team needs to be selected not only at the beginning of the project but also during the development process. It is important to allocate the team of the project and efficiently distribute their effort during the development life cycle. In this paper, we provide our initial idea of developing a estimation model for defining the required number of test workers of software projects during the testing process. The developed models utilize the test instance and the number of observed faults as input to the developed models. Artificial Neural Networks (ANNs) successfully build the dynamic relationships between the inputs and output and produce and accurate predication estimate. I. I NTRODUCTION ”Software is a place where dreams are planted and night- mares harvested ... a world of werewolves and silver bullets.” This quote from Brad Cox [1] defined the challenges for software project managers today. The software project manager needs to have the skills, techniques and monitoring and control tools to provide a successful software develop- ment. The measure of success includes: meet schedule, better budget distribution, manage human resources and adapting with environment changes. Intelligent project management requires many talents and skills. In 1987, the IEEE stan- dards provide the following definition of software project management: ”Software project management is the process of planning, organizing, staffing, monitoring, controlling, and leading a software project.” Software development has long been perceived as a risky business [2]. Project manager can always try to estimat the required resources and plan a schedule for deliverable but there is no guarantee that this what will happen unless a careful follow up plan in maintain. His/her ability to identify A. F. Sheta is a Professor of Computer Science, Computers and Systems Department, Electronics Research Institute (ERI), Cairo, Egypt (asheta66@gmail.com) S. Kassaymeh is a Teaching Assistant with the Information Technology Department, Taif University, Taif, Saudi Arabia (samsaak@gmail.com) D. Rine is a Professor Emeritus of Computer Science with the Com- puter Science Department, Volgenau School of Information Technology and Engineering, George Mason University, Fairfaxm VA 22030, USA (drine@cs.gmu.edu) risks in advance could help in including additional time to recover and reduce the consequence losses. According to Dr. Patricia Sanders, Director of Test Systems Engineering and Evaluation at OUSD, in her 1998 Software Technology Conference keynote address, 40% of the DoD’s software development costs are spent on reworking the software, which on the year 2000 equal to an actual loss of $18 bil- lion. Furthermore, Sanders stated that only 16% of software development would finish on time and on budget. It was also stated in [3] that: Given that software-intensive projects are among the most expensive and risky undertakings of the 21st century, the investment in weapons from fiscal years 2003 through 2009 will exceed $1 trillion. Furthermore, many of the DoD’s most important technology projects will continue to de- liver less than promised unless changes are made. Improving how we acquire software-intensive sys- tems is both long overdue and an imperative. In fact there are common problems which could happen whenever we build a software system. The source of these problems could be one of the following reasons: • insufficient requirements for the project • inadequate financial resources • loss of coordination because of many vendors • staff turnover Staff turnover means frequent replacement of the develop- ment personnel. This in fact is one of the significant problems a software project manager could deal with. Software life cycle development includes testing of the software. This pro- cess requires a significant effort. It is defined as the process of executing a program with the intent of finding software bugs, errors or any defects [4]. It is also the process of validating and verifying that the developed software program will work and satisfies the needs of stakeholders. Software testing to be implemented needs a team of qualified personal. The team size depends on many factors. They include the size and complexity of the developed soft- ware or program [5]. In fact, software development process is all about people. This can be seen from the software development process shown in Figure 1. People have to understand the project requirements, develop project plan and design, deployment of the project, test and validate the business requirements and finally fix bugs if any [6]. In this paper, we provide a non-parametric ANN model for estimating the number of test workers required during the software testing process. The number of required test