Planning and estimation are the two most important aspects of the software development lifecycle. In this blog, we will discuss factors affecting the test estimation of selenium automation, software development lifecycle, automation tool, and framework tools for building a framework. We can interpret that in the software industry, there are no bulletproof procedures for doing anything.
Since every project is limited and has several sets of environmental factors and complexity, executing the estimation and planning strategy should be a collective effort of the individual teams with adequate interventions of management support and seniors.
Estimation can not only be performed for the manual testing process but in this period of automation, estimation techniques are pertained to test automation as well. Presently Selenium is gaining popularity and momentum in the market. Now let’s look at some factors affecting the estimation of selenium automation which should be taken into consideration.
Factors affecting the estimation of selenium automation
The various factors affecting the estimation of selenium automation are explained below:
Scope of the project
Scope typically means recognizing accurate test cases for automation. You should apply the “Divide and rule” technique to achieve it. Then break your application into small modules and examine each of them to come up with suitable test cases for automation.
Let’s look at the steps included are:
- Recognize the diverse factors which will form the ground of identifying the candidate test cases.
- Break the application into tinier modules
- Analyze each module to recognize the candidate test cases
- Calculate ROI
The complexity of the application
Let’s look at the steps involved in the complexity of the application are as follows:
- Determine the size the application establishes based on the number of test cases that require to be automated.
- Size complexity through the Fibonacci cycle.
- Recognize the verification point and checkpoint of every test case
Now we have to define the definition of the big, medium, and small-sized applications. This definition varies from an individual or a group viewpoint. And how you categorize your application relies on the number of test cases.
Use of supporting tools or technologies
Here are the steps involved in the use of supporting tool below:
- Identify the framework and automation desires
- Based on the needs, analyze and identify the tools to be utilized
- Identify the dependencies or significance of using the tool.
Selenium alone is not enough to create a framework or finish the automation. Selenium (Web driver) will just script the test case, however, there are other assignments as well, for example, tracking the logs, reporting the result, taking screenshots, etc.
To fulfil these you require independent tools that will be incorporated with your framework. So it is significant here to recognize these supporting entities which will best suit your necessity and will enable you to get a positive ROI.
Executing the Framework
Let’s look at the steps to execute the framework below:
- Identify the input i.e. the pattern in which information is fed into script and output i.e. reports or test outcomes of your automation suite.
- You should design your input records. This may vary from a simple text file to a complex excel file. It is essentially the file which will have your test data.
- Design the folder structure based on your input parameters and execute the reporting feature
- Determine or implement logger in your framework
- Enforce the framework tools for building a framework
There are many other requirements apart from just scripting in test automation with Selenium, such as tracking the test results, reading the data from a file, tracking logs, etc. So we require a structure that will take care of all these above-mentioned scripts. It is nothing but your framework.
Web applications are difficult by nature because it includes tons of supporting tools and technology to enforce. Similarly, executing the framework in Selenium is also tricky as it comprises other tools to integrate. Since we are aware Selenium is “not” a tool but a group of jar files, it is configured and not “Installed”. Selenium itself is not powerful enough to create a complex framework. It needs a list of third-party tools for constructing a framework.
In Selenium, we have to remember that there is nothing “Ready-made”. For everything, we have to code, so prerequisites in estimation should be there for googling the mistakes and troubleshooting.
Framework building is the most significant factor in your Automation effort. If your framework is strong, enhancement and
maintenance becomes easier particularly in the age of Agile, if your framework is good, you can incorporate your tests in all the sprints effortlessly.
We can say that this specific aspect of designing the Framework should be the most crucial characteristic of estimation. If needed like in difficult applications, this factor should be also broken down into a separate WBS and estimation should be finished.
Learning & Training
Learning Selenium is quite different than learning another automation tool. It essentially includes learning a programming language than just a scripting language. Though script language enables while creating a framework like you wish to write a script that would invoke your automated scripts after achieving the environment setting transformations.
In case you are integrating WebDriver with java, we would say that if one is well informed with core java, they are in extremely good shape, to begin with, Selenium automation. Provisions should be there to learn other technologies along with learning java like Log4J (for Logging), ANT / Maven (for building), reporting, TestNG/jUnit (unit test framework), etc. this list may increase based on the phase of the framework. The more this list grows, the more time it would grab.
If the administration has agreed to go with selenium then these learning exercises can be performed parallel with the planning activity. Because there is no barrier to learning these technologies, it is implied to have a definite plan prepared for the team so that they can begin their process of learning in a particular direction and everybody is on the equal page.
Practically, we testers do not possess a very much keen in learning a complete programming language and we believe this is a developer’s piece of cake. However, now we have to change this psyche and should assess learning the programming language to be equally essential as learning the new testing process. This will not only improve tester’s knowledge about the language and automation but also will provide an opportunity to understand how the application works internally which may heighten their scope to discover new bugs.
Environment set up deals with:-
- Setting up the code in the test environment
- Setting up code in the production environment
- Writing scripts for triggering the automated tests.
- Developing the logic for reporting
- Inaugurating the frequency of running the scripts and developing logic for its execution
- Building text/excel files for entering the test data and test cases
Coding/scripting and review
Before you begin writing your tests, these are the two prerequisites that you should keep in mind:
- Candidate test cases should be handy
- Framework is ready
You should recognize the different actions that your web application does. Take one test case at a time, and identify what all actions that specific test case does and tally hours consequently for each test case. The aggregate of all the hours for the whole test suite will offer you the exact number.
Provisions should be present there for “Review” as well. The reviews are merely the code review which can be accomplished either by a developer or a peer. Pair programming is the perfect option which is rapid, but if it is not feasible, based on the available resources review method, hours should be given for it.
As we have discussed the factors affecting the estimation of selenium automation, do not forget to include Management provision and some buffer time in your ultimate Selenium automation estimation. The best-proven way to perform any estimation is to follow the Work Breakdown Structure (WBS) mechanism. This honestly serves the objective of enforcing the automation estimation needs.