The Role of Test Lead / Manager is to effectively lead the testing team. To fulfill this role the Lead must understand the discipline of testing and how to effectively implement a testing process while fulfilling the traditional leadership roles of a manager. What does this mean? The manager must manage and implement or maintain an effective testing process. This involves creating a test infrastructure that supports robust communication and a cost effective testing framework.
The Test Lead / Manager is responsible for:
Defining and implementing the role testing plays within the organizational structure.
Defining the scope of testing within the context of each release / delivery.
Deploying and managing the appropriate testing framework to meet the testing mandate.
Implementing and evolving appropriate measurements and metrics.
To be applied against the Product under test.
To be applied against the Testing Team.
Planning, deploying, and managing the testing effort for any given engagement / release.
Managing and growing Testing assets required for meeting the testing mandate:
Retaining skilled testing personnel.
The Test Lead must understand how testing fits into the organizational structure, in other words, clearly define its role within the organization . this is often accomplished by crafting a Mission Statement or a defined Testing Mandate. For example:
"To prevent, detect, record, and manage defects within the context of a defined release."
Now it becomes the task on the Test Lead to communicate and implement effective managerial and testing techniques to support this .simple. mandate. Expectations of your team, your peers (Development Lead, Deployment Lead, and other leads) and your superior need to be set appropriately given the timeframe of the release, the maturity of the development team and testing team. These expectations are usually defined in terms of functional areas deemed to be in Scope or out of Scope. For example:
Create New Customer Profile
Update Customer Profile
Out of Scope:
Backup and Recovery
The definition of Scope will change as you move through the various stages of testing but the key is to ensure that your testing team and the organization as a whole clearly understands what is and what is not being tested for the current release.
The Test Lead / Manager must employ the appropriate Testing Framework or Test Architecture to meet the organizations testing needs. While the Testing Framework requirements for any given organization are difficult to define there are several questions the Test Lead / Manager must ask themselves . the answers to these questions and others will define the short term and long term goals of the Testing Framework.
What is the relationship between product maturity and testing?
- Product is ready for deployment.
- Product is ready to be tested as an integrated whole or system.
- Functional testing can be performed against delivered components.
- Developer can test code as an un-integrated unit.
- Product concept can be captured and reviewed.
- How much more construction is required to complete the product.
- How much of the product has been constructed.
How can the Testing Organization help prevent defects from occurring?
There are really two sides to testing Verification and Validation . unfortunately the meaning of these terms has been defined differently by several governing / regulatory bodies. To put it more succinctly there is testing that can be performed before the product is constructed / built and there are types of testing that can be performed after the product has been constructed / built.
Preventing defects from occurring involves testing before the product is constructed / built. There are several methods for accomplishing this goal. The most powerful and cost effective being Reviews. Reviews can be either formal / technical reviews or peer reviews. Formal product development life cycles will provide the testing team with useful materials / deliverables for the review process. When properly implemented any effective development paradigm should supply these deliverables. For example:
Agile or Extreme
High level Requirements
Testing needs to be involved in this Review process and any defects need to be recorded and managed.
How and when can the Testing Organization detect software defects?
The Testing Organization can detect software defects after the product or some operational segment of it has been delivered. The type of testing to be performed depends on the maturity of the product at the time. The classic hierarchy or sequence of testing is:
User Acceptance Testing
The Testing Team should be involved in at least three of these phases: Design Review, Function Testing, and System Testing.
Functional Testing involves the design, implementation, and execution of test cases against the functional specification and / or functional requirements for the product. This is where the testing team measures the functional implementation against the product intent using well-formulated test cases and notes any discrepancies as defects (faults). For example testing to ensure the web page allows the entry of a new forum member . in this case we are testing to ensure the web page functions as an interface.
System Testing follows much the same course (Design, Implement, execute and defect) but the intent or focus is very different. While Functional Testing focuses on discrete functional requirements System Testing focuses on the flow through the system and the connectivity between related systems. For example testing to ensure the application allows the entry, activation, and recovery of a new forum member . in this case we are testing to ensure the system supports the business. There are several types of System Testing, what is required for any given release should be determined by the Scope:
What are the minimum set of measurements and metrics?
The single most important deliverable the testing team maintains are defects. Defects are arguably the only product the testing team produces that are seen and understood by the project as a whole. This is where the faults against the system are recorded and tracked -- at a bare minimum each defect should contain:
Defect Name / Title
Defect description . What requirement is not being met?
Detail instructions on how to replicate the defect.
Impacted functional area.
Status (Open, Work-in-Progress, Fixed, Closed)
This will then provide the data for a minimal set of metrics:
Number of defects raised
Distribution of defects in terms of severity
Distribution of defects in terms of functional area
From this baseline the measurements and metrics a testing organization maintains are dependent on its maturity and mission statement. The SEI (Software Engineering Institute) Process Maturity Levels apply to testing as much as they do to any Software Engineering discipline:
Initial: (Anarchy) Unpredictable and poorly controlled.
Defined: (Standards) Process characterized, fairly well understood.
Managed: (Measurement) Process measured and controlled.
Optimizing: (Optimization) Focus on process improvement.
How disciplined the testing organization needs to become and what measurements and metrics are required are dependent on a cost benefit analysis by the Test Lead / Manager. What makes sense in terms of the stated goals and previous performance of the testing organization?
How to grow and maintain a Testing Organization?
Managing or leading a testing team is probably one of the most challenging positions in the IT industry. The team is usually understaffed, lacks appropriate tooling, and financing. Deadlines don.t move but the testing phase is continually being pressured by product delays. Motivation and retention of key testing personnel under these conditions is critical . How do you accomplish this seemly impossible task? I can only go by my personal experience both as a lead and a team member:
If the timelines are impacted modify the Test Plan appropriately in terms of Scope.
Clearly communicate the situation to the testing team and project management.
Keep clear lines of communication to Development and project management.
Whenever possible sell, sell, sell the importance and contributions of the Testing Team.
Ensure the testing organization has clearly defined roles for each member of the team and a well-defined career path.
Measure and communicate testing return on investment -- if the detected defect would have reached the field what would have been the cost.
Explain testing expenditures in terms of investment (ROI) not cost.
Finally, never lose your cool -- Good luck.
David W Johnson, A Senior Computer Systems Analyst with over 20 years of experience in Information Technology across several industries having played key roles in business needs analysis, software design, software development, testing, training, implementation, organizational assessments, and support of business solutions. Developed specific expertise over the past 10 years on implementing "Testware" including - test strategies, test planning, test automation, and test management solutions. Experienced in deploying immediate solutions Worldwide, that improve software quality, test efficiency, and test effectiveness. This has led to a unique combination of technical skills, business knowledge, and the ability to apply the "right solution" to meet customer needs. Contact David at DavidWJohnson@Eastlink.ca
All articles are copyrighted and owned by Dev Bistro or their respective owners, all rights reserved. No material may be reproduced electronically or in print without written permission.