10 factors needed to schedule the Test Effort
- March 23, 2015
There are various factors that can highly impact the schedule of “test effort”. Below are the most common factors that should be considered before developing the testing schedule for an application. These factors highly impact the testing practices and also the efficiency and productivity of testing engineers.
Test Maturity of Organization
Culture or organization has a strong influence on scheduling of testing activities efforts. Similarly, testing maturity of an organization also has an impact on scheduling the testing effort. Organizations with major practices of process are differently scheduled as compared to the organizations that have no or few processes. Scheduled activities for process-centric organization(s) can have major importance.
Scope of Test Activities
Testing schedule is built according to the scope required for the given application testing. Tests that need to be performed are: functional requirement testing, server performance testing, program module complexity analysis, user interface testing, program module performance testing, program code coverage testing, boundary testing, system load performance testing, security testing, response-time performance testing, smoke testing, memory leak testing, regression testing and usability testing.
Automated test script not only impacts the manual testing efforts but also the overall effort spent in developing applications. Testing activities can impact strategy planning, goal planning, test requirement definition, analysis, design, and coding.
Traits of the Tester
- Skill Level: Testing activities can be scheduled according to the technical skills of resources that are responsible for execution of testing activities. If a team consists of junior-level inexperienced people then the test execution schedule can be extended. It is suggested to have multiple testing skills set.
- Test Tool Proficiency: The use of automated testing introduces a new level of complexity that a project’s test team may not have previously experienced. Test script programming expertise is required and possibly this will be new to the test team, and maybe a few of the test teams have had experience in performing coding. Different tool(s) could be needed for the new project while the test team might be having experience with one kind of an automated test tool.
Business Domain Knowledge
The domain knowledge or the business understanding to the testing team has major importance. How much testing team is familiar with the business requirement of the domain perspective of business? If there is a lack of business knowledge, the time required for scheduling will be extended.
Test Effort Commencement
While starting the testing activities, if test planning is initiated early in the project then it cuts off the major cost of fixing the application. This means that test engineers would be needed in the analysis and design review activities. These reviews can be used as effective testing techniques and analysis/design errors can then be prevented. Test team completely understands requirements and design, managing the most appropriate test environment, and generating a more valuable result in the end. Early involvement not only supports the effective test design, but also includes early detection of errors and prevents migration of errors from requirement specification to design, and then from design to code.
Number of Incremental Software Builds Planned
What is the nature of the application? Has the application been built in incremental fashion or only in few increments? Huge and complex applications that are built in incremental fashion are more lenient to evaluate the regression test for each incremental release. More likely if each regression is automated then it is not only time saving but also economical in terms of man hours. Savings can be done in the further builds of a software application.
Well-defined processes not only improve the efficiency of testing engineers but also have major impact on learning process of junior test engineers. Test schedule is heavily affected if an organization has well defined process. Well defined processes also help in the smooth execution of test activities.
Nature of Applications
What is the nature of the application that is under test? Is the application mission-critical or health critical application or it is just a general application that does not have any critical impact on human life in case of failure or negligence? For example, the performance of software handling a heart monitor in a hospital setting is more dangerous than that of any software of game that entertains people.
Test Development / Execution Schedule
What and how the test effort is scheduled? Is it scheduled with shorter time frames? Performing test execution with shorter time frames may lead to inefficiency in test engineering operation. It can also require the additional test engineering efforts.
Time Availability and Level of Test
What is the time availability to execute the test on application? Also, the extent to which testing is required highly impacts the test execution effort.
Do you know about any other factors that are needed to schedule the Test Effort? If so then feel free to sound off in the comments below!