Effective Automation project development using Eclipse Che

Abstract

Typical automation projects developed using an IDE’s (Eclipse, IntelliJ, VSTS etc.) which are installed/Configured on a local machine with all dependencies required for the IDE. Automation project development main phases (Development, Execution) are more dependent on environments and tightly coupled feasibility and expectations. If we overcome the dependency and complex configurations for automation projects (with Serving the requirements), we may save expensive aspects like tool cost, execution time, transition situations etc. for the projects.

The proposal for typical automation project is,

“Configure once, contribute from anywhere any time, reduce time and cost”

  1. Challenges in current UI Automation projects and IDE’s

Typically, automation life cycle in automation project start with understanding and analyse the requirements and the need to start the automation for the project and then will start the feasibility to select a tool and assessment on applicationwhether ready for automation or not, if yes decide the scope. Once we have the feasible report decision will be taken to fix the environments (also this will be provided by product owners) then the other stakeholders will setup the environments.The environment and feasibility report are the main parameters to select a tool.

Once the tool selected Test design, plan and coding will be done. We know when we reaching the feather of a deadline we will be submitting ready deliverables. The developed test scripts should be in executable condition and must provide the expected results, to get this test management and execution flexibility will be provided at this phase. We are investing time on enhancement and adoptability injection phase in automation.

Once the coding part is completed now the challenges start test execution management is required to manage the execution for the completed developed casesafter the execution reaches the feather of expectations another important part for the automation project is flexibility and adaptability for future enhancements project configuration and development and design plan every part should be ready to enhance or should provide a portability to inject new technology or new module in the same project.

Then after this life cycle is successful and reached the feather of expectations, but still it may have many challenging expectations like,

•Scheduled Executions

•Consume minimum time

•No IDE dependent Edits

•Simple configurations

•Easy management

•Cover maximum environments(Compatibility)

scheduled execution,the test should consume minimum time, and all the test should cover maximum environment like Windows Linux Mac and many more also it should provide a very easy management.

To edit the existing code or to change the execution or environment based on the requirement like we need to execute sanity today and tomorrow we may needpartial regression, should not have two different projects but we must have only one project with multiple configurations. This expectation can only fulfill with platform, configuration etc. independency. In our organization many projects, once they are moved to maintenance, this is not only involved or not only works with the new additions to the project also it needs existing aspects to be modified.

When we say existing modifications to the automation development team, team should never say this modification is not possible because they expect the flexibility and in the project with this we can provide even more add-ons to the project. Suppose in automation project development team has been moved out of the project/organization then another resource/s is started involving in the project then we may need to setup everything for the new resource where we do not have choice to say along with resource we can leave project.

The new resource may/may not have knowledge in the technology, tools and frameworks what used in the project. The dependent project will give complexity and consumes time and need licence for the IDE’s if it is paid toolthis is how the problems will be started.

In our organization we have worked on few projects which are having a bottleneck make the process who is it dependent and it’s when we say editor dependent obviously the execution is dependent and the expected environment everything is dependent just one of the expectation will increase when the project is growing. also the configuration of the same project in multiple areas supposed today we have done Windows tomorrow we wanted to make it on Mac for the same test it to provide a simple configuration mechanism make it Immediately.

These are some main expectations where large scale automation projects in our organisation so we need a new powerful solution to fulfill these kind of Expectations there is no limit for the expectations that can be changed by the time. Suppose today we have only 10% scope of the project as the new feature released for the tool what we are using now, we can increase this 10% to 80% by reusability components of the same project then the expectation will be heavy on the same.

Minimum time consumption and maximum environment coverage will give you the challenge to develop portable test scripts. This portability may downgrade the coverage of application and execution or distribution management. Distributed execution cost will be more and dependent then we may need to invest more valuables in transition.

We cannot avoid the transition investment but we can reduce if we have solution for this. Maximum environment strategy is with complex configuration within the project sometimesThere may be configuration leakage in schedule execution.

Suppose, we have 200 configuration aspects to be changed before the executionfor the deferent environment we have done 119 and configuration but we have missed the last configuration aspect in the project then expected result will be failed. So the biggest challenge in in automation projects is to find out these complex processes in the project and provide a smart solution. Each part of the project gives us individual challenges may give you complexity at where you are maintaining the configuration data excel file or property file or data base or cloud machine. Any part of this may give you biggest cause to failure with not loaded/wrongly loaded/redundancy loadedreason.

Organization may create their own strategies to resolve these kind challenges with their own frameworks and self-accelerators. Currently we also can avoid these challenges if we develop the automation project in a test bed where below features are injected,

Work space server

Browser based IDE

Productionruntimes

Online debugging

Lightweight execution environment

Team based development

Syntax analysis

custom commands

These features may not provide strong solution but making use these level of solutions will bring some good expectations. If we have everything has been moved in cloud point or centralised server area including debugging development execution environment extended, then transition period will be reduced and IDE level problems the dependent scripting problems will be resolved by using this way of workspace.

we have few of the tools available with such features those are

and many such kind of a cloud-based also available.

Generally,in automation projects we may have to follow some strict guidelines with respect to the organization or client.

Eclipse Che is a potential tool with all the below features,

  • Production runtimes
  • Development mode your workspace
  • Use any IDE
  • Team Based development
  • Language server protocol
  • Debuggers
  • Run time stack
  • SSH terminal
  • Cloud IDE
  • Restful workspace

If we have powerful advantages of using of this Eclipse IDE we will be getting some fruitful changes in the project. Many of a development projects are adopted already and added some benefits to their bin. same like we can have more than the developers having benefits if we start using this way of tool selection in our automation projects and that will show that we have more powerful technical and ready for next generation automation market.

Finally, we will be expecting some advantages from this way of using. Benefits of Eclipse Che for automation projects are,

  • Browser ID for automation projects
  • Tool cost reduces
  • Reduces the transformation complexity and time
  • Free multiple environment
  • Lightweight runtimes and debuggers

References & Appendix

THANK YOU!