Given the COVID-19 pandemic and the increasing rate of reported cases each day, we are all attempting to take a proactive approach and precautionary measures to help slow down as much as possible the virus spread. Consequently, working remotely is becoming almost everyone’s new reality 🏡 Everywhere around the globe, more and more organizations and individuals are switching to this working from home mode.
In a reality before the Coronavirus outbreak, some of the most popular working from home jobs were: UI/UX designers, content and technical writers, YouTube producers, crowd testers and even developers!
But what about test automation?!
Test automation is a method for creating automated scripts for testing applications, all in order to eliminate bugs and unwanted behavior. In other words, it’s a software that is supposed to test the validity of another software… Sounds challenging, huh? 🤔 Well, that’s just the tip of the iceberg!
The truth is that applications are becoming more and more complex nowadays. They are multi-targeted (iOS, Android, Web) and release flows have been shortened to a 1 to 2 weeks period (What we now refer to as Agile development).
In order to be able to create and run automated tests within such tight schedules, our automation must be an integral part of the software’s CI/CD flow. And if we want to make sure all of this orchestrates smoothly while working from home – Our test automation team needs to have access to the organization’s resources (especially when working from home), such as: The test automation framework, development management tool, source code (GIT/TFS/other), build servers, Jenkins/TeamCity, deployment environments and more.
And that’s not even all of it… 😥 The remote development environment must be identical to the test execution environment, and the test automation engineer should have all of the dependencies and drivers available and set up! Now, let’s multiply this challenge to a team of 5 or 10 remote test automation experts, working from different geographical locations. You will end up with complete chaos! 🤯
Well, what solutions do we have to manage the chaos?
One solution for dealing with this is by shifting left, thus enforcing developers to perform unit and component testing, while giving up on functional and end-to-end testing. Although unit and component testing are important and have much value in delivering stable code, we still need to incorporate functional testing into our software life cycles. Otherwise, we’d be giving up on a huge portion of necessary tests, and most likely experience unwanted surprises in future releases! 😲🎁
Another possible solution is to provide test automation experts VPN access to all organization resources, enabling remote access to work from home. This is nice but only as a temporary solution, as it encompasses many hidden challenges… All the way from the on-boarding process of the test automation engineer team (access to multiple repositories, Jenkins, pipelines, ‘how do I’ questions, etc); through test automation framework setups (especially when it comes to making things work for the first time 😓); through constant required updates to the framework and test cases; Oh, and don’t get me started on all the endless dependency settings, not making things any easier! Most importantly, in some cases, the basic home internet connection is just not enough to handle all of that, especially when required to upload data back to the office servers and making sure all your colleagues have the latest version.
So, am I saying that working from home in the test automation field is a no-go? Nope, not at all! 😎
Working from home with TestProject, effortlessly
TestProject is the first test automation framework that has been developed by design for teams working remotely or from home, eliminating challenges and increasing testing productivity. It comes as no surprise that 50% of our early adopters were test automation freelancers and companies encouraging their employees to work from home as a standard.
I’ve listed below all the ways TestProject easily overcomes all the challenges test automation engineers and developers might face while working from home:
1. Access to the organization test automation framework
TestProject is the test automation framework and it’s available in the cloud without any need for VPN, consisting of two major components:
- TestProject framework web interface for collaboration, user management, test artifacts, test scripts, test orchestration and reporting purposes.
- TestProject Agent: A single executable that runs on-premise and wraps all the goodies for you (Appium server, Selenium drivers, SDKs, reporter and more). The Agent is required for developing, recording and executing your test automation everywhere!
2. Maintenance and access to the latest test automation scripts
- Your recorded test scripts are automatically saved on the TestProject cloud and the test artifacts uploaded are all stored there as well. No Git or 3rd party source management is required.
- You can create multiple projects and collaborate with your teammates based on the access level they have to a project.
3. Identical deployment environments
TestProject’s Agent is all you need for your test deployment and execution anywhere (both locally and remotely). The orchestration is all taken care of with the TestProject web interface, without having a need for a physical or VPN access to the remote agents themselves.
4. Dependency management
TestProject’s Agent automatically downloads all the dependencies needed for running your tests successfully, including data sources, addons, environmental variables and configurations! This means that once tests run on your Desktop they can also run anywhere a TestProject agent is running.
5. Everything running locally will run anywhere remotely
With TestProject you are not coupled to a specific OS anymore. TestProject makes sure that any test script (no matter on which OS it was created on), will run on any major OS (Linux, macOS, Windows).
6. Sharing resources and remote test execution across the entire organization
Since TestProject’s testing management is in the cloud, and the execution Agents are on-premise or on hosting environments (such as AWS, GCP, Azure) – You can execute your tests everywhere! 🌍 For instance, if you don’t possess specific iOS devices or want to run tests on Safari but don’t possess a Mac – You can utilize your colleague’s machine and execute your tests remotely (all you need to do is make sure his Agent is in ‘public’ and ‘running’ status).
7. Access to test reporting dashboards
TestProject has an extensive reporting dashboard to help you easily debug your tests, identify failed steps immediately, measure quality across historical reports, download PDF reports to send over for management assessment of the product’s quality and even a built-in option to set Slack or email reporting notifications!
8. Cloud executions
- With TestProject it’s easy to execute recorded or coded across multiple browser versions and devices, both real and virtual, using built-in integrations with major cloud providers such as Sauce Labs and BrowserStack.
- You don’t need to bother your DevOps department for any of that! TestProject took has got your back 😉
When initially coming up with the idea of developing TestProject – Our main goal was to make a difference for developers and testers, by simplifying popular open source solutions and creating the best in-class test automation collaboration environment for everyone around the globe! Helping teams to achieve their testing goals, no matter the location or available resources, which now more than ever seems to become even more relevant.
We provide you TestProject with ❤ and absolutely without any costs (Yep, that means FREE!).
Consider it our small contribution to the testing community, we hope you enjoy it and stay safe! 🙏