Test Project Management
Managing Test Project
Software testing is a project with almost all the same attributes as a software development project. Software testing involves project planning, project staffing, scheduling and budgeting, communicating, assigning and monitoring work and ensuring that changes to
the project plan are incorporated into the test plan.
Test administration is managing the affairs of test software. It assures what is needed to test effectively for a software project will be available for the testing assignment
Test planning is a major component of software testing, it consists of Planning, Test Design, Test Execution and Test Process activities.
There is no one correct way for budgeting. Some IT organizations use judgment and experience to build the budget; others use automated estimating tools to develop the budget.
The following discussion of budgeting represents some of the better budgeting processes, but not necessarily the only budgeting processes. The tester needs to be familiar with the general concept
of budgeting and then use those processes available in their IT organization.
Every project is unique. Different factors play a role in making one project differ from another. Among the factors that must be estimated are: size, requirements, expertise, and tools.
Test management depends for a major part on estimation and judgment. By judgment we mean, the expertise of the test manager or person responsible for the estimation. Internal factors within the organization and external factors (such as economy and client requests) always affect the project. This is where risk analysis and estimate meet. Estimation involves risk at all levels. We can say, “The importance of estimation cannot be underestimated.”
Factors that influence estimation include, but are not limited to:
• Past data
• Organization culture
• Selection of suitable estimation technique
• Own experience
• Resources available
• Tools at our disposal
Budgeting techniques are techniques to estimate the cost of a budget. The following budgeting techniques are discussed below:
• Top-Down Estimation
• Expert Judgment
• Bottom-Up Estimation
A schedule is a calendar-based breakdown of tasks and deliverables. It helps the project manager and project leader manage the project within the time frame and keep track of current, as well as future problems.
A WBS (Work Breakdown Structure) helps to define the activities at a broader level, such as who will do the activities, but planning is not complete until we attach a resource and time to each activity.
In simple terms, scheduling answers these questions:
• What tasks will be done?
• Who will do them?
• When will they do them?
Ideally, staffing would be done by identifying the needed skills and then acquiring members of the test project who possess those skills. It is not necessary for every member of the test team to possess all the skills, but in total the team should have all the needed skills. In some IT organizations, management assigns the testers and no etermination is made as to whether the team possesses all the needed skills. In that case, it is important for the test manager to document the needed skills and the skills available by the team members. Gaps in needed skills may be supplemented by such individuals assigned to the test project on a short-term basis.
Test Team Approaches
The following four different approaches are used to build a test team:
• Developers become the Test Team Approach
• Independent IT Test Team Approach
• Non-IT Test Team Approach
• Combination Test Team Approach
Supervision relates to the direction of involved parties, and oversight of work tasks to assure that the test plan is completed in an effective and efficient manner. Supervision is a combination of the supervisor possessing the skill sets needed to supervise, and the tasks that contribute to successful supervision.
All test managers are part manager and part leader. Most software test managers will spend most of their time managing and only a part of the time leading. However as testing moves into new areas such as testing to determine whether user success criteria have been achieved, the software test manager becomes more of a leader than a manager.
In discussing leadership, we will address these areas:
• Chairing meetings
• Team building
• Quality Management Organizational Structure
• Code of ethics
Quality Management Organizational Structure
Until approximately 25 years ago almost all organizational structures were hierarchical. Direction came from the top down. The quality revolution significantly impacted the typical hierarchical structure. The structure was flattened, employees were empowered to make more decisions and new approaches to management were introduced.
Software Configuration Management
Configuration Management (CM) is a key component of the infrastructure for any software development organization. The ability to maintain control over the changes made to all project artifacts is critical to the success of a project. The more complex an application is, the more important it is to implement change to both the application and its supporting artifacts in a controlled manner.
Managing change is a process. The process is the primary responsibility of the software development staff. They must assure that the change requests are documented, that they are tracked through approval or rejection, and then incorporated into the developmental process.
Once dynamic testing begins, the project team must ensure that the appropriate versions of the software components are being tested. The time and effort devoted to testing are wasted if either the incorrect components, or the wrong version of the correct components, have been migrated to the test environment