Test
Automation Effort Estimation |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1.Candidates for Test Automation One of the classical mistakes of the test automation team is: ‘NOT choosing right test cases for automation’. For any smart customer, the test automation scripts are only a support device to manual testing, NOT to bump off the later. In that case, the customer will be more focused on the return on investment (ROI) for each of test automation script built (as the initial investment is high!). So choose the tangible test cases to automate against each phases of development (and demonstrate the same to the customer). How to find good test case Candidates?
Please be aware that step comprises of actions and verification points (or expected results as some spell). Mostly actions are direct method or function calls to test tool scripting language but the verification points are not of that kind. Why do you need phase-wise test automation? Most of the test automation projects fail which is mostly due to application rapid change, unsuitable test cases, shaky frameworks and/or scripting issues. Also it summarizes that test automation projects catch fewer defects than it is supposed to do. ** Mostly budget overrun than estimated. The root casual analysis showed us the necessity of phase-wise test
automation than one-go test automation. So advice that test automation
needs to kick off with critical test cases that are of good candidate
type and then slowly branching out to other mediums as required. This
solution helps the customer by lesser maintenance costs and more business
for you.
3. Grouping steps to determine complexity. This is an important exercise as it may draw wrong overall effort in spite of depth application analysis. STEP 1: Suggest finding number of actions and verifications points for each test case (that are in automation scope) and then draw a chart to find the average actions, verification points and then the control limits for them. So that the complexity derivation will be based on the AUT not based on the generic industry standards. Example,
Recommendations: 1. Neither group test case steps too close, nor wide for labeling the complexity. Be aware that the pre-script development effort for each test script is considerable as the following activities are time-consuming operations:-
These efforts are highly based on the number of steps in the test case. Note that if test case varies by fewer steps, then this effort does not deviate much but incase it varies by many steps even this effort widely differs. 2. Also another factor in determining the complexity is the functionality repetition. If the test case is Complex by steps but the functionality is same as the other test case then this can be labeled as ‘Medium or Simple’ (based on the judgment). 3. If the test case steps count are more than upper control limit (~ 25 in this case) value then those additional steps need to be considered as another test case. For example, the TC - 06 containing 30 steps shall be labeled as ‘1 complex + 1 simple (30-25)’ test cases. If the test case is marked as ‘Complex’ instead of ‘Medium’, understand that your efforts shoot up and hurts your customer. On other way of miscalculation, it hurts us. There by, this ‘complexity grouping’ is more of logical workout with data as input. 4. Framework design & estimation. “We have experienced a significant increase in software reusability and an overall improvement in software quality due to the application programming concepts in the development and (re)use of semi finished software architectures rather than just single components and the bond between them, that is, their interaction.” - Wolfgang Pree [Pree94] There are many frameworks that are available commercially & as
open-source which are specific to a test tool or wide-open. Also you
find homebrew test automation frameworks too specific to test tools.
These frameworks saves a lot of scripting, debugging and maintenance
efforts but aware that the customization of framework (based on the
application) are very essential.
5. Scripting Effort Estimation
Keyword Driven This total effort would vary if you choose key-word driven methodology but at the same time, the effort of building framework will be high (for initial design and scripting).
Overall effort calculation may have the following components:-
All these components shall include review (1/2 cycles). |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||